diff --git a/cura/Settings/ExtruderManager.py b/cura/Settings/ExtruderManager.py index cd3121fe75..b2095ba28c 100755 --- a/cura/Settings/ExtruderManager.py +++ b/cura/Settings/ExtruderManager.py @@ -221,24 +221,27 @@ class ExtruderManager(QObject): # if there is no per-mesh stack, we use the build extruder for this mesh stack_to_use = container_registry.findContainerStacks(id = extruder_stack_id)[0] - support_enabled |= stack_to_use.getProperty("support_enable", "value") - support_bottom_enabled |= stack_to_use.getProperty("support_bottom_enable", "value") - support_roof_enabled |= stack_to_use.getProperty("support_roof_enable", "value") + if not support_enabled: + support_enabled |= stack_to_use.getProperty("support_enable", "value") + if not support_bottom_enabled: + support_bottom_enabled |= stack_to_use.getProperty("support_bottom_enable", "value") + if not support_roof_enabled: + support_roof_enabled |= stack_to_use.getProperty("support_roof_enable", "value") - # Check limit to extruders - limit_to_extruder_feature_list = ["wall_0_extruder_nr", - "wall_x_extruder_nr", - "roofing_extruder_nr", - "top_bottom_extruder_nr", - "infill_extruder_nr", - ] - 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: - continue - if str(extruder_nr) not in self.extruderIds: - extruder_nr = int(self._application.getMachineManager().defaultExtruderPosition) - used_extruder_stack_ids.add(self.extruderIds[str(extruder_nr)]) + # Check limit to extruders + limit_to_extruder_feature_list = ["wall_0_extruder_nr", + "wall_x_extruder_nr", + "roofing_extruder_nr", + "top_bottom_extruder_nr", + "infill_extruder_nr", + ] + 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: + continue + if str(extruder_nr) not in self.extruderIds: + extruder_nr = int(self._application.getMachineManager().defaultExtruderPosition) + used_extruder_stack_ids.add(self.extruderIds[str(extruder_nr)]) # Check support extruders if support_enabled: