Always use extruder stack when adding settings per object - CURA-4482

This commit is contained in:
ChrisTerBeke 2017-10-31 16:04:06 +01:00
parent 77cd10374c
commit a7383b42d5

View file

@ -78,21 +78,16 @@ class PerObjectSettingsTool(Tool):
def _onGlobalContainerChanged(self): def _onGlobalContainerChanged(self):
global_container_stack = Application.getInstance().getGlobalContainerStack() global_container_stack = Application.getInstance().getGlobalContainerStack()
if global_container_stack: if global_container_stack:
# used for enabling or disabling per extruder settings per object
self._multi_extrusion = global_container_stack.getProperty("machine_extruder_count", "value") > 1 self._multi_extrusion = global_container_stack.getProperty("machine_extruder_count", "value") > 1
# Ensure that all extruder data is reset extruder_stack = ExtruderManager.getInstance().getExtruderStack(0)
if not self._multi_extrusion:
default_stack_id = global_container_stack.getId()
else:
default_stack = ExtruderManager.getInstance().getExtruderStack(0)
if default_stack:
default_stack_id = default_stack.getId()
else:
default_stack_id = global_container_stack.getId()
if extruder_stack:
root_node = Application.getInstance().getController().getScene().getRoot() root_node = Application.getInstance().getController().getScene().getRoot()
for node in DepthFirstIterator(root_node): for node in DepthFirstIterator(root_node):
new_stack_id = default_stack_id new_stack_id = extruder_stack.getId()
# Get position of old extruder stack for this node # Get position of old extruder stack for this node
old_extruder_pos = node.callDecoration("getActiveExtruderPosition") old_extruder_pos = node.callDecoration("getActiveExtruderPosition")
if old_extruder_pos is not None: if old_extruder_pos is not None: