Always set the active extruder stack when loading project file settings - CURA-4482

This commit is contained in:
ChrisTerBeke 2017-10-31 16:00:22 +01:00
parent c23c031152
commit 77cd10374c
2 changed files with 6 additions and 13 deletions

View file

@ -107,20 +107,13 @@ class ThreeMFReader(MeshReader):
um_node.addDecorator(SettingOverrideDecorator()) um_node.addDecorator(SettingOverrideDecorator())
global_container_stack = Application.getInstance().getGlobalContainerStack() global_container_stack = Application.getInstance().getGlobalContainerStack()
# Ensure the correct next container for the SettingOverride decorator is set. # Ensure the correct next container for the SettingOverride decorator is set.
if global_container_stack: if global_container_stack:
multi_extrusion = global_container_stack.getProperty("machine_extruder_count", "value") > 1 default_stack = ExtruderManager.getInstance().getExtruderStack(0)
# Ensure that all extruder data is reset if default_stack:
if not multi_extrusion: um_node.callDecoration("setActiveExtruder", default_stack.getId())
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()
um_node.callDecoration("setActiveExtruder", default_stack_id)
# Get the definition & set it # Get the definition & set it
definition = QualityManager.getInstance().getParentMachineDefinition(global_container_stack.getBottom()) definition = QualityManager.getInstance().getParentMachineDefinition(global_container_stack.getBottom())
@ -139,7 +132,7 @@ class ThreeMFReader(MeshReader):
else: else:
Logger.log("w", "Unable to find extruder in position %s", setting_value) Logger.log("w", "Unable to find extruder in position %s", setting_value)
continue continue
setting_container.setProperty(key,"value", setting_value) setting_container.setProperty(key, "value", setting_value)
if len(um_node.getChildren()) > 0: if len(um_node.getChildren()) > 0:
group_decorator = GroupDecorator() group_decorator = GroupDecorator()

View file

@ -90,7 +90,7 @@ class SliceInfo(Extension):
# add extruder specific data to slice info # add extruder specific data to slice info
data["extruders"] = [] data["extruders"] = []
extruders = list(ExtruderManager.getInstance().getMachineExtruders(global_container_stack.getId())) extruders = list(ExtruderManager.getInstance().getMachineExtruders(global_container_stack.getId()))
extruders = sorted(extruders, key=lambda extruder: extruder.getMetaDataEntry("position")) extruders = sorted(extruders, key = lambda extruder: extruder.getMetaDataEntry("position"))
for extruder in extruders: for extruder in extruders:
extruder_dict = dict() extruder_dict = dict()