From 7b9c66278572ea49e4f5b21e3d23d443731ace74 Mon Sep 17 00:00:00 2001 From: HellAholic Date: Sun, 1 Dec 2024 16:35:19 +0100 Subject: [PATCH 01/27] add resolveOrValue --- resources/definitions/sovol_base_bowden.def.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/definitions/sovol_base_bowden.def.json b/resources/definitions/sovol_base_bowden.def.json index 670b24fffc..0f389a25f8 100644 --- a/resources/definitions/sovol_base_bowden.def.json +++ b/resources/definitions/sovol_base_bowden.def.json @@ -10,6 +10,6 @@ "overrides": { "retraction_amount": { "default_value": 5 }, - "retraction_speed": { "value": "machine_max_feedrate_e" } + "retraction_speed": { "value": "resolveOrValue('machine_max_feedrate_e')" } } } \ No newline at end of file From ef8ddcfbe7bc5a72dd4598aa978a606352d16791 Mon Sep 17 00:00:00 2001 From: HellAholic Date: Mon, 2 Dec 2024 08:59:00 +0100 Subject: [PATCH 02/27] bump version --- resources/definitions/sovol_base_bowden.def.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/definitions/sovol_base_bowden.def.json b/resources/definitions/sovol_base_bowden.def.json index 0f389a25f8..1f359c3dc0 100644 --- a/resources/definitions/sovol_base_bowden.def.json +++ b/resources/definitions/sovol_base_bowden.def.json @@ -1,5 +1,5 @@ { - "version": 2, + "version": 3, "name": "Sovol Base Bowden Printer", "inherits": "sovol_base", "metadata": @@ -12,4 +12,4 @@ "retraction_amount": { "default_value": 5 }, "retraction_speed": { "value": "resolveOrValue('machine_max_feedrate_e')" } } -} \ No newline at end of file +} From 63f91fa56334426119d0bd1b61b6bf18acba666d Mon Sep 17 00:00:00 2001 From: HellAholic Date: Mon, 2 Dec 2024 08:00:18 +0000 Subject: [PATCH 03/27] Applied printer-linter format --- resources/definitions/sovol_base_bowden.def.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/definitions/sovol_base_bowden.def.json b/resources/definitions/sovol_base_bowden.def.json index 1f359c3dc0..ad03842a47 100644 --- a/resources/definitions/sovol_base_bowden.def.json +++ b/resources/definitions/sovol_base_bowden.def.json @@ -12,4 +12,4 @@ "retraction_amount": { "default_value": 5 }, "retraction_speed": { "value": "resolveOrValue('machine_max_feedrate_e')" } } -} +} \ No newline at end of file From f9e138d4c590c922a82e92eba624d1500ccf9f4b Mon Sep 17 00:00:00 2001 From: Erwan MATHIEU Date: Tue, 10 Dec 2024 12:53:50 +0100 Subject: [PATCH 04/27] Add setting for multi-value overhang speed reduction CURA-11966 --- resources/definitions/fdmprinter.def.json | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index c930a624d0..6b46fc645e 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -8412,6 +8412,15 @@ "minimum_value_warning": "25", "settable_per_mesh": true }, + "wall_overhang_speed_factors": + { + "label": "Overhanging Wall Speeds", + "description": "Overhanging walls will be printed at a percentage of their normal print speed. You can specify multiple values, so that even more overhanging walls will be printed even slower, e.g. by setting '[75, 50, 25]'.", + "unit": "%", + "type": "[int]", + "default_value": "[100]", + "settable_per_mesh": true + }, "bridge_settings_enabled": { "label": "Enable Bridge Settings", From d5b4cad205b18cdb07ba7d4e6edad3376c0deb01 Mon Sep 17 00:00:00 2001 From: Erwan MATHIEU Date: Thu, 12 Dec 2024 15:59:48 +0100 Subject: [PATCH 05/27] Improve setting description CURA-11966 --- resources/definitions/fdmprinter.def.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 6b46fc645e..1f3c376275 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -8415,7 +8415,7 @@ "wall_overhang_speed_factors": { "label": "Overhanging Wall Speeds", - "description": "Overhanging walls will be printed at a percentage of their normal print speed. You can specify multiple values, so that even more overhanging walls will be printed even slower, e.g. by setting '[75, 50, 25]'.", + "description": "Overhanging walls will be printed at a percentage of their normal print speed. You can specify multiple values, so that even more overhanging walls will be printed even slower, e.g. by setting [75, 50, 25]", "unit": "%", "type": "[int]", "default_value": "[100]", From 9735bcf64bdba68bea15762b09573c517a336918 Mon Sep 17 00:00:00 2001 From: Erwan MATHIEU Date: Fri, 13 Dec 2024 11:39:37 +0100 Subject: [PATCH 06/27] Remove previous single overhang angle --- resources/definitions/fdmprinter.def.json | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 1f3c376275..08bfe11d31 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -8401,17 +8401,6 @@ "value": "support_angle", "settable_per_mesh": true }, - "wall_overhang_speed_factor": - { - "label": "Overhanging Wall Speed", - "description": "Overhanging walls will be printed at this percentage of their normal print speed.", - "unit": "%", - "type": "float", - "default_value": 100, - "minimum_value": "0.001", - "minimum_value_warning": "25", - "settable_per_mesh": true - }, "wall_overhang_speed_factors": { "label": "Overhanging Wall Speeds", From a758ebb020887920856e2a4945daa048f7a3d721 Mon Sep 17 00:00:00 2001 From: wawanbreton Date: Fri, 13 Dec 2024 10:40:54 +0000 Subject: [PATCH 07/27] Applied printer-linter format --- Cura-workflows | 1 + pydir.txt | 1 + 2 files changed, 2 insertions(+) create mode 160000 Cura-workflows create mode 100644 pydir.txt diff --git a/Cura-workflows b/Cura-workflows new file mode 160000 index 0000000000..5f7ee07a49 --- /dev/null +++ b/Cura-workflows @@ -0,0 +1 @@ +Subproject commit 5f7ee07a49ed3a08c1f2ad00c6150908f632b7e9 diff --git a/pydir.txt b/pydir.txt new file mode 100644 index 0000000000..8b13789179 --- /dev/null +++ b/pydir.txt @@ -0,0 +1 @@ + From 8fc93278dc304df84adfda9002c15466b44b90ef Mon Sep 17 00:00:00 2001 From: Erwan MATHIEU Date: Mon, 16 Dec 2024 13:18:48 +0100 Subject: [PATCH 08/27] Revert "Applied printer-linter format" This reverts commit a758ebb020887920856e2a4945daa048f7a3d721. --- Cura-workflows | 1 - pydir.txt | 1 - 2 files changed, 2 deletions(-) delete mode 160000 Cura-workflows delete mode 100644 pydir.txt diff --git a/Cura-workflows b/Cura-workflows deleted file mode 160000 index 5f7ee07a49..0000000000 --- a/Cura-workflows +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 5f7ee07a49ed3a08c1f2ad00c6150908f632b7e9 diff --git a/pydir.txt b/pydir.txt deleted file mode 100644 index 8b13789179..0000000000 --- a/pydir.txt +++ /dev/null @@ -1 +0,0 @@ - From 078fccc8393eb11f254948549312b17d8b2d32b3 Mon Sep 17 00:00:00 2001 From: Erwan MATHIEU Date: Mon, 16 Dec 2024 13:25:41 +0100 Subject: [PATCH 09/27] Add setting for minimum layer time with overhang CURA-12352 --- resources/definitions/fdmprinter.def.json | 13 +++++++++++++ resources/setting_visibility/expert.cfg | 1 + 2 files changed, 14 insertions(+) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 08bfe11d31..098ab7ec58 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -4699,6 +4699,19 @@ "settable_per_mesh": false, "settable_per_extruder": true }, + "cool_min_layer_time_overhang": + { + "label": "Minimum Layer Time with Overhang", + "description": "The minimum time spent in a layer that contains overhanging extrusions. This forces the printer to slow down, to at least spend the time set here in one layer. This allows the printed material to cool down properly before printing the next layer. Layers may still take shorter than the minimal layer time if Lift Head is disabled and if the Minimum Speed would otherwise be violated.", + "unit": "s", + "type": "float", + "default_value": 5, + "value": "cool_min_layer_time", + "minimum_value": "0", + "maximum_value_warning": "600", + "settable_per_mesh": false, + "settable_per_extruder": true + }, "cool_min_speed": { "label": "Minimum Speed", diff --git a/resources/setting_visibility/expert.cfg b/resources/setting_visibility/expert.cfg index b13618e5c1..a070b28041 100644 --- a/resources/setting_visibility/expert.cfg +++ b/resources/setting_visibility/expert.cfg @@ -248,6 +248,7 @@ cool_fan_speed_0 cool_fan_full_at_height cool_fan_full_layer cool_min_layer_time +cool_min_layer_time_overhang cool_min_speed cool_lift_head cool_during_extruder_switch From 0917f10105fe35a3f71ffe1bffc13f716fb9453a Mon Sep 17 00:00:00 2001 From: Frederic98 <13856291+Frederic98@users.noreply.github.com> Date: Thu, 19 Dec 2024 11:43:29 +0100 Subject: [PATCH 10/27] Fix cloud connection for Sketch Sprint and Large --- cura/PrinterOutput/FormatMaps.py | 4 +++- plugins/UM3NetworkPrinting/src/Cloud/CloudOutputDevice.py | 2 +- plugins/UM3NetworkPrinting/src/Cloud/machine_id_to_name.json | 4 +++- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/cura/PrinterOutput/FormatMaps.py b/cura/PrinterOutput/FormatMaps.py index 3a03da71fd..3bb6263a28 100644 --- a/cura/PrinterOutput/FormatMaps.py +++ b/cura/PrinterOutput/FormatMaps.py @@ -13,7 +13,9 @@ class FormatMaps: "fire_e": "ultimaker_method", "lava_f": "ultimaker_methodx", "magma_10": "ultimaker_methodxl", - "sketch": "ultimaker_sketch" + "sketch": "ultimaker_sketch", + "sketch_large": "ultimaker_sketch_large", + "sketch_sprint": "ultimaker_sketch_sprint" } # A map from the extruder-name in their native file-formats to the internal name we use. diff --git a/plugins/UM3NetworkPrinting/src/Cloud/CloudOutputDevice.py b/plugins/UM3NetworkPrinting/src/Cloud/CloudOutputDevice.py index 4ca83772f2..090355a3c0 100644 --- a/plugins/UM3NetworkPrinting/src/Cloud/CloudOutputDevice.py +++ b/plugins/UM3NetworkPrinting/src/Cloud/CloudOutputDevice.py @@ -331,7 +331,7 @@ class CloudOutputDevice(UltimakerNetworkedPrinterOutputDevice): return False [printer, *_] = self._printers - return printer.type in ("MakerBot Method X", "MakerBot Method XL", "MakerBot Sketch") + return printer.type in ("MakerBot Method", "MakerBot Method X", "MakerBot Method XL", "MakerBot Sketch", "MakerBot Sketch Large", "MakerBot Sketch Sprint") @pyqtProperty(bool, notify=_cloudClusterPrintersChanged) def supportsPrintJobActions(self) -> bool: diff --git a/plugins/UM3NetworkPrinting/src/Cloud/machine_id_to_name.json b/plugins/UM3NetworkPrinting/src/Cloud/machine_id_to_name.json index 9d0db2a30d..6b99f74062 100644 --- a/plugins/UM3NetworkPrinting/src/Cloud/machine_id_to_name.json +++ b/plugins/UM3NetworkPrinting/src/Cloud/machine_id_to_name.json @@ -3,5 +3,7 @@ "ultimaker_methodx": "MakerBot Method X", "ultimaker_methodxl": "MakerBot Method XL", "ultimaker_factor4": "Ultimaker Factor 4", - "ultimaker_sketch": "MakerBot Sketch" + "ultimaker_sketch": "MakerBot Sketch", + "ultimaker_sketch_large": "MakerBot Sketch Large", + "ultimaker_sketch_sprint": "MakerBot Sketch Sprint" } From 66402ff93c19d684d82c10a87b2a3a08f47b0630 Mon Sep 17 00:00:00 2001 From: Erwan MATHIEU Date: Thu, 9 Jan 2025 09:19:41 +0100 Subject: [PATCH 11/27] Use single extruder when exporting for Replicator+ CURA-12313 --- conandata.yml | 2 +- plugins/MakerbotWriter/MakerbotWriter.py | 9 +++++++++ plugins/MakerbotWriter/__init__.py | 6 ++++++ 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/conandata.yml b/conandata.yml index 6bec3ee231..36fd494356 100644 --- a/conandata.yml +++ b/conandata.yml @@ -5,7 +5,7 @@ requirements: - "curaengine/5.10.0-alpha.0@ultimaker/testing" - "cura_binary_data/5.10.0-alpha.0@ultimaker/testing" - "fdm_materials/5.10.0-alpha.0@ultimaker/testing" - - "dulcificum/0.2.1@ultimaker/stable" + - "dulcificum/0.3.0@ultimaker/cura_12313" - "pysavitar/5.4.0-alpha.0@ultimaker/stable" - "pynest2d/5.4.0-alpha.0@ultimaker/stable" requirements_internal: diff --git a/plugins/MakerbotWriter/MakerbotWriter.py b/plugins/MakerbotWriter/MakerbotWriter.py index 5c655dc8cc..f35b53a84d 100644 --- a/plugins/MakerbotWriter/MakerbotWriter.py +++ b/plugins/MakerbotWriter/MakerbotWriter.py @@ -46,6 +46,13 @@ class MakerbotWriter(MeshWriter): suffixes=["makerbot"] ) ) + MimeTypeDatabase.addMimeType( + MimeType( + name="application/x-makerbot-replicator_plus", + comment="Makerbot Toolpath Package", + suffixes=["makerbot"] + ) + ) _PNG_FORMAT = [ {"prefix": "isometric_thumbnail", "width": 120, "height": 120}, @@ -114,6 +121,8 @@ class MakerbotWriter(MeshWriter): filename, filedata = "print.gcode", gcode_text_io.getvalue() case "application/x-makerbot": filename, filedata = "print.jsontoolpath", du.gcode_2_miracle_jtp(gcode_text_io.getvalue()) + case "application/x-makerbot-replicator_plus": + filename, filedata = "print.jsontoolpath", du.gcode_2_miracle_jtp(gcode_text_io.getvalue(), nb_extruders=1) case _: raise Exception("Unsupported Mime type") diff --git a/plugins/MakerbotWriter/__init__.py b/plugins/MakerbotWriter/__init__.py index 60f232fbc0..bd766add8e 100644 --- a/plugins/MakerbotWriter/__init__.py +++ b/plugins/MakerbotWriter/__init__.py @@ -25,6 +25,12 @@ def getMetaData(): "description": catalog.i18nc("@item:inlistbox", "Makerbot Sketch Printfile"), "mime_type": "application/x-makerbot-sketch", "mode": MakerbotWriter.MakerbotWriter.OutputMode.BinaryMode, + }, + { + "extension": file_extension, + "description": catalog.i18nc("@item:inlistbox", "Makerbot Replicator+ Printfile"), + "mime_type": "application/x-makerbot-replicator_plus", + "mode": MakerbotWriter.MakerbotWriter.OutputMode.BinaryMode, } ] }, From 3276fc2eb6e00c1e258967fc0382451321dbd3d6 Mon Sep 17 00:00:00 2001 From: Erwan MATHIEU Date: Thu, 9 Jan 2025 13:54:58 +0100 Subject: [PATCH 12/27] Add setting to filter out layers that have small overhanging faetures CURA-12352 --- resources/definitions/fdmprinter.def.json | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 098ab7ec58..67e9a8439a 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -4712,6 +4712,18 @@ "settable_per_mesh": false, "settable_per_extruder": true }, + "cool_min_layer_time_overhang_min_segment_length": + { + "label": "Minimum Overhang Segment Length", + "description": "When trying to apply the minimum layer time specific for overhanging layers, it will be applied only if at least one consecutive overhanging extrusion move is longer than this value.", + "unit": "mm", + "type": "float", + "default_value": 5, + "minimum_value": "0", + "maximum_value_warning": "500", + "settable_per_mesh": false, + "settable_per_extruder": true + }, "cool_min_speed": { "label": "Minimum Speed", From 2db4d16a80bb0b449871399b8d236205e58c09b9 Mon Sep 17 00:00:00 2001 From: Remco Burema Date: Thu, 16 Jan 2025 13:26:08 +0100 Subject: [PATCH 13/27] Update altered overhang wall-speed setting to new version. part of CURA-12352 --- resources/definitions/ankermake_m5.def.json | 2 +- resources/definitions/ankermake_m5c.def.json | 2 +- resources/definitions/atmat_signal_pro_base.def.json | 2 +- resources/definitions/blocks_base.def.json | 2 +- resources/definitions/gutenberg_base.def.json | 2 +- resources/definitions/lotmaxx_sc60.def.json | 2 +- resources/definitions/snakeoil_standard_base.def.json | 2 +- resources/definitions/ultimaker_sketch_sprint.def.json | 4 ++-- resources/definitions/voron2_base.def.json | 2 +- resources/definitions/vzbot_base.def.json | 2 +- resources/quality/flsun_v400/flsun_v400_normal.inst.cfg | 2 +- .../ultimaker_methodx/um_methodx_1c_um-abs-175_0.2mm.inst.cfg | 2 +- .../um_methodx_1c_um-abscf-175_0.2mm.inst.cfg | 2 +- .../um_methodx_1c_um-absr-175_0.2mm.inst.cfg | 2 +- .../ultimaker_methodx/um_methodx_1c_um-asa-175_0.2mm.inst.cfg | 2 +- .../um_methodx_1xa_um-abs-175_0.2mm.inst.cfg | 2 +- .../um_methodx_1xa_um-absr-175_0.2mm.inst.cfg | 2 +- .../um_methodx_1xa_um-asa-175_0.2mm.inst.cfg | 2 +- .../um_methodx_labs_polymaker-polymax-pc-175_0.2mm.inst.cfg | 2 +- .../um_methodx_labs_um-abs-175_0.2mm.inst.cfg | 2 +- .../um_methodx_labs_um-abscf-175_0.2mm.inst.cfg | 2 +- .../um_methodx_labs_um-absr-175_0.2mm.inst.cfg | 2 +- .../um_methodx_labs_um-asa-175_0.2mm.inst.cfg | 2 +- .../um_methodxl_1c_um-abs-175_0.2mm.inst.cfg | 2 +- .../um_methodxl_1c_um-abscf-175_0.2mm.inst.cfg | 2 +- .../um_methodxl_1c_um-absr-175_0.2mm.inst.cfg | 2 +- .../um_methodxl_1c_um-asa-175_0.2mm.inst.cfg | 2 +- .../um_methodxl_1xa_um-abs-175_0.2mm.inst.cfg | 2 +- .../um_methodxl_1xa_um-absr-175_0.2mm.inst.cfg | 2 +- .../um_methodxl_1xa_um-asa-175_0.2mm.inst.cfg | 2 +- .../um_methodxl_labs_polymaker-polymax-pc-175_0.2mm.inst.cfg | 2 +- .../um_methodxl_labs_um-abs-175_0.2mm.inst.cfg | 2 +- .../um_methodxl_labs_um-abscf-175_0.2mm.inst.cfg | 2 +- .../um_methodxl_labs_um-absr-175_0.2mm.inst.cfg | 2 +- .../um_methodxl_labs_um-asa-175_0.2mm.inst.cfg | 2 +- 35 files changed, 36 insertions(+), 36 deletions(-) diff --git a/resources/definitions/ankermake_m5.def.json b/resources/definitions/ankermake_m5.def.json index 4a70851e33..5e4d77cf39 100644 --- a/resources/definitions/ankermake_m5.def.json +++ b/resources/definitions/ankermake_m5.def.json @@ -120,7 +120,7 @@ "support_z_distance": { "value": "layer_height * 2" }, "top_bottom_thickness": { "value": "layer_height * 4" }, "wall_overhang_angle": { "value": 55 }, - "wall_overhang_speed_factor": { "value": 55 }, + "wall_overhang_speed_factors": { "value": [55] }, "zig_zaggify_infill": { "value": "infill_pattern == 'cross' or infill_pattern == 'cross_3d' or infill_pattern == 'lines'" } } } \ No newline at end of file diff --git a/resources/definitions/ankermake_m5c.def.json b/resources/definitions/ankermake_m5c.def.json index 131bd6bd7a..ade5c3f40c 100644 --- a/resources/definitions/ankermake_m5c.def.json +++ b/resources/definitions/ankermake_m5c.def.json @@ -238,7 +238,7 @@ "wall_extruder_nr": { "value": -1 }, "wall_line_width_0": { "value": 0.44 }, "wall_overhang_angle": { "value": 45 }, - "wall_overhang_speed_factor": { "value": 40 }, + "wall_overhang_speed_factors": { "value": [40] }, "wall_thickness": { "value": 0.84 }, "wall_x_extruder_nr": { "value": -1 }, "zig_zaggify_infill": { "value": true } diff --git a/resources/definitions/atmat_signal_pro_base.def.json b/resources/definitions/atmat_signal_pro_base.def.json index cd59e1c169..78eccf4a56 100644 --- a/resources/definitions/atmat_signal_pro_base.def.json +++ b/resources/definitions/atmat_signal_pro_base.def.json @@ -167,7 +167,7 @@ "travel_avoid_supports": { "value": "True" }, "wall_line_width": { "value": "machine_nozzle_size" }, "wall_overhang_angle": { "value": "75" }, - "wall_overhang_speed_factor": { "value": "50" }, + "wall_overhang_speed_factors": { "value": [50] }, "zig_zaggify_infill": { "value": "True" } } } \ No newline at end of file diff --git a/resources/definitions/blocks_base.def.json b/resources/definitions/blocks_base.def.json index fde5f912da..64e4213d5f 100644 --- a/resources/definitions/blocks_base.def.json +++ b/resources/definitions/blocks_base.def.json @@ -107,7 +107,7 @@ "travel_retract_before_outer_wall": { "value": true }, "wall_0_wipe_dist": { "value": 0.0 }, "wall_overhang_angle": { "default_value": 75 }, - "wall_overhang_speed_factor": { "default_value": 50 }, + "wall_overhang_speed_factors": { "default_value": "[50]" }, "wall_thickness": { "value": "line_width * 2" }, "z_seam_corner": { "value": "'z_seam_corner_weighted'" }, "z_seam_type": { "value": "'back'" } diff --git a/resources/definitions/gutenberg_base.def.json b/resources/definitions/gutenberg_base.def.json index f0329bef6d..b1d0e76686 100644 --- a/resources/definitions/gutenberg_base.def.json +++ b/resources/definitions/gutenberg_base.def.json @@ -109,7 +109,7 @@ "travel_avoid_other_parts": { "default_value": false }, "wall_line_width": { "value": "machine_nozzle_size" }, "wall_overhang_angle": { "default_value": 75 }, - "wall_overhang_speed_factor": { "default_value": 50 }, + "wall_overhang_speed_factors": { "default_value": [50] }, "zig_zaggify_infill": { "value": true } } } \ No newline at end of file diff --git a/resources/definitions/lotmaxx_sc60.def.json b/resources/definitions/lotmaxx_sc60.def.json index f4ce358be1..f6deef1358 100644 --- a/resources/definitions/lotmaxx_sc60.def.json +++ b/resources/definitions/lotmaxx_sc60.def.json @@ -61,7 +61,7 @@ "support_pattern": { "default_value": "lines" }, "switch_extruder_retraction_amount": { "value": 100 }, "switch_extruder_retraction_speeds": { "value": 60 }, - "wall_overhang_speed_factor": { "value": 50 }, + "wall_overhang_speed_factors": { "value": [50] }, "z_seam_corner": { "default_value": "z_seam_corner_any" }, "z_seam_relative": { "value": true }, "z_seam_type": { "default_value": "sharpest_corner" }, diff --git a/resources/definitions/snakeoil_standard_base.def.json b/resources/definitions/snakeoil_standard_base.def.json index 700edf3d35..59faf27d3b 100644 --- a/resources/definitions/snakeoil_standard_base.def.json +++ b/resources/definitions/snakeoil_standard_base.def.json @@ -109,7 +109,7 @@ "travel_avoid_other_parts": { "default_value": false }, "wall_line_width": { "value": "machine_nozzle_size" }, "wall_overhang_angle": { "default_value": 75 }, - "wall_overhang_speed_factor": { "default_value": 50 }, + "wall_overhang_speed_factors": { "default_value": [50] }, "zig_zaggify_infill": { "value": true } } } \ No newline at end of file diff --git a/resources/definitions/ultimaker_sketch_sprint.def.json b/resources/definitions/ultimaker_sketch_sprint.def.json index cde655e70f..66a4a44268 100644 --- a/resources/definitions/ultimaker_sketch_sprint.def.json +++ b/resources/definitions/ultimaker_sketch_sprint.def.json @@ -380,10 +380,10 @@ "wall_0_wipe_dist": { "value": 0.2 }, "wall_line_width_x": { "value": 0.58 }, "wall_overhang_angle": { "value": 35 }, - "wall_overhang_speed_factor": + "wall_overhang_speed_factors": { "minimum_value_warning": 15, - "value": 17.5 + "value": [18] }, "wall_thickness": { "value": 1 }, "wall_x_material_flow_layer_0": { "value": "material_flow" }, diff --git a/resources/definitions/voron2_base.def.json b/resources/definitions/voron2_base.def.json index dc6cd255bb..a8cd73a3c5 100644 --- a/resources/definitions/voron2_base.def.json +++ b/resources/definitions/voron2_base.def.json @@ -119,7 +119,7 @@ "travel_avoid_other_parts": { "default_value": false }, "wall_line_width": { "value": "machine_nozzle_size" }, "wall_overhang_angle": { "default_value": 75 }, - "wall_overhang_speed_factor": { "default_value": 50 }, + "wall_overhang_speed_factors": { "default_value": [50] }, "zig_zaggify_infill": { "value": true } } } \ No newline at end of file diff --git a/resources/definitions/vzbot_base.def.json b/resources/definitions/vzbot_base.def.json index 4efdbc2f66..cc44dbc6c6 100644 --- a/resources/definitions/vzbot_base.def.json +++ b/resources/definitions/vzbot_base.def.json @@ -195,7 +195,7 @@ "travel_avoid_other_parts": { "default_value": false }, "wall_line_width": { "value": "machine_nozzle_size" }, "wall_overhang_angle": { "default_value": 75 }, - "wall_overhang_speed_factor": { "default_value": 50 }, + "wall_overhang_speed_factors": { "default_value": [50] }, "xy_offset_layer_0": { "value": -0.3 }, "z_seam_type": { "value": "'back'" }, "zig_zaggify_infill": { "value": true } diff --git a/resources/quality/flsun_v400/flsun_v400_normal.inst.cfg b/resources/quality/flsun_v400/flsun_v400_normal.inst.cfg index 50ed6266a0..d058a2d219 100644 --- a/resources/quality/flsun_v400/flsun_v400_normal.inst.cfg +++ b/resources/quality/flsun_v400/flsun_v400_normal.inst.cfg @@ -115,7 +115,7 @@ travel_avoid_other_parts = True travel_avoid_supports = True travel_retract_before_outer_wall = False wall_overhang_angle = 35.0 -wall_overhang_speed_factor = 60.0 +wall_overhang_speed_factors = [60] wall_thickness = =line_width*2 z_seam_corner = z_seam_corner_inner z_seam_position = backright diff --git a/resources/quality/ultimaker_methodx/um_methodx_1c_um-abs-175_0.2mm.inst.cfg b/resources/quality/ultimaker_methodx/um_methodx_1c_um-abs-175_0.2mm.inst.cfg index 4f5ae8282d..cf7eab6e73 100644 --- a/resources/quality/ultimaker_methodx/um_methodx_1c_um-abs-175_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_methodx/um_methodx_1c_um-abs-175_0.2mm.inst.cfg @@ -59,5 +59,5 @@ support_xy_overrides_z = xy_overrides_z support_z_distance = 0.15 top_skin_expand_distance = 2.4 wall_overhang_angle = 30 -wall_overhang_speed_factor = 40 +wall_overhang_speed_factors = [40] diff --git a/resources/quality/ultimaker_methodx/um_methodx_1c_um-abscf-175_0.2mm.inst.cfg b/resources/quality/ultimaker_methodx/um_methodx_1c_um-abscf-175_0.2mm.inst.cfg index 0ff8f11091..f0eafdde7e 100644 --- a/resources/quality/ultimaker_methodx/um_methodx_1c_um-abscf-175_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_methodx/um_methodx_1c_um-abscf-175_0.2mm.inst.cfg @@ -52,5 +52,5 @@ support_xy_distance = 0.3 support_xy_distance_overhang = 0.25 support_z_distance = 0.15 wall_overhang_angle = 30 -wall_overhang_speed_factor = 50 +wall_overhang_speed_factors = [50] diff --git a/resources/quality/ultimaker_methodx/um_methodx_1c_um-absr-175_0.2mm.inst.cfg b/resources/quality/ultimaker_methodx/um_methodx_1c_um-absr-175_0.2mm.inst.cfg index ff1861c695..057ae522ed 100644 --- a/resources/quality/ultimaker_methodx/um_methodx_1c_um-absr-175_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_methodx/um_methodx_1c_um-absr-175_0.2mm.inst.cfg @@ -58,5 +58,5 @@ support_xy_overrides_z = xy_overrides_z support_z_distance = 0.15 top_skin_expand_distance = 2.4 wall_overhang_angle = 30 -wall_overhang_speed_factor = 40 +wall_overhang_speed_factors = [40] diff --git a/resources/quality/ultimaker_methodx/um_methodx_1c_um-asa-175_0.2mm.inst.cfg b/resources/quality/ultimaker_methodx/um_methodx_1c_um-asa-175_0.2mm.inst.cfg index fe6c6fa10c..7e03bcd23c 100644 --- a/resources/quality/ultimaker_methodx/um_methodx_1c_um-asa-175_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_methodx/um_methodx_1c_um-asa-175_0.2mm.inst.cfg @@ -57,5 +57,5 @@ support_xy_overrides_z = xy_overrides_z support_z_distance = 0.15 top_skin_expand_distance = 2.4 wall_overhang_angle = 30 -wall_overhang_speed_factor = 40 +wall_overhang_speed_factors = [40] diff --git a/resources/quality/ultimaker_methodx/um_methodx_1xa_um-abs-175_0.2mm.inst.cfg b/resources/quality/ultimaker_methodx/um_methodx_1xa_um-abs-175_0.2mm.inst.cfg index 45e11f5e9d..f2a60264b1 100644 --- a/resources/quality/ultimaker_methodx/um_methodx_1xa_um-abs-175_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_methodx/um_methodx_1xa_um-abs-175_0.2mm.inst.cfg @@ -59,5 +59,5 @@ support_xy_overrides_z = xy_overrides_z support_z_distance = 0.15 top_skin_expand_distance = 2.4 wall_overhang_angle = 30 -wall_overhang_speed_factor = 40 +wall_overhang_speed_factors = [40] diff --git a/resources/quality/ultimaker_methodx/um_methodx_1xa_um-absr-175_0.2mm.inst.cfg b/resources/quality/ultimaker_methodx/um_methodx_1xa_um-absr-175_0.2mm.inst.cfg index 18b44fda57..e87533888b 100644 --- a/resources/quality/ultimaker_methodx/um_methodx_1xa_um-absr-175_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_methodx/um_methodx_1xa_um-absr-175_0.2mm.inst.cfg @@ -58,5 +58,5 @@ support_xy_overrides_z = xy_overrides_z support_z_distance = 0.15 top_skin_expand_distance = 2.4 wall_overhang_angle = 30 -wall_overhang_speed_factor = 40 +wall_overhang_speed_factors = [40] diff --git a/resources/quality/ultimaker_methodx/um_methodx_1xa_um-asa-175_0.2mm.inst.cfg b/resources/quality/ultimaker_methodx/um_methodx_1xa_um-asa-175_0.2mm.inst.cfg index 774b8fb2a8..1ad566527f 100644 --- a/resources/quality/ultimaker_methodx/um_methodx_1xa_um-asa-175_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_methodx/um_methodx_1xa_um-asa-175_0.2mm.inst.cfg @@ -57,5 +57,5 @@ support_xy_overrides_z = xy_overrides_z support_z_distance = 0.15 top_skin_expand_distance = 2.4 wall_overhang_angle = 30 -wall_overhang_speed_factor = 40 +wall_overhang_speed_factors = [40] diff --git a/resources/quality/ultimaker_methodx/um_methodx_labs_polymaker-polymax-pc-175_0.2mm.inst.cfg b/resources/quality/ultimaker_methodx/um_methodx_labs_polymaker-polymax-pc-175_0.2mm.inst.cfg index e9d09c2c34..795235c75e 100644 --- a/resources/quality/ultimaker_methodx/um_methodx_labs_polymaker-polymax-pc-175_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_methodx/um_methodx_labs_polymaker-polymax-pc-175_0.2mm.inst.cfg @@ -54,5 +54,5 @@ support_xy_overrides_z = xy_overrides_z support_z_distance = 0.22 top_skin_expand_distance = 2.4 wall_overhang_angle = 30 -wall_overhang_speed_factor = 40 +wall_overhang_speed_factors = [40] diff --git a/resources/quality/ultimaker_methodx/um_methodx_labs_um-abs-175_0.2mm.inst.cfg b/resources/quality/ultimaker_methodx/um_methodx_labs_um-abs-175_0.2mm.inst.cfg index a5f7d05d6e..c4ab6ee115 100644 --- a/resources/quality/ultimaker_methodx/um_methodx_labs_um-abs-175_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_methodx/um_methodx_labs_um-abs-175_0.2mm.inst.cfg @@ -59,5 +59,5 @@ support_xy_overrides_z = xy_overrides_z support_z_distance = 0.15 top_skin_expand_distance = 2.4 wall_overhang_angle = 30 -wall_overhang_speed_factor = 40 +wall_overhang_speed_factors = [40] diff --git a/resources/quality/ultimaker_methodx/um_methodx_labs_um-abscf-175_0.2mm.inst.cfg b/resources/quality/ultimaker_methodx/um_methodx_labs_um-abscf-175_0.2mm.inst.cfg index 56e2126cb2..25dbd1868a 100644 --- a/resources/quality/ultimaker_methodx/um_methodx_labs_um-abscf-175_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_methodx/um_methodx_labs_um-abscf-175_0.2mm.inst.cfg @@ -52,5 +52,5 @@ support_xy_distance = 0.3 support_xy_distance_overhang = 0.25 support_z_distance = 0.15 wall_overhang_angle = 30 -wall_overhang_speed_factor = 50 +wall_overhang_speed_factors = [50] diff --git a/resources/quality/ultimaker_methodx/um_methodx_labs_um-absr-175_0.2mm.inst.cfg b/resources/quality/ultimaker_methodx/um_methodx_labs_um-absr-175_0.2mm.inst.cfg index 7447dc5085..8b19d722d4 100644 --- a/resources/quality/ultimaker_methodx/um_methodx_labs_um-absr-175_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_methodx/um_methodx_labs_um-absr-175_0.2mm.inst.cfg @@ -58,5 +58,5 @@ support_xy_overrides_z = xy_overrides_z support_z_distance = 0.15 top_skin_expand_distance = 2.4 wall_overhang_angle = 30 -wall_overhang_speed_factor = 40 +wall_overhang_speed_factors = [40] diff --git a/resources/quality/ultimaker_methodx/um_methodx_labs_um-asa-175_0.2mm.inst.cfg b/resources/quality/ultimaker_methodx/um_methodx_labs_um-asa-175_0.2mm.inst.cfg index d2f64e3b65..c19ff979bf 100644 --- a/resources/quality/ultimaker_methodx/um_methodx_labs_um-asa-175_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_methodx/um_methodx_labs_um-asa-175_0.2mm.inst.cfg @@ -57,5 +57,5 @@ support_xy_overrides_z = xy_overrides_z support_z_distance = 0.15 top_skin_expand_distance = 2.4 wall_overhang_angle = 30 -wall_overhang_speed_factor = 40 +wall_overhang_speed_factors = [40] diff --git a/resources/quality/ultimaker_methodxl/um_methodxl_1c_um-abs-175_0.2mm.inst.cfg b/resources/quality/ultimaker_methodxl/um_methodxl_1c_um-abs-175_0.2mm.inst.cfg index caf364adc9..fe70d6d0c6 100644 --- a/resources/quality/ultimaker_methodxl/um_methodxl_1c_um-abs-175_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_methodxl/um_methodxl_1c_um-abs-175_0.2mm.inst.cfg @@ -59,5 +59,5 @@ support_xy_overrides_z = xy_overrides_z support_z_distance = 0.15 top_skin_expand_distance = 2.4 wall_overhang_angle = 30 -wall_overhang_speed_factor = 40 +wall_overhang_speed_factors = [40] diff --git a/resources/quality/ultimaker_methodxl/um_methodxl_1c_um-abscf-175_0.2mm.inst.cfg b/resources/quality/ultimaker_methodxl/um_methodxl_1c_um-abscf-175_0.2mm.inst.cfg index e4a889749a..d4d053df9f 100644 --- a/resources/quality/ultimaker_methodxl/um_methodxl_1c_um-abscf-175_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_methodxl/um_methodxl_1c_um-abscf-175_0.2mm.inst.cfg @@ -54,5 +54,5 @@ support_xy_distance = 0.3 support_xy_distance_overhang = 0.25 support_z_distance = 0.15 wall_overhang_angle = 30 -wall_overhang_speed_factor = 50 +wall_overhang_speed_factors = [50] diff --git a/resources/quality/ultimaker_methodxl/um_methodxl_1c_um-absr-175_0.2mm.inst.cfg b/resources/quality/ultimaker_methodxl/um_methodxl_1c_um-absr-175_0.2mm.inst.cfg index a08dd10302..29b3de7eac 100644 --- a/resources/quality/ultimaker_methodxl/um_methodxl_1c_um-absr-175_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_methodxl/um_methodxl_1c_um-absr-175_0.2mm.inst.cfg @@ -57,5 +57,5 @@ support_xy_overrides_z = xy_overrides_z support_z_distance = 0.15 top_skin_expand_distance = 2.4 wall_overhang_angle = 30 -wall_overhang_speed_factor = 40 +wall_overhang_speed_factors = [40] diff --git a/resources/quality/ultimaker_methodxl/um_methodxl_1c_um-asa-175_0.2mm.inst.cfg b/resources/quality/ultimaker_methodxl/um_methodxl_1c_um-asa-175_0.2mm.inst.cfg index 420a719235..a3b23179cb 100644 --- a/resources/quality/ultimaker_methodxl/um_methodxl_1c_um-asa-175_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_methodxl/um_methodxl_1c_um-asa-175_0.2mm.inst.cfg @@ -57,5 +57,5 @@ support_xy_overrides_z = xy_overrides_z support_z_distance = 0.15 top_skin_expand_distance = 2.4 wall_overhang_angle = 30 -wall_overhang_speed_factor = 40 +wall_overhang_speed_factors = [40] diff --git a/resources/quality/ultimaker_methodxl/um_methodxl_1xa_um-abs-175_0.2mm.inst.cfg b/resources/quality/ultimaker_methodxl/um_methodxl_1xa_um-abs-175_0.2mm.inst.cfg index 39b7d69230..e31448572e 100644 --- a/resources/quality/ultimaker_methodxl/um_methodxl_1xa_um-abs-175_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_methodxl/um_methodxl_1xa_um-abs-175_0.2mm.inst.cfg @@ -59,5 +59,5 @@ support_xy_overrides_z = xy_overrides_z support_z_distance = 0.15 top_skin_expand_distance = 2.4 wall_overhang_angle = 30 -wall_overhang_speed_factor = 40 +wall_overhang_speed_factors = [40] diff --git a/resources/quality/ultimaker_methodxl/um_methodxl_1xa_um-absr-175_0.2mm.inst.cfg b/resources/quality/ultimaker_methodxl/um_methodxl_1xa_um-absr-175_0.2mm.inst.cfg index 84086e1856..3596d12095 100644 --- a/resources/quality/ultimaker_methodxl/um_methodxl_1xa_um-absr-175_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_methodxl/um_methodxl_1xa_um-absr-175_0.2mm.inst.cfg @@ -57,5 +57,5 @@ support_xy_overrides_z = xy_overrides_z support_z_distance = 0.15 top_skin_expand_distance = 2.4 wall_overhang_angle = 30 -wall_overhang_speed_factor = 40 +wall_overhang_speed_factors = [40] diff --git a/resources/quality/ultimaker_methodxl/um_methodxl_1xa_um-asa-175_0.2mm.inst.cfg b/resources/quality/ultimaker_methodxl/um_methodxl_1xa_um-asa-175_0.2mm.inst.cfg index 155696925f..5d3c07cde9 100644 --- a/resources/quality/ultimaker_methodxl/um_methodxl_1xa_um-asa-175_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_methodxl/um_methodxl_1xa_um-asa-175_0.2mm.inst.cfg @@ -57,5 +57,5 @@ support_xy_overrides_z = xy_overrides_z support_z_distance = 0.15 top_skin_expand_distance = 2.4 wall_overhang_angle = 30 -wall_overhang_speed_factor = 40 +wall_overhang_speed_factors = [40] diff --git a/resources/quality/ultimaker_methodxl/um_methodxl_labs_polymaker-polymax-pc-175_0.2mm.inst.cfg b/resources/quality/ultimaker_methodxl/um_methodxl_labs_polymaker-polymax-pc-175_0.2mm.inst.cfg index a075d5ffe6..29433f8387 100644 --- a/resources/quality/ultimaker_methodxl/um_methodxl_labs_polymaker-polymax-pc-175_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_methodxl/um_methodxl_labs_polymaker-polymax-pc-175_0.2mm.inst.cfg @@ -54,5 +54,5 @@ support_xy_overrides_z = xy_overrides_z support_z_distance = 0.22 top_skin_expand_distance = 2.4 wall_overhang_angle = 30 -wall_overhang_speed_factor = 40 +wall_overhang_speed_factors = [40] diff --git a/resources/quality/ultimaker_methodxl/um_methodxl_labs_um-abs-175_0.2mm.inst.cfg b/resources/quality/ultimaker_methodxl/um_methodxl_labs_um-abs-175_0.2mm.inst.cfg index 3309bb6660..627ff55215 100644 --- a/resources/quality/ultimaker_methodxl/um_methodxl_labs_um-abs-175_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_methodxl/um_methodxl_labs_um-abs-175_0.2mm.inst.cfg @@ -59,5 +59,5 @@ support_xy_overrides_z = xy_overrides_z support_z_distance = 0.15 top_skin_expand_distance = 2.4 wall_overhang_angle = 30 -wall_overhang_speed_factor = 40 +wall_overhang_speed_factors = [40] diff --git a/resources/quality/ultimaker_methodxl/um_methodxl_labs_um-abscf-175_0.2mm.inst.cfg b/resources/quality/ultimaker_methodxl/um_methodxl_labs_um-abscf-175_0.2mm.inst.cfg index 6596cdd4df..71bcca17c0 100644 --- a/resources/quality/ultimaker_methodxl/um_methodxl_labs_um-abscf-175_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_methodxl/um_methodxl_labs_um-abscf-175_0.2mm.inst.cfg @@ -54,5 +54,5 @@ support_xy_distance = 0.3 support_xy_distance_overhang = 0.25 support_z_distance = 0.15 wall_overhang_angle = 30 -wall_overhang_speed_factor = 50 +wall_overhang_speed_factors = [50] diff --git a/resources/quality/ultimaker_methodxl/um_methodxl_labs_um-absr-175_0.2mm.inst.cfg b/resources/quality/ultimaker_methodxl/um_methodxl_labs_um-absr-175_0.2mm.inst.cfg index e7a46cdcee..fa7a1b5e56 100644 --- a/resources/quality/ultimaker_methodxl/um_methodxl_labs_um-absr-175_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_methodxl/um_methodxl_labs_um-absr-175_0.2mm.inst.cfg @@ -57,5 +57,5 @@ support_xy_overrides_z = xy_overrides_z support_z_distance = 0.15 top_skin_expand_distance = 2.4 wall_overhang_angle = 30 -wall_overhang_speed_factor = 40 +wall_overhang_speed_factors = [40] diff --git a/resources/quality/ultimaker_methodxl/um_methodxl_labs_um-asa-175_0.2mm.inst.cfg b/resources/quality/ultimaker_methodxl/um_methodxl_labs_um-asa-175_0.2mm.inst.cfg index 972840dde0..d9f9ba645e 100644 --- a/resources/quality/ultimaker_methodxl/um_methodxl_labs_um-asa-175_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_methodxl/um_methodxl_labs_um-asa-175_0.2mm.inst.cfg @@ -57,5 +57,5 @@ support_xy_overrides_z = xy_overrides_z support_z_distance = 0.15 top_skin_expand_distance = 2.4 wall_overhang_angle = 30 -wall_overhang_speed_factor = 40 +wall_overhang_speed_factors = [40] From 2ca18cc2056c883b8a346446e3efd7e9ffd60c51 Mon Sep 17 00:00:00 2001 From: Remco Burema Date: Thu, 16 Jan 2025 13:27:28 +0100 Subject: [PATCH 14/27] Add version-upgrader to 5.10 Nescesary because of the updated overhang wall-speed setting. part of CURA-12352 --- .../VersionUpgrade59to510.py | 68 +++++++++++++++++++ .../VersionUpgrade59to510/__init__.py | 60 ++++++++++++++++ .../VersionUpgrade59to510/plugin.json | 8 +++ 3 files changed, 136 insertions(+) create mode 100644 plugins/VersionUpgrade/VersionUpgrade59to510/VersionUpgrade59to510.py create mode 100644 plugins/VersionUpgrade/VersionUpgrade59to510/__init__.py create mode 100644 plugins/VersionUpgrade/VersionUpgrade59to510/plugin.json diff --git a/plugins/VersionUpgrade/VersionUpgrade59to510/VersionUpgrade59to510.py b/plugins/VersionUpgrade/VersionUpgrade59to510/VersionUpgrade59to510.py new file mode 100644 index 0000000000..70190b6e7f --- /dev/null +++ b/plugins/VersionUpgrade/VersionUpgrade59to510/VersionUpgrade59to510.py @@ -0,0 +1,68 @@ +import configparser +import io +from typing import Dict, Tuple, List + +from UM.VersionUpgrade import VersionUpgrade + +_RENAMED_SETTINGS = { + "wall_overhang_speed_factor": "wall_overhang_speed_factors" +} # type: Dict[str, str] + +_NEW_SETTING_VERSION = "25" + + +class VersionUpgrade59to510(VersionUpgrade): + def upgradePreferences(self, serialized: str, filename: str): + parser = configparser.ConfigParser(interpolation = None) + parser.read_string(serialized) + + # Fix 'renamed'(ish) settings for visibility + if "visible_settings" in parser["general"]: + all_setting_keys = parser["general"]["visible_settings"].strip().split(";") + if all_setting_keys: + for idx, key in enumerate(all_setting_keys): + if key in _RENAMED_SETTINGS: + all_setting_keys[idx] = _RENAMED_SETTINGS[key] + parser["general"]["visible_settings"] = ";".join(all_setting_keys) + + # Update version number. + parser["metadata"]["setting_version"] = _NEW_SETTING_VERSION + + result = io.StringIO() + parser.write(result) + return [filename], [result.getvalue()] + + def upgradeInstanceContainer(self, serialized: str, filename: str) -> Tuple[List[str], List[str]]: + parser = configparser.ConfigParser(interpolation = None, comment_prefixes = ()) + parser.read_string(serialized) + + # Update version number. + parser["metadata"]["setting_version"] = _NEW_SETTING_VERSION + + if "values" in parser: + for old_name, new_name in _RENAMED_SETTINGS.items(): + if old_name in parser["values"]: + parser["values"][new_name] = parser["values"][old_name] + del parser["values"][old_name] + if "wall_overhang_speed_factors" in parser["values"]: + old_value = float(parser["values"]["wall_overhang_speed_factors"]) + new_value = [max(1, int(round(old_value)))] + parser["values"]["wall_overhang_speed_factor"] = str(new_value) + + result = io.StringIO() + parser.write(result) + return [filename], [result.getvalue()] + + def upgradeStack(self, serialized: str, filename: str) -> Tuple[List[str], List[str]]: + parser = configparser.ConfigParser(interpolation = None) + parser.read_string(serialized) + + # Update version number. + if "metadata" not in parser: + parser["metadata"] = {} + + parser["metadata"]["setting_version"] = _NEW_SETTING_VERSION + + result = io.StringIO() + parser.write(result) + return [filename], [result.getvalue()] diff --git a/plugins/VersionUpgrade/VersionUpgrade59to510/__init__.py b/plugins/VersionUpgrade/VersionUpgrade59to510/__init__.py new file mode 100644 index 0000000000..4c2b2622b1 --- /dev/null +++ b/plugins/VersionUpgrade/VersionUpgrade59to510/__init__.py @@ -0,0 +1,60 @@ +# Copyright (c) 2024 UltiMaker +# Cura is released under the terms of the LGPLv3 or higher. + +from typing import Any, Dict, TYPE_CHECKING + +from . import VersionUpgrade59to510 + +if TYPE_CHECKING: + from UM.Application import Application + +upgrade = VersionUpgrade59to510.VersionUpgrade59to510() + +def getMetaData() -> Dict[str, Any]: + return { + "version_upgrade": { + # From To Upgrade function + ("preferences", 7000024): ("preferences", 7000025, upgrade.upgradePreferences), + ("machine_stack", 6000024): ("machine_stack", 6000025, upgrade.upgradeStack), + ("extruder_train", 6000024): ("extruder_train", 6000025, upgrade.upgradeStack), + ("definition_changes", 4000024): ("definition_changes", 4000025, upgrade.upgradeInstanceContainer), + ("quality_changes", 4000024): ("quality_changes", 4000025, upgrade.upgradeInstanceContainer), + ("quality", 4000024): ("quality", 4000025, upgrade.upgradeInstanceContainer), + ("user", 4000024): ("user", 4000025, upgrade.upgradeInstanceContainer), + ("intent", 4000024): ("intent", 4000025, upgrade.upgradeInstanceContainer), + }, + "sources": { + "preferences": { + "get_version": upgrade.getCfgVersion, + "location": {"."} + }, + "machine_stack": { + "get_version": upgrade.getCfgVersion, + "location": {"./machine_instances"} + }, + "extruder_train": { + "get_version": upgrade.getCfgVersion, + "location": {"./extruders"} + }, + "definition_changes": { + "get_version": upgrade.getCfgVersion, + "location": {"./definition_changes"} + }, + "quality_changes": { + "get_version": upgrade.getCfgVersion, + "location": {"./quality_changes"} + }, + "quality": { + "get_version": upgrade.getCfgVersion, + "location": {"./quality"} + }, + "user": { + "get_version": upgrade.getCfgVersion, + "location": {"./user"} + } + } + } + + +def register(app: "Application") -> Dict[str, Any]: + return {"version_upgrade": upgrade} diff --git a/plugins/VersionUpgrade/VersionUpgrade59to510/plugin.json b/plugins/VersionUpgrade/VersionUpgrade59to510/plugin.json new file mode 100644 index 0000000000..f06d6b3161 --- /dev/null +++ b/plugins/VersionUpgrade/VersionUpgrade59to510/plugin.json @@ -0,0 +1,8 @@ +{ + "name": "Version Upgrade 5.9 to 5.10", + "author": "Ultimaker B.V.", + "version": "1.0.0", + "description": "Upgrades configurations from Cura 5.9 to Cura 5.10", + "api": 8, + "i18n-catalog": "cura" +} From fbe871778a84063414f300efaf422de279983b5b Mon Sep 17 00:00:00 2001 From: rburema <41987080+rburema@users.noreply.github.com> Date: Thu, 16 Jan 2025 12:28:50 +0000 Subject: [PATCH 15/27] Apply printer-linter format --- resources/definitions/ankermake_m5.def.json | 7 ++++++- resources/definitions/ankermake_m5c.def.json | 7 ++++++- resources/definitions/atmat_signal_pro_base.def.json | 7 ++++++- resources/definitions/gutenberg_base.def.json | 7 ++++++- resources/definitions/lotmaxx_sc60.def.json | 7 ++++++- resources/definitions/snakeoil_standard_base.def.json | 7 ++++++- resources/definitions/ultimaker_sketch_sprint.def.json | 4 +++- resources/definitions/voron2_base.def.json | 7 ++++++- resources/definitions/vzbot_base.def.json | 7 ++++++- 9 files changed, 51 insertions(+), 9 deletions(-) diff --git a/resources/definitions/ankermake_m5.def.json b/resources/definitions/ankermake_m5.def.json index 5e4d77cf39..a4bc967108 100644 --- a/resources/definitions/ankermake_m5.def.json +++ b/resources/definitions/ankermake_m5.def.json @@ -120,7 +120,12 @@ "support_z_distance": { "value": "layer_height * 2" }, "top_bottom_thickness": { "value": "layer_height * 4" }, "wall_overhang_angle": { "value": 55 }, - "wall_overhang_speed_factors": { "value": [55] }, + "wall_overhang_speed_factors": + { + "value": [ + 55 + ] + }, "zig_zaggify_infill": { "value": "infill_pattern == 'cross' or infill_pattern == 'cross_3d' or infill_pattern == 'lines'" } } } \ No newline at end of file diff --git a/resources/definitions/ankermake_m5c.def.json b/resources/definitions/ankermake_m5c.def.json index ade5c3f40c..3e1d7db0a9 100644 --- a/resources/definitions/ankermake_m5c.def.json +++ b/resources/definitions/ankermake_m5c.def.json @@ -238,7 +238,12 @@ "wall_extruder_nr": { "value": -1 }, "wall_line_width_0": { "value": 0.44 }, "wall_overhang_angle": { "value": 45 }, - "wall_overhang_speed_factors": { "value": [40] }, + "wall_overhang_speed_factors": + { + "value": [ + 40 + ] + }, "wall_thickness": { "value": 0.84 }, "wall_x_extruder_nr": { "value": -1 }, "zig_zaggify_infill": { "value": true } diff --git a/resources/definitions/atmat_signal_pro_base.def.json b/resources/definitions/atmat_signal_pro_base.def.json index 78eccf4a56..01ecc1bdfe 100644 --- a/resources/definitions/atmat_signal_pro_base.def.json +++ b/resources/definitions/atmat_signal_pro_base.def.json @@ -167,7 +167,12 @@ "travel_avoid_supports": { "value": "True" }, "wall_line_width": { "value": "machine_nozzle_size" }, "wall_overhang_angle": { "value": "75" }, - "wall_overhang_speed_factors": { "value": [50] }, + "wall_overhang_speed_factors": + { + "value": [ + 50 + ] + }, "zig_zaggify_infill": { "value": "True" } } } \ No newline at end of file diff --git a/resources/definitions/gutenberg_base.def.json b/resources/definitions/gutenberg_base.def.json index b1d0e76686..335718c21a 100644 --- a/resources/definitions/gutenberg_base.def.json +++ b/resources/definitions/gutenberg_base.def.json @@ -109,7 +109,12 @@ "travel_avoid_other_parts": { "default_value": false }, "wall_line_width": { "value": "machine_nozzle_size" }, "wall_overhang_angle": { "default_value": 75 }, - "wall_overhang_speed_factors": { "default_value": [50] }, + "wall_overhang_speed_factors": + { + "default_value": [ + 50 + ] + }, "zig_zaggify_infill": { "value": true } } } \ No newline at end of file diff --git a/resources/definitions/lotmaxx_sc60.def.json b/resources/definitions/lotmaxx_sc60.def.json index f6deef1358..f283e56442 100644 --- a/resources/definitions/lotmaxx_sc60.def.json +++ b/resources/definitions/lotmaxx_sc60.def.json @@ -61,7 +61,12 @@ "support_pattern": { "default_value": "lines" }, "switch_extruder_retraction_amount": { "value": 100 }, "switch_extruder_retraction_speeds": { "value": 60 }, - "wall_overhang_speed_factors": { "value": [50] }, + "wall_overhang_speed_factors": + { + "value": [ + 50 + ] + }, "z_seam_corner": { "default_value": "z_seam_corner_any" }, "z_seam_relative": { "value": true }, "z_seam_type": { "default_value": "sharpest_corner" }, diff --git a/resources/definitions/snakeoil_standard_base.def.json b/resources/definitions/snakeoil_standard_base.def.json index 59faf27d3b..16bec69636 100644 --- a/resources/definitions/snakeoil_standard_base.def.json +++ b/resources/definitions/snakeoil_standard_base.def.json @@ -109,7 +109,12 @@ "travel_avoid_other_parts": { "default_value": false }, "wall_line_width": { "value": "machine_nozzle_size" }, "wall_overhang_angle": { "default_value": 75 }, - "wall_overhang_speed_factors": { "default_value": [50] }, + "wall_overhang_speed_factors": + { + "default_value": [ + 50 + ] + }, "zig_zaggify_infill": { "value": true } } } \ No newline at end of file diff --git a/resources/definitions/ultimaker_sketch_sprint.def.json b/resources/definitions/ultimaker_sketch_sprint.def.json index 66a4a44268..dbe9171817 100644 --- a/resources/definitions/ultimaker_sketch_sprint.def.json +++ b/resources/definitions/ultimaker_sketch_sprint.def.json @@ -383,7 +383,9 @@ "wall_overhang_speed_factors": { "minimum_value_warning": 15, - "value": [18] + "value": [ + 18 + ] }, "wall_thickness": { "value": 1 }, "wall_x_material_flow_layer_0": { "value": "material_flow" }, diff --git a/resources/definitions/voron2_base.def.json b/resources/definitions/voron2_base.def.json index a8cd73a3c5..d08166d60d 100644 --- a/resources/definitions/voron2_base.def.json +++ b/resources/definitions/voron2_base.def.json @@ -119,7 +119,12 @@ "travel_avoid_other_parts": { "default_value": false }, "wall_line_width": { "value": "machine_nozzle_size" }, "wall_overhang_angle": { "default_value": 75 }, - "wall_overhang_speed_factors": { "default_value": [50] }, + "wall_overhang_speed_factors": + { + "default_value": [ + 50 + ] + }, "zig_zaggify_infill": { "value": true } } } \ No newline at end of file diff --git a/resources/definitions/vzbot_base.def.json b/resources/definitions/vzbot_base.def.json index cc44dbc6c6..a447f1acdb 100644 --- a/resources/definitions/vzbot_base.def.json +++ b/resources/definitions/vzbot_base.def.json @@ -195,7 +195,12 @@ "travel_avoid_other_parts": { "default_value": false }, "wall_line_width": { "value": "machine_nozzle_size" }, "wall_overhang_angle": { "default_value": 75 }, - "wall_overhang_speed_factors": { "default_value": [50] }, + "wall_overhang_speed_factors": + { + "default_value": [ + 50 + ] + }, "xy_offset_layer_0": { "value": -0.3 }, "z_seam_type": { "value": "'back'" }, "zig_zaggify_infill": { "value": true } From 038e8b77223fbe08d536681abcb7159c4c8f854e Mon Sep 17 00:00:00 2001 From: Remco Burema Date: Wed, 22 Jan 2025 21:16:56 +0100 Subject: [PATCH 16/27] Warn for mismatched cores on multi-config printers. Similar to the warning we already had for missing materials. CURA-12368 --- .../Models/PrinterConfigurationModel.py | 14 +++- .../ConfigurationMenu/ConfigurationItem.qml | 70 +++++++++++++++---- 2 files changed, 68 insertions(+), 16 deletions(-) diff --git a/cura/PrinterOutput/Models/PrinterConfigurationModel.py b/cura/PrinterOutput/Models/PrinterConfigurationModel.py index 85c69abcd3..d42be47b41 100644 --- a/cura/PrinterOutput/Models/PrinterConfigurationModel.py +++ b/cura/PrinterOutput/Models/PrinterConfigurationModel.py @@ -1,9 +1,12 @@ -# Copyright (c) 2018 Ultimaker B.V. +# Copyright (c) 2025 UltiMaker # Cura is released under the terms of the LGPLv3 or higher. from PyQt6.QtCore import pyqtProperty, QObject, pyqtSignal from typing import List +from UM.Settings.ContainerRegistry import ContainerRegistry +from UM.Settings.DefinitionContainer import DefinitionContainer + MYPY = False if MYPY: from cura.PrinterOutput.Models.ExtruderConfigurationModel import ExtruderConfigurationModel @@ -68,6 +71,15 @@ class PrinterConfigurationModel(QObject): return True return False + @pyqtProperty("QStringList", constant=True) + def validCoresForPrinterType(self) -> List[str]: + printers = ContainerRegistry.getInstance().findContainersMetadata( + ignore_case=True, type="machine", name=self._printer_type, container_type=DefinitionContainer) + id = printers[0]["id"] if len(printers) > 0 and "id" in printers[0] else "" + definitions = ContainerRegistry.getInstance().findContainersMetadata( + ignore_case=True, type="variant", definition=id+"*") + return [x["name"] for x in definitions] + def __str__(self): message_chunks = [] message_chunks.append("Printer type: " + self._printer_type) diff --git a/resources/qml/Menus/ConfigurationMenu/ConfigurationItem.qml b/resources/qml/Menus/ConfigurationMenu/ConfigurationItem.qml index bcbb6d7679..7b4479cdc3 100644 --- a/resources/qml/Menus/ConfigurationMenu/ConfigurationItem.qml +++ b/resources/qml/Menus/ConfigurationMenu/ConfigurationItem.qml @@ -1,4 +1,4 @@ -// Copyright (c) 2018 Ultimaker B.V. +// Copyright (c) 2025 UltiMaker // Cura is released under the terms of the LGPLv3 or higher. import QtQuick 2.7 @@ -12,7 +12,7 @@ Button id: configurationItem property var configuration: null - hoverEnabled: isValidMaterial + hoverEnabled: isValidMaterial && isValidCore property bool isValidMaterial: { @@ -25,7 +25,6 @@ Button for (var index in extruderConfigurations) { var name = extruderConfigurations[index].material ? extruderConfigurations[index].material.name : "" - if (name == "" || name == "Unknown") { return false @@ -34,6 +33,25 @@ Button return true } + property bool isValidCore: + { + if (configuration === null) + { + return false + } + var extruderConfigurations = configuration.extruderConfigurations + var coresList = configuration.validCoresForPrinterType + for (var index in extruderConfigurations) + { + var name = extruderConfigurations[index].hotendID ? extruderConfigurations[index].hotendID : "" + if (name != "" && ! coresList.includes(name)) + { + return false + } + } + return true + } + background: Rectangle { color: parent.hovered ? UM.Theme.getColor("action_button_hovered") : UM.Theme.getColor("action_button") @@ -72,11 +90,11 @@ Button { width: Math.round(parent.width / (configuration !== null ? configuration.extruderConfigurations.length : 1)) printCoreConfiguration: modelData - visible: configurationItem.isValidMaterial + visible: configurationItem.isValidMaterial && configurationItem.isValidCore } } - // Unknown material + // Unknown material or core ('variant') Item { id: unknownMaterial @@ -86,7 +104,7 @@ Button anchors.top: parent.top anchors.topMargin: UM.Theme.getSize("thin_margin").width / 2 - visible: !configurationItem.isValidMaterial + visible: ! (configurationItem.isValidMaterial && configurationItem.isValidCore) UM.ColorImage { @@ -102,13 +120,9 @@ Button UM.Label { id: unknownMaterialMessage - text: - { - if (configuration === null) - { - return "" - } + function whenUnknownMaterial() + { var extruderConfigurations = configuration.extruderConfigurations var unknownMaterials = [] for (var index in extruderConfigurations) @@ -135,9 +149,35 @@ Button unknownMaterials = "" + unknownMaterials + "" var draftResult = catalog.i18nc("@label", "This configuration is not available because %1 is not recognized. Please visit %2 to download the correct material profile."); - var result = draftResult.arg(unknownMaterials).arg("" + catalog.i18nc("@label","Marketplace") + " ") + return draftResult.arg(unknownMaterials).arg("" + catalog.i18nc("@label","Marketplace") + " ") + } - return result + function whenMismatchedCore() + { + var extruderConfigurations = configuration.extruderConfigurations + var coresList = configuration.validCoresForPrinterType + var mismatchedCores = [] + for (var index in extruderConfigurations) + { + var name = extruderConfigurations[index].hotendID ? extruderConfigurations[index].hotendID : "" + if (name != "" && ! coresList.includes(name)) + { + mismatchedCores.push(name) + } + } + + mismatchedCores = "" + mismatchedCores + "" + var draftResult = catalog.i18nc("@label", "This configuration is not available because %1 is either mismatched, or unrecognized. Please visit %2 to check with cores this printer-type supports."); + return draftResult.arg(mismatchedCores).arg("" + catalog.i18nc("@label","WEBSITE") + " ") + } + + text: + { + if (configuration === null) + { + return "" + } + return isValidMaterial ? whenMismatchedCore() : whenUnknownMaterial() } width: extruderRow.width @@ -225,7 +265,7 @@ Button onClicked: { - if(isValidMaterial) + if (isValidMaterial && isValidCore) { toggleContent() Cura.MachineManager.applyRemoteConfiguration(configuration) From 04a6ecf7ca8ba3d52a7a3873c637697c214fb1aa Mon Sep 17 00:00:00 2001 From: Erwan MATHIEU Date: Mon, 27 Jan 2025 14:41:18 +0100 Subject: [PATCH 17/27] Add local setting to monitor use of USB writing CURA-12150 --- plugins/USBPrinting/USBPrinterOutputDevice.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/plugins/USBPrinting/USBPrinterOutputDevice.py b/plugins/USBPrinting/USBPrinterOutputDevice.py index 85b98e532b..18d9466eb5 100644 --- a/plugins/USBPrinting/USBPrinterOutputDevice.py +++ b/plugins/USBPrinting/USBPrinterOutputDevice.py @@ -97,6 +97,8 @@ class USBPrinterOutputDevice(PrinterOutputDevice): CuraApplication.getInstance().getOnExitCallbackManager().addCallback(self._checkActivePrintingUponAppExit) + CuraApplication.getInstance().getPreferences().addPreference("usb_printing/enabled", False) + # This is a callback function that checks if there is any printing in progress via USB when the application tries # to exit. If so, it will show a confirmation before def _checkActivePrintingUponAppExit(self) -> None: @@ -144,6 +146,8 @@ class USBPrinterOutputDevice(PrinterOutputDevice): CuraApplication.getInstance().getController().setActiveStage("MonitorStage") + CuraApplication.getInstance().getPreferences().setValue("usb_printing/enabled", True) + #Find the g-code to print. gcode_textio = StringIO() gcode_writer = cast(MeshWriter, PluginRegistry.getInstance().getPluginObject("GCodeWriter")) From 3b2d0fd8afe08c4e56d6d43e7b8b06984249241d Mon Sep 17 00:00:00 2001 From: Erwan MATHIEU Date: Mon, 27 Jan 2025 15:23:55 +0100 Subject: [PATCH 18/27] Slightly reduce the width of setting fields CURA-12224 This gives more space for the text, which can sometimes be very long --- resources/themes/cura-light/theme.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/themes/cura-light/theme.json b/resources/themes/cura-light/theme.json index 160799be6e..1ae316f96c 100644 --- a/resources/themes/cura-light/theme.json +++ b/resources/themes/cura-light/theme.json @@ -567,7 +567,7 @@ "section_icon_column": [2.5, 2.5], "setting": [25.0, 1.8], - "setting_control": [11.0, 2.0], + "setting_control": [9.0, 2.0], "setting_control_radius": [0.15, 0.15], "setting_control_depth_margin": [1.4, 0.0], "setting_unit_margin": [0.5, 0.5], From 2e59a0a00913da58b1238a122174bc6388883e0a Mon Sep 17 00:00:00 2001 From: Erwan MATHIEU Date: Mon, 27 Jan 2025 15:24:42 +0100 Subject: [PATCH 19/27] Give more space to text when required CURA-12224 This way, multi-lines setting names can be properly displayed --- resources/qml/Settings/SettingItem.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/qml/Settings/SettingItem.qml b/resources/qml/Settings/SettingItem.qml index 1d8ad654e3..f46c59ff61 100644 --- a/resources/qml/Settings/SettingItem.qml +++ b/resources/qml/Settings/SettingItem.qml @@ -13,7 +13,7 @@ import "." Item { id: base - height: enabled ? UM.Theme.getSize("section").height + UM.Theme.getSize("narrow_margin").height : 0 + height: enabled ? Math.max(UM.Theme.getSize("section").height, label.height) + UM.Theme.getSize("narrow_margin").height : 0 anchors.left: parent.left anchors.right: parent.right From 669c28e61827a4c53b68a047b3215e792a7e383a Mon Sep 17 00:00:00 2001 From: Remco Burema Date: Tue, 28 Jan 2025 09:20:47 +0100 Subject: [PATCH 20/27] Try to make unavailable configuration warnings less confusing. part of CURA-12368 --- .../ConfigurationMenu/ConfigurationItem.qml | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/resources/qml/Menus/ConfigurationMenu/ConfigurationItem.qml b/resources/qml/Menus/ConfigurationMenu/ConfigurationItem.qml index 7b4479cdc3..48d3874985 100644 --- a/resources/qml/Menus/ConfigurationMenu/ConfigurationItem.qml +++ b/resources/qml/Menus/ConfigurationMenu/ConfigurationItem.qml @@ -167,7 +167,7 @@ Button } mismatchedCores = "" + mismatchedCores + "" - var draftResult = catalog.i18nc("@label", "This configuration is not available because %1 is either mismatched, or unrecognized. Please visit %2 to check with cores this printer-type supports."); + var draftResult = catalog.i18nc("@label", "This configuration is not available because there is a mismatch or other problem with core-type %1. Please visit %2 to check which cores this printer-type supports w.r.t. new slices."); return draftResult.arg(mismatchedCores).arg("" + catalog.i18nc("@label","WEBSITE") + " ") } @@ -177,7 +177,19 @@ Button { return "" } - return isValidMaterial ? whenMismatchedCore() : whenUnknownMaterial() + + var extruderConfigurations = configuration.extruderConfigurations + var perExtruder = [] + for (var index in extruderConfigurations) + { + var matName = extruderConfigurations[index].material ? extruderConfigurations[index].material.name : "" + var coreName = extruderConfigurations[index].hotendID ? extruderConfigurations[index].hotendID : "" + perExtruder.push(` [${coreName}/${matName}]`) + } + + var configsStr = "" + perExtruder + "" + var warnStr = isValidMaterial ? whenMismatchedCore() : whenUnknownMaterial() + return configsStr + "
" + warnStr } width: extruderRow.width From c369a405b35844a5de7bbd84df2bbc50056d3db9 Mon Sep 17 00:00:00 2001 From: Erwan MATHIEU Date: Tue, 28 Jan 2025 10:34:58 +0100 Subject: [PATCH 21/27] Set dynamic items size CURA-12368 --- resources/qml/Menus/ConfigurationMenu/ConfigurationItem.qml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/resources/qml/Menus/ConfigurationMenu/ConfigurationItem.qml b/resources/qml/Menus/ConfigurationMenu/ConfigurationItem.qml index 48d3874985..f76e1c6ef7 100644 --- a/resources/qml/Menus/ConfigurationMenu/ConfigurationItem.qml +++ b/resources/qml/Menus/ConfigurationMenu/ConfigurationItem.qml @@ -78,7 +78,7 @@ Button right: parent.right rightMargin: UM.Theme.getSize("wide_margin").width } - height: childrenRect.height + height: unknownMaterial.visible ? unknownMaterial.height : (repeater.count > 0 ? repeater.itemAt(0).height : 0) spacing: UM.Theme.getSize("default_margin").width Repeater @@ -98,11 +98,10 @@ Button Item { id: unknownMaterial - height: unknownMaterialMessage.height + UM.Theme.getSize("thin_margin").width / 2 + height: unknownMaterialMessage.height width: parent.width anchors.top: parent.top - anchors.topMargin: UM.Theme.getSize("thin_margin").width / 2 visible: ! (configurationItem.isValidMaterial && configurationItem.isValidCore) From eec90b5bdc10b88d2a5a3ac31c5483f21d29e74b Mon Sep 17 00:00:00 2001 From: Frederic Meeuwissen <13856291+Frederic98@users.noreply.github.com> Date: Wed, 29 Jan 2025 09:35:28 +0100 Subject: [PATCH 22/27] [PP-535] Add pressure advance setting --- resources/definitions/fdmprinter.def.json | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index c1392e57ba..e89595c1b1 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -3232,6 +3232,19 @@ "minimum_value": 0.01, "settable_per_mesh": false, "settable_per_extruder": true + }, + "material_pressure_advance_factor": + { + "enabled": false, + "label": "Pressure advance factor", + "description": "Tuning factor for pressure advance, which is meant to synchronize extrusion with motion", + "default_value": 0.05, + "maximum_value_warning": 1.0, + "minimum_value": 0, + "type": "float", + "settable_per_mesh": false, + "settable_per_extruder": true, + "settable_per_meshgroup": false } } }, From 05f6afd93d89ec8f86f5e4f283b0c0e6d40c80e4 Mon Sep 17 00:00:00 2001 From: Remco Burema Date: Wed, 29 Jan 2025 13:20:01 +0100 Subject: [PATCH 23/27] Round layer height to two decimals for display (profile) purposes. CURA-12020 --- cura/Settings/MachineManager.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cura/Settings/MachineManager.py b/cura/Settings/MachineManager.py index 82b52d3dde..4c16061074 100755 --- a/cura/Settings/MachineManager.py +++ b/cura/Settings/MachineManager.py @@ -1678,7 +1678,7 @@ class MachineManager(QObject): intent_category = self.activeIntentCategory, intent_name = IntentCategoryModel.translation(self.activeIntentCategory, "name", self.activeIntentCategory.title()), custom_profile = self.activeQualityOrQualityChangesName if global_stack.qualityChanges is not empty_quality_changes_container else None, - layer_height = self.activeQualityLayerHeight if self.isActiveQualitySupported else None, + layer_height = float("{:.2f}".format(self.activeQualityLayerHeight)) if self.isActiveQualitySupported else None, is_experimental = self.isActiveQualityExperimental and self.isActiveQualitySupported ) From 0680a216703fc5a473567a9b87e4df19220c2481 Mon Sep 17 00:00:00 2001 From: HellAholic Date: Wed, 29 Jan 2025 13:48:59 +0100 Subject: [PATCH 24/27] apply review comment --- resources/definitions/sovol_base_bowden.def.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/definitions/sovol_base_bowden.def.json b/resources/definitions/sovol_base_bowden.def.json index ad03842a47..48e905a9b6 100644 --- a/resources/definitions/sovol_base_bowden.def.json +++ b/resources/definitions/sovol_base_bowden.def.json @@ -1,5 +1,5 @@ { - "version": 3, + "version": 2, "name": "Sovol Base Bowden Printer", "inherits": "sovol_base", "metadata": @@ -12,4 +12,4 @@ "retraction_amount": { "default_value": 5 }, "retraction_speed": { "value": "resolveOrValue('machine_max_feedrate_e')" } } -} \ No newline at end of file +} From 40f738f15fd4d5e86a36464f5c6e8f3be8f7c407 Mon Sep 17 00:00:00 2001 From: HellAholic Date: Wed, 29 Jan 2025 12:49:58 +0000 Subject: [PATCH 25/27] Applied printer-linter format --- resources/definitions/sovol_base_bowden.def.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/definitions/sovol_base_bowden.def.json b/resources/definitions/sovol_base_bowden.def.json index 48e905a9b6..0f389a25f8 100644 --- a/resources/definitions/sovol_base_bowden.def.json +++ b/resources/definitions/sovol_base_bowden.def.json @@ -12,4 +12,4 @@ "retraction_amount": { "default_value": 5 }, "retraction_speed": { "value": "resolveOrValue('machine_max_feedrate_e')" } } -} +} \ No newline at end of file From 150a267bb77c75af2de3526b07472671ec8d2d9b Mon Sep 17 00:00:00 2001 From: HellAholic Date: Wed, 29 Jan 2025 14:05:14 +0100 Subject: [PATCH 26/27] switch from branch to stable in conandata for dulcificum --- conandata.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conandata.yml b/conandata.yml index 36fd494356..de95766ed2 100644 --- a/conandata.yml +++ b/conandata.yml @@ -5,7 +5,7 @@ requirements: - "curaengine/5.10.0-alpha.0@ultimaker/testing" - "cura_binary_data/5.10.0-alpha.0@ultimaker/testing" - "fdm_materials/5.10.0-alpha.0@ultimaker/testing" - - "dulcificum/0.3.0@ultimaker/cura_12313" + - "dulcificum/0.3.0@ultimaker/stable" - "pysavitar/5.4.0-alpha.0@ultimaker/stable" - "pynest2d/5.4.0-alpha.0@ultimaker/stable" requirements_internal: From 0a936bec6ae500fb6cc3eb4710240fcc2ea0b44b Mon Sep 17 00:00:00 2001 From: Erwan MATHIEU Date: Wed, 5 Feb 2025 11:39:07 +0100 Subject: [PATCH 27/27] Remove now-useless comment --- conanfile.py | 1 - 1 file changed, 1 deletion(-) diff --git a/conanfile.py b/conanfile.py index 01e2ffb579..3a71d8bca2 100644 --- a/conanfile.py +++ b/conanfile.py @@ -27,7 +27,6 @@ class CuraConan(ConanFile): generators = "VirtualPythonEnv" tool_requires = "gettext/0.22.5" - # FIXME: Remove specific branch once merged to main python_requires = "translationextractor/[>=2.2.0]@ultimaker/stable" options = {