Fixed issue with per-object settings in 3mf reader

CURA-1263 and CURA-382
This commit is contained in:
Jaime van Kessel 2016-11-10 11:46:13 +01:00
parent d477630cce
commit 1f21957cb4

View file

@ -84,20 +84,20 @@ class ThreeMFReader(MeshReader):
definition = QualityManager.getInstance().getParentMachineDefinition(global_container_stack.getBottom()) definition = QualityManager.getInstance().getParentMachineDefinition(global_container_stack.getBottom())
node.callDecoration("getStack").getTop().setDefinition(definition) node.callDecoration("getStack").getTop().setDefinition(definition)
setting_container = node.callDecoration("getStack").getTop() setting_container = node.callDecoration("getStack").getTop()
for setting in xml_settings: for setting in xml_settings:
setting_key = setting.get("key") setting_key = setting.get("key")
setting_value = setting.text setting_value = setting.text
# Extruder_nr is a special case. # Extruder_nr is a special case.
if setting_key == "extruder_nr": if setting_key == "extruder_nr":
extruder_stack = ExtruderManager.getInstance().getExtruderStack(int(setting_value)) extruder_stack = ExtruderManager.getInstance().getExtruderStack(int(setting_value))
if extruder_stack: if extruder_stack:
node.callDecoration("setActiveExtruder", extruder_stack.getId()) node.callDecoration("setActiveExtruder", extruder_stack.getId())
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(setting_key,"value", setting_value) setting_container.setProperty(setting_key,"value", setting_value)
if len(node.getChildren()) > 0: if len(node.getChildren()) > 0:
group_decorator = GroupDecorator() group_decorator = GroupDecorator()