Move checking for some global features outside of the per node loop

CURA-7106
This commit is contained in:
Jaime van Kessel 2020-06-23 13:24:22 +02:00
parent 1f698fd664
commit f9b288f3c6
No known key found for this signature in database
GPG key ID: 3710727397403C91

View file

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