From f4698c7cd4f1d58e0a8fbd0367131c2d96a5d508 Mon Sep 17 00:00:00 2001 From: Tim Kuipers Date: Wed, 27 Jul 2016 10:18:19 +0200 Subject: [PATCH 1/6] feat: support_bottom_height and support_interface_height (CURA-1013) --- resources/definitions/fdmprinter.def.json | 39 ++++++++++++++++++++--- 1 file changed, 35 insertions(+), 4 deletions(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 950c856a6e..303f06288e 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -2365,10 +2365,10 @@ "enabled": "support_enable", "settable_per_mesh": true }, - "support_roof_height": + "support_interface_height": { - "label": "Support Roof Thickness", - "description": "The thickness of the support roofs.", + "label": "Support Interface Thickness", + "description": "The thickness of the interface of the support where it touches with the model on the bottom or the top.", "unit": "mm", "type": "float", "default_value": 1, @@ -2376,7 +2376,38 @@ "global_inherits_stack": "support_extruder_nr", "maximum_value_warning": "10", "enabled": "support_roof_enable and support_enable", - "settable_per_mesh": true + "settable_per_mesh": true, + "children": + { + "support_roof_height": + { + "label": "Support Roof Thickness", + "description": "The thickness of the support roofs. This controls the amount of dense layers at the top of the support on which the model rests.", + "unit": "mm", + "type": "float", + "default_value": 1, + "value": "support_interface_height", + "minimum_value": "0", + "global_inherits_stack": "support_extruder_nr", + "maximum_value_warning": "10", + "enabled": "support_roof_enable and support_enable", + "settable_per_mesh": true + }, + "support_bottom_height": + { + "label": "Support Bottom Thickness", + "description": "The thickness of the support bottoms. This controls the number of dense layers are printed on top of places of a model on which support rests.", + "unit": "mm", + "type": "float", + "default_value": 1, + "value": "support_interface_height", + "minimum_value": "0", + "global_inherits_stack": "support_extruder_nr", + "maximum_value_warning": "10", + "enabled": "support_roof_enable and support_enable", + "settable_per_mesh": true + } + } }, "support_roof_density": { From 17b455d2ed920e04161b0ee6d909ce2f61aa9832 Mon Sep 17 00:00:00 2001 From: Tim Kuipers Date: Wed, 27 Jul 2016 10:34:41 +0200 Subject: [PATCH 2/6] JSON rename: Support Roof ==> Support Interface (CURA-1013) the support roof settings are now used for support bottoms as well --- resources/definitions/fdmprinter.def.json | 36 +++++++++++------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 303f06288e..8a53f4859a 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -636,8 +636,8 @@ }, "support_roof_line_width": { - "label": "Support Roof Line Width", - "description": "Width of a single support roof line.", + "label": "Support Interface Line Width", + "description": "Width of a single support interface line.", "unit": "mm", "default_value": 0.4, "minimum_value": "0.0001", @@ -1468,8 +1468,8 @@ }, "speed_support_roof": { - "label": "Support Roof Speed", - "description": "The speed at which the roofs of support are printed. Printing the support roof at lower speeds can improve overhang quality.", + "label": "Support Interface Speed", + "description": "The speed at which the roofs and bottoms of support are printed. Printing the them at lower speeds can improve overhang quality.", "unit": "mm/s", "type": "float", "default_value": 40, @@ -1671,8 +1671,8 @@ "settable_per_extruder": false }, "acceleration_support_roof": { - "label": "Support Roof Acceleration", - "description": "The acceleration with which the roofs of support are printed. Printing the support roof at lower accelerations can improve overhang quality.", + "label": "Support Interface Acceleration", + "description": "The acceleration with which the roofs and bottoms of support are printed. Printing them at lower accelerations can improve overhang quality.", "unit": "mm/s²", "type": "float", "default_value": 3000, @@ -1862,8 +1862,8 @@ "settable_per_extruder": false }, "jerk_support_roof": { - "label": "Support Roof Jerk", - "description": "The maximum instantaneous velocity change with which the roofs of support are printed.", + "label": "Support Interface Jerk", + "description": "The maximum instantaneous velocity change with which the roofs and bottoms of support are printed.", "unit": "mm/s", "type": "float", "default_value": 20, @@ -2357,8 +2357,8 @@ }, "support_roof_enable": { - "label": "Enable Support Roof", - "description": "Generate a dense top skin at the top of the support on which the model is printed.", + "label": "Enable Support Interface", + "description": "Generate a dense interface between the model and the support. This will create a skin at the top of the support on which the model is printed and at the bottom of the support, where it rests on the model.", "type": "bool", "default_value": false, "global_inherits_stack": "support_extruder_nr", @@ -2411,8 +2411,8 @@ }, "support_roof_density": { - "label": "Support Roof Density", - "description": "Adjusts the density of the roof of the support structure. A higher value results in better overhangs, but the supports are harder to remove.", + "label": "Support Interface Density", + "description": "Adjusts the density of the roofs and bottoms of the support structure. A higher value results in better overhangs, but the supports are harder to remove.", "unit": "%", "type": "float", "default_value": 100, @@ -2425,8 +2425,8 @@ { "support_roof_line_distance": { - "label": "Support Roof Line Distance", - "description": "Distance between the printed support roof lines. This setting is calculated by the support roof Density, but can be adjusted separately.", + "label": "Support Interface Line Distance", + "description": "Distance between the printed support interface lines. This setting is calculated by the Support Interface Density, but can be adjusted separately.", "unit": "mm", "type": "float", "default_value": 0.4, @@ -2440,8 +2440,8 @@ }, "support_roof_pattern": { - "label": "Support Roof Pattern", - "description": "The pattern with which the top of the support is printed.", + "label": "Support Interface Pattern", + "description": "The pattern with which the interface of the support with the model is printed.", "type": "enum", "options": { @@ -3089,8 +3089,8 @@ }, "support_roof_extruder_nr": { - "label": "Support Roof Extruder", - "description": "The extruder train to use for printing the roof of the support. This is used in multi-extrusion.", + "label": "Support Interface Extruder", + "description": "The extruder train to use for printing the roofs and bottoms of the support. This is used in multi-extrusion.", "type": "extruder", "default_value": "0", "value": "support_extruder_nr", From 358a48dfbb7c5fe4e593d3ebdee7356ad8abeee4 Mon Sep 17 00:00:00 2001 From: Tim Kuipers Date: Wed, 27 Jul 2016 12:14:25 +0200 Subject: [PATCH 3/6] JSON fix: support_bottom_height now warns if below support_bottom_stair_step_dist (CURA-1013) --- resources/definitions/fdmprinter.def.json | 1 + 1 file changed, 1 insertion(+) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 8a53f4859a..0e07121539 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -2402,6 +2402,7 @@ "default_value": 1, "value": "support_interface_height", "minimum_value": "0", + "minimum_value_warning": "support_bottom_stair_step_height", "global_inherits_stack": "support_extruder_nr", "maximum_value_warning": "10", "enabled": "support_roof_enable and support_enable", From 1f903b9fccd9cfe15a36070e381d3bd23bcd39dc Mon Sep 17 00:00:00 2001 From: Tim Kuipers Date: Thu, 28 Jul 2016 14:06:00 +0200 Subject: [PATCH 4/6] JSON renames: support_roof_... ==> support_interface... (CURA-1013) --- cura/CuraApplication.py | 2 +- resources/definitions/fdmprinter.def.json | 42 +++++++++++------------ 2 files changed, 22 insertions(+), 22 deletions(-) diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index c51207862e..5daae559d6 100644 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -235,7 +235,7 @@ class CuraApplication(QtApplication): support support_enable support_type - support_roof_density + support_interface_density platform_adhesion adhesion_type brim_width diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 66748a9482..9866e1a35d 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -633,7 +633,7 @@ "settable_per_mesh": false, "settable_per_extruder": true }, - "support_roof_line_width": + "support_interface_line_width": { "label": "Support Interface Line Width", "description": "Width of a single support interface line.", @@ -642,7 +642,7 @@ "minimum_value": "0.0001", "maximum_value_warning": "machine_nozzle_size * 2", "type": "float", - "enabled": "support_roof_enable", + "enabled": "support_interface_enable", "value": "line_width", "settable_per_mesh": false, "settable_per_extruder": true @@ -1462,7 +1462,7 @@ "settable_per_mesh": false, "settable_per_extruder": true }, - "speed_support_roof": + "speed_support_interface": { "label": "Support Interface Speed", "description": "The speed at which the roofs and bottoms of support are printed. Printing the them at lower speeds can improve overhang quality.", @@ -1472,7 +1472,7 @@ "minimum_value": "0.1", "maximum_value": "299792458000", "maximum_value_warning": "150", - "enabled": "support_roof_enable and support_enable", + "enabled": "support_interface_enable and support_enable", "value": "speed_support / 1.5", "settable_per_mesh": false, "settable_per_extruder": true @@ -1663,7 +1663,7 @@ "settable_per_mesh": false, "settable_per_extruder": true }, - "acceleration_support_roof": { + "acceleration_support_interface": { "label": "Support Interface Acceleration", "description": "The acceleration with which the roofs and bottoms of support are printed. Printing them at lower accelerations can improve overhang quality.", "unit": "mm/s²", @@ -1673,7 +1673,7 @@ "minimum_value": "0.1", "minimum_value_warning": "100", "maximum_value_warning": "10000", - "enabled": "acceleration_enabled and support_roof_enable and support_enable", + "enabled": "acceleration_enabled and support_interface_enable and support_enable", "settable_per_mesh": false, "settable_per_extruder": true } @@ -1851,7 +1851,7 @@ "settable_per_mesh": false, "settable_per_extruder": true }, - "jerk_support_roof": { + "jerk_support_interface": { "label": "Support Interface Jerk", "description": "The maximum instantaneous velocity change with which the roofs and bottoms of support are printed.", "unit": "mm/s", @@ -1861,7 +1861,7 @@ "minimum_value": "0.1", "minimum_value_warning": "5", "maximum_value_warning": "50", - "enabled": "jerk_enabled and support_roof_enable and support_enable", + "enabled": "jerk_enabled and support_interface_enable and support_enable", "settable_per_mesh": false, "settable_per_extruder": true } @@ -2344,7 +2344,7 @@ "enabled": "support_enable", "settable_per_mesh": true }, - "support_roof_enable": + "support_interface_enable": { "label": "Enable Support Interface", "description": "Generate a dense interface between the model and the support. This will create a skin at the top of the support on which the model is printed and at the bottom of the support, where it rests on the model.", @@ -2364,7 +2364,7 @@ "minimum_value": "0", "global_inherits_stack": "support_extruder_nr", "maximum_value_warning": "10", - "enabled": "support_roof_enable and support_enable", + "enabled": "support_interface_enable and support_enable", "settable_per_mesh": true, "children": { @@ -2379,7 +2379,7 @@ "minimum_value": "0", "global_inherits_stack": "support_extruder_nr", "maximum_value_warning": "10", - "enabled": "support_roof_enable and support_enable", + "enabled": "support_interface_enable and support_enable", "settable_per_mesh": true }, "support_bottom_height": @@ -2394,12 +2394,12 @@ "minimum_value_warning": "support_bottom_stair_step_height", "global_inherits_stack": "support_extruder_nr", "maximum_value_warning": "10", - "enabled": "support_roof_enable and support_enable", + "enabled": "support_interface_enable and support_enable", "settable_per_mesh": true } } }, - "support_roof_density": + "support_interface_density": { "label": "Support Interface Density", "description": "Adjusts the density of the roofs and bottoms of the support structure. A higher value results in better overhangs, but the supports are harder to remove.", @@ -2408,12 +2408,12 @@ "default_value": 100, "minimum_value": "0", "maximum_value_warning": "100", - "enabled":"support_roof_enable and support_enable", + "enabled":"support_interface_enable and support_enable", "settable_per_mesh": false, "settable_per_extruder": true, "children": { - "support_roof_line_distance": + "support_interface_line_distance": { "label": "Support Interface Line Distance", "description": "Distance between the printed support interface lines. This setting is calculated by the Support Interface Density, but can be adjusted separately.", @@ -2421,14 +2421,14 @@ "type": "float", "default_value": 0.4, "minimum_value": "0", - "value": "0 if support_roof_density == 0 else (support_roof_line_width * 100) / support_roof_density * (2 if support_roof_pattern == \"grid\" else (3 if support_roof_pattern == \"triangles\" else 1))", - "enabled": "support_roof_enable and support_enable", + "value": "0 if support_interface_density == 0 else (support_interface_line_width * 100) / support_interface_density * (2 if support_interface_pattern == \"grid\" else (3 if support_interface_pattern == \"triangles\" else 1))", + "enabled": "support_interface_enable and support_enable", "settable_per_mesh": false, "settable_per_extruder": true } } }, - "support_roof_pattern": + "support_interface_pattern": { "label": "Support Interface Pattern", "description": "The pattern with which the interface of the support with the model is printed.", @@ -2442,7 +2442,7 @@ "zigzag": "Zig Zag" }, "default_value": "concentric", - "enabled": "support_roof_enable and support_enable", + "enabled": "support_interface_enable and support_enable", "settable_per_mesh": false, "settable_per_extruder": true }, @@ -3077,14 +3077,14 @@ "settable_per_mesh": false, "settable_per_extruder": false }, - "support_roof_extruder_nr": + "support_interface_extruder_nr": { "label": "Support Interface Extruder", "description": "The extruder train to use for printing the roofs and bottoms of the support. This is used in multi-extrusion.", "type": "extruder", "default_value": "0", "value": "support_extruder_nr", - "enabled": "support_enable and support_roof_enable", + "enabled": "support_enable and support_interface_enable", "settable_per_mesh": false, "settable_per_extruder": false } From 70acdb168b307d3908f75d7362da226784cfde5f Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Mon, 1 Aug 2016 14:56:18 +0200 Subject: [PATCH 5/6] Automate removing settings from old profiles for renames So we don't have to edit the actual code for simple setting renames. --- .../VersionUpgrade21to22.py | 25 ++----------------- 1 file changed, 2 insertions(+), 23 deletions(-) diff --git a/plugins/VersionUpgrade/VersionUpgrade21to22/VersionUpgrade21to22.py b/plugins/VersionUpgrade/VersionUpgrade21to22/VersionUpgrade21to22.py index 64ea1ac665..611a290633 100644 --- a/plugins/VersionUpgrade/VersionUpgrade21to22/VersionUpgrade21to22.py +++ b/plugins/VersionUpgrade/VersionUpgrade21to22/VersionUpgrade21to22.py @@ -146,32 +146,11 @@ class VersionUpgrade21to22(VersionUpgrade): for key, value in settings.items(): if key == "fill_perimeter_gaps": #Setting is removed. del settings[key] - elif key == "remove_overlapping_walls_0_enabled": #Setting is functionally replaced. - del settings[key] - settings["travel_compensate_overlapping_walls_0_enabled"] = value - elif key == "remove_overlapping_walls_enabled": #Setting is functionally replaced. - del settings[key] - settings["travel_compensate_overlapping_walls_enabled"] = value - elif key == "remove_overlapping_walls_x_enabled": #Setting is functionally replaced. - del settings[key] - settings["travel_compensate_overlapping_walls_x_enabled"] = value elif key == "retraction_combing": #Combing was made into an enum instead of a boolean. settings[key] = "off" if (value == "False") else "all" - elif key == "retraction_hop": #Setting key was changed. + elif key in _setting_name_translations: del settings[key] - settings["retraction_hop_enabled"] = value - elif key == "skirt_minimal_length": #Setting key was changed. - del settings[key] - settings["skirt_brim_minimal_length"] = value - elif key == "skirt_line_width": #Setting key was changed. - del settings[key] - settings["skirt_brim_line_width"] = value - elif key == "skirt_speed": #Setting key was changed. - del settings[key] - settings["skirt_brim_speed"] = value - elif key == "speed_support_lines": #Setting key was changed. - del settings[key] - settings["speed_support_infill"] = value + settings[_setting_name_translations[key]] = value return settings ## Translates a setting name for the change from Cura 2.1 to 2.2. From f759b2403442dc7f23921f55c89f98146ce31b95 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Mon, 1 Aug 2016 15:03:14 +0200 Subject: [PATCH 6/6] Add translations for support roof to support interface These setting names were changed. Contributes to issue CURA-1013. --- .../VersionUpgrade21to22/VersionUpgrade21to22.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/plugins/VersionUpgrade/VersionUpgrade21to22/VersionUpgrade21to22.py b/plugins/VersionUpgrade/VersionUpgrade21to22/VersionUpgrade21to22.py index 611a290633..a871f969a5 100644 --- a/plugins/VersionUpgrade/VersionUpgrade21to22/VersionUpgrade21to22.py +++ b/plugins/VersionUpgrade/VersionUpgrade21to22/VersionUpgrade21to22.py @@ -34,7 +34,14 @@ _setting_name_translations = { "skirt_line_width": "skirt_brim_line_width", "skirt_minimal_length": "skirt_brim_minimal_length", "skirt_speed": "skirt_brim_speed", - "speed_support_lines": "speed_support_infill" + "speed_support_lines": "speed_support_infill", + "speed_support_roof": "speed_support_interface", + "support_roof_density": "support_interface_density", + "support_roof_enable": "support_interface_enable", + "support_roof_extruder_nr": "support_interface_extruder_nr", + "support_roof_line_distance": "support_interface_line_distance", + "support_roof_line_width": "support_interface_line_width", + "support_roof_pattern": "support_interface_pattern" } ## How to translate variants of specific machines from the old version to the