diff --git a/localization/i18n/uk/OrcaSlicer_uk.po b/localization/i18n/uk/OrcaSlicer_uk.po index f256fba815..2a4a84963c 100644 --- a/localization/i18n/uk/OrcaSlicer_uk.po +++ b/localization/i18n/uk/OrcaSlicer_uk.po @@ -4625,7 +4625,7 @@ msgstr "Вигляд зверху" #. TRN To be shown in the main menu View->Bottom msgid "Bottom" -msgstr "Ніз" +msgstr "Низ" msgid "Bottom View" msgstr "Вигляд знизу" diff --git a/scripts/generate_presets_vendors.py b/scripts/generate_presets_vendors.py index 2dd53db53a..ac358ae803 100644 --- a/scripts/generate_presets_vendors.py +++ b/scripts/generate_presets_vendors.py @@ -110,6 +110,7 @@ filament_vendors = [ 'Justmaker', 'Keene Village Plastics', 'Kexcelled', + 'LDO', 'MakerBot', 'MatterHackers', 'MIKA3D', diff --git a/src/libslic3r/Format/bbs_3mf.cpp b/src/libslic3r/Format/bbs_3mf.cpp index 206fc2aacd..f13181ad27 100644 --- a/src/libslic3r/Format/bbs_3mf.cpp +++ b/src/libslic3r/Format/bbs_3mf.cpp @@ -6813,7 +6813,12 @@ void PlateData::parse_filament_info(GCodeProcessorResult *result) return false; } - std::string type = (volume->type() == ModelVolumeType::MODEL_PART)?"model":"other"; + // Orca#7574: always use "model" type to follow the 3MF Core Specification: + // https://github.com/3MFConsortium/spec_core/blob/20c079eef39e45ed223b8443dc9f34cbe32dc2c2/3MF%20Core%20Specification.md#3431-item-element + // > Note: items MUST NOT reference objects of type "other", either directly or recursively. + // This won't break anything because when loading the file Orca (and Bambu) simply does not care about the actual object type at all (as long as it's one of "model" & "other"); + // But PrusaSlicer requires the type to be "model". + std::string type = "model"; output_buffer += " <"; output_buffer += OBJECT_TAG; diff --git a/src/libslic3r/calib.hpp b/src/libslic3r/calib.hpp index b26a000790..19b19cf347 100644 --- a/src/libslic3r/calib.hpp +++ b/src/libslic3r/calib.hpp @@ -266,8 +266,18 @@ public: protected: double speed_first_layer() const { return m_config.option("initial_layer_speed")->value; }; double speed_perimeter() const { return m_config.option("outer_wall_speed")->value; }; - double line_width_first_layer() const { return m_config.get_abs_value("initial_layer_line_width"); }; - double line_width() const { return m_config.get_abs_value("line_width"); }; + double line_width_first_layer() const + { + // TODO: FIXME: find out current filament/extruder? + const double nozzle_diameter = m_config.opt_float("nozzle_diameter", 0); + return m_config.get_abs_value("initial_layer_line_width", nozzle_diameter); + }; + double line_width() const + { + // TODO: FIXME: find out current filament/extruder? + const double nozzle_diameter = m_config.opt_float("nozzle_diameter", 0); + return m_config.get_abs_value("line_width", nozzle_diameter); + }; int wall_count() const { return m_config.option("wall_loops")->value; }; private: diff --git a/src/slic3r/GUI/CreatePresetsDialog.cpp b/src/slic3r/GUI/CreatePresetsDialog.cpp index 6606d5f5f5..4161afc573 100644 --- a/src/slic3r/GUI/CreatePresetsDialog.cpp +++ b/src/slic3r/GUI/CreatePresetsDialog.cpp @@ -50,14 +50,14 @@ static const std::vector filament_vendors = "Fil X", "GEEETECH", "Giantarm", "Gizmo Dorks", "GreenGate3D", "HATCHBOX", "Hello3D", "IC3D", "IEMAI", "IIID Max", "INLAND", "iProspect", "iSANMATE", "Justmaker", "Keene Village Plastics", - "Kexcelled", "MakerBot", "MatterHackers", "MIKA3D", "NinjaTek", - "Nobufil", "Novamaker", "OVERTURE", "OVVNYXE", "Polymaker", - "Priline", "Printed Solid", "Protopasta", "Prusament", "Push Plastic", - "R3D", "Re-pet3D", "Recreus", "Regen", "RatRig", - "Sain SMART", "SliceWorx", "Snapmaker", "SnoLabs", "Spectrum", - "SUNLU", "TTYT3D", "Tianse", "UltiMaker", "Valment", - "Verbatim", "VO3D", "Voxelab", "VOXELPLA", "YOOPAI", - "Yousu", "Ziro", "Zyltech"}; + "Kexcelled", "LDO", "MakerBot", "MatterHackers", "MIKA3D", + "NinjaTek", "Nobufil", "Novamaker", "OVERTURE", "OVVNYXE", + "Polymaker", "Priline", "Printed Solid", "Protopasta", "Prusament", + "Push Plastic", "R3D", "Re-pet3D", "Recreus", "Regen", + "RatRig", "Sain SMART", "SliceWorx", "Snapmaker", "SnoLabs", + "Spectrum", "SUNLU", "TTYT3D", "Tianse", "UltiMaker", + "Valment", "Verbatim", "VO3D", "Voxelab", "VOXELPLA", + "YOOPAI", "Yousu", "Ziro", "Zyltech"}; static const std::vector filament_types = {"PLA", "rPLA", "PLA+", "PLA Tough", "PETG", "ABS", "ASA", "FLEX", "HIPS", "PA", "PACF", "NYLON", "PVA", "PVB", "PC", "PCABS", "PCTG", "PCCF", "PHA", "PP", "PEI", "PET", diff --git a/src/slic3r/GUI/ImageGrid.cpp b/src/slic3r/GUI/ImageGrid.cpp index 15adf8c8ca..ebfdb33ea4 100644 --- a/src/slic3r/GUI/ImageGrid.cpp +++ b/src/slic3r/GUI/ImageGrid.cpp @@ -652,7 +652,8 @@ void Slic3r::GUI::ImageGrid::renderContent1(wxDC &dc, wxPoint const &pt, int ind if (hit) { texts.Add(_L("Delete")); texts.Add(secondAction); - texts.Add(thirdAction); + if (!thirdAction.IsEmpty()) + texts.Add(thirdAction); renderButtons(dc, texts, rect, m_hit_type == HIT_ACTION ? m_hit_item & 3 : -1, states); } else if (!nonHoverText.IsEmpty()) { texts.Add(nonHoverText);