diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index 5e78aeeed1..337cac8ef0 100644 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -238,7 +238,7 @@ class CuraApplication(QtApplication): support support_enable support_type - support_roof_density + support_interface_density platform_adhesion adhesion_type brim_width diff --git a/plugins/VersionUpgrade/VersionUpgrade21to22/VersionUpgrade21to22.py b/plugins/VersionUpgrade/VersionUpgrade21to22/VersionUpgrade21to22.py index 64ea1ac665..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 @@ -146,32 +153,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. diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 84b5d3219e..33d41332a1 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -635,16 +635,16 @@ "settable_per_mesh": false, "settable_per_extruder": true }, - "support_roof_line_width": + "support_interface_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", "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 @@ -1463,17 +1463,17 @@ "settable_per_mesh": false, "settable_per_extruder": true }, - "speed_support_roof": + "speed_support_interface": { - "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, "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 @@ -1694,9 +1694,9 @@ "settable_per_mesh": false, "settable_per_extruder": true }, - "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.", + "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²", "type": "float", "default_value": 3000, @@ -1704,7 +1704,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 } @@ -1913,9 +1913,9 @@ "settable_per_mesh": false, "settable_per_extruder": true }, - "jerk_support_roof": { - "label": "Support Roof Jerk", - "description": "The maximum instantaneous velocity change with which the roofs of support are printed.", + "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", "type": "float", "default_value": 20, @@ -1923,7 +1923,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 } @@ -2437,62 +2437,94 @@ "enabled": "support_enable", "settable_per_mesh": true }, - "support_roof_enable": + "support_interface_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", "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, "minimum_value": "0", "global_inherits_stack": "support_extruder_nr", "maximum_value_warning": "10", - "enabled": "support_roof_enable and support_enable", - "settable_per_mesh": true + "enabled": "support_interface_enable and support_enable", + "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_interface_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", + "minimum_value_warning": "support_bottom_stair_step_height", + "global_inherits_stack": "support_extruder_nr", + "maximum_value_warning": "10", + "enabled": "support_interface_enable and support_enable", + "settable_per_mesh": true + } + } }, - "support_roof_density": + "support_interface_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, "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 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, "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 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": { @@ -2503,7 +2535,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 }, @@ -3138,14 +3170,14 @@ "settable_per_mesh": false, "settable_per_extruder": false }, - "support_roof_extruder_nr": + "support_interface_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", - "enabled": "support_enable and support_roof_enable", + "enabled": "support_enable and support_interface_enable", "settable_per_mesh": false, "settable_per_extruder": false }