diff --git a/cura/Settings/ExtruderManager.py b/cura/Settings/ExtruderManager.py index 1c254f5cfc..62d16f699a 100755 --- a/cura/Settings/ExtruderManager.py +++ b/cura/Settings/ExtruderManager.py @@ -445,28 +445,18 @@ class ExtruderManager(QObject): support_roof_enabled |= stack_to_use.getProperty("support_roof_enable", "value") # Check limit to extruders - limit_to_extruder_feature_list = ["wall_extruder_nr", - "wall_0_extruder_nr", + limit_to_extruder_feature_list = ["wall_0_extruder_nr", "wall_x_extruder_nr", "roofing_extruder_nr", "top_bottom_extruder_nr", "infill_extruder_nr", ] - wall_extruder_nr = None for extruder_nr_feature_name in limit_to_extruder_feature_list: extruder_nr = int(global_stack.getProperty(extruder_nr_feature_name, "value")) if extruder_nr == -1: - # outer and inner wall extruder numbers should first inherit from the wall extruder number - if extruder_nr_feature_name in ["wall_0_extruder_nr", "wall_x_extruder_nr"]: - extruder_nr = wall_extruder_nr - else: - extruder_nr = 0 - + continue used_extruder_stack_ids.add(self.extruderIds[str(extruder_nr)]) - if extruder_nr_feature_name == "wall_extruder_nr": - wall_extruder_nr = extruder_nr - # Check support extruders if support_enabled: used_extruder_stack_ids.add(self.extruderIds[str(global_stack.getProperty("support_infill_extruder_nr", "value"))]) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index b4a1a23028..4f4c1f5580 100755 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -665,7 +665,6 @@ "value": "line_width", "default_value": 0.4, "type": "float", - "limit_to_extruder": "wall_extruder_nr", "settable_per_mesh": true, "children": { @@ -864,46 +863,29 @@ "type": "category", "children": { - "wall_extruder_nr": + "wall_0_extruder_nr": { - "label": "Wall Extruder", - "description": "The extruder train used for printing the walls. This is used in multi-extrusion.", + "label": "Outer Wall Extruder", + "description": "The extruder train used for printing the outer wall. This is used in multi-extrusion.", "type": "optional_extruder", "default_value": "-1", "settable_per_mesh": true, "settable_per_extruder": false, "settable_per_meshgroup": true, "settable_globally": true, - "enabled": "machine_extruder_count > 1", - "children": - { - "wall_0_extruder_nr": - { - "label": "Outer Wall Extruder", - "description": "The extruder train used for printing the outer wall. This is used in multi-extrusion.", - "type": "optional_extruder", - "default_value": "-1", - "value": "wall_extruder_nr", - "settable_per_mesh": true, - "settable_per_extruder": false, - "settable_per_meshgroup": true, - "settable_globally": true, - "enabled": "machine_extruder_count > 1" - }, - "wall_x_extruder_nr": - { - "label": "Inner Walls Extruder", - "description": "The extruder train used for printing the inner walls. This is used in multi-extrusion.", - "type": "optional_extruder", - "default_value": "-1", - "value": "wall_extruder_nr", - "settable_per_mesh": true, - "settable_per_extruder": false, - "settable_per_meshgroup": true, - "settable_globally": true, - "enabled": "machine_extruder_count > 1" - } - } + "enabled": "machine_extruder_count > 1" + }, + "wall_x_extruder_nr": + { + "label": "Inner Walls Extruder", + "description": "The extruder train used for printing the inner walls. This is used in multi-extrusion.", + "type": "optional_extruder", + "default_value": "-1", + "settable_per_mesh": true, + "settable_per_extruder": false, + "settable_per_meshgroup": true, + "settable_globally": true, + "enabled": "machine_extruder_count > 1" }, "wall_thickness": { @@ -915,7 +897,7 @@ "minimum_value_warning": "line_width", "maximum_value_warning": "10 * line_width", "type": "float", - "limit_to_extruder": "wall_extruder_nr", + "limit_to_extruder": "wall_x_extruder_nr", "settable_per_mesh": true, "children": { @@ -929,7 +911,7 @@ "maximum_value_warning": "10", "type": "int", "value": "1 if magic_spiralize else max(1, round((wall_thickness - wall_line_width_0) / wall_line_width_x) + 1) if wall_thickness != 0 else 0", - "limit_to_extruder": "wall_extruder_nr", + "limit_to_extruder": "wall_x_extruder_nr", "settable_per_mesh": true } } @@ -1166,7 +1148,7 @@ "description": "Compensate the flow for parts of a wall being printed where there is already a wall in place.", "type": "bool", "default_value": true, - "limit_to_extruder": "wall_extruder_nr", + "limit_to_extruder": "wall_x_extruder_nr", "settable_per_mesh": true, "children": { @@ -2043,7 +2025,6 @@ "maximum_value_warning": "150", "default_value": 30, "value": "speed_print / 2", - "limit_to_extruder": "wall_extruder_nr", "settable_per_mesh": true, "children": { @@ -2381,7 +2362,6 @@ "default_value": 3000, "value": "acceleration_print", "enabled": "resolveOrValue('acceleration_enabled')", - "limit_to_extruder": "wall_extruder_nr", "settable_per_mesh": true, "children": { @@ -2672,7 +2652,6 @@ "default_value": 20, "value": "jerk_print", "enabled": "resolveOrValue('jerk_enabled')", - "limit_to_extruder": "wall_extruder_nr", "settable_per_mesh": true, "children": {