From cbdddd0b16a4d8c21c62f57719100df2d37119ec Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Thu, 18 May 2017 10:24:52 +0200 Subject: [PATCH 1/2] Ignore "quality" and "variant" containers in project loading CURA-3756 --- plugins/3MFReader/ThreeMFWorkspaceReader.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/3MFReader/ThreeMFWorkspaceReader.py b/plugins/3MFReader/ThreeMFWorkspaceReader.py index 0262eba419..2e7977ecda 100755 --- a/plugins/3MFReader/ThreeMFWorkspaceReader.py +++ b/plugins/3MFReader/ThreeMFWorkspaceReader.py @@ -448,13 +448,13 @@ class ThreeMFWorkspaceReader(WorkspaceReader): container_id = self._stripFileToId(instance_container_file) serialized = archive.open(instance_container_file).read().decode("utf-8") - # HACK! we ignore the "metadata/type = quality" instance containers! + # HACK! we ignore "quality" and "variant" instance containers! parser = configparser.ConfigParser() parser.read_string(serialized) if not parser.has_option("metadata", "type"): Logger.log("w", "Cannot find metadata/type in %s, ignoring it", instance_container_file) continue - if parser.get("metadata", "type") == "quality": + if parser.get("metadata", "type") in self._ignored_instance_container_types: continue instance_container = InstanceContainer(container_id) From 5ed89525fb51eca461035f84124fac26846914f0 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Thu, 18 May 2017 10:26:32 +0200 Subject: [PATCH 2/2] selectedObjectExtruders should handle no extruder case CURA-3756 --- cura/Settings/ExtruderManager.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/cura/Settings/ExtruderManager.py b/cura/Settings/ExtruderManager.py index b7cbf80d65..bab4aa2d9e 100755 --- a/cura/Settings/ExtruderManager.py +++ b/cura/Settings/ExtruderManager.py @@ -151,14 +151,14 @@ class ExtruderManager(QObject): selected_nodes.append(node) # Then, figure out which nodes are used by those selected nodes. + global_stack = Application.getInstance().getGlobalContainerStack() + current_extruder_trains = self._extruder_trains.get(global_stack.getId()) for node in selected_nodes: extruder = node.callDecoration("getActiveExtruder") if extruder: object_extruders.add(extruder) - else: - global_stack = Application.getInstance().getGlobalContainerStack() - if global_stack.getId() in self._extruder_trains: - object_extruders.add(self._extruder_trains[global_stack.getId()]["0"].getId()) + elif current_extruder_trains: + object_extruders.add(current_extruder_trains["0"].getId()) self._selected_object_extruders = list(object_extruders)