From 8da1f8fa7d7618b2937420d609beb87190043430 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Tue, 2 Apr 2019 14:16:54 +0200 Subject: [PATCH 1/3] Exclude support blockers in used extruders CURA-6440 --- cura/Settings/ExtruderManager.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/cura/Settings/ExtruderManager.py b/cura/Settings/ExtruderManager.py index b6b7b31936..57bc16a7fd 100755 --- a/cura/Settings/ExtruderManager.py +++ b/cura/Settings/ExtruderManager.py @@ -224,7 +224,16 @@ class ExtruderManager(QObject): # Get the extruders of all printable meshes in the scene meshes = [node for node in DepthFirstIterator(scene_root) if isinstance(node, SceneNode) and node.isSelectable()] #type: ignore #Ignore type error because iter() should get called automatically by Python syntax. + + # Exclude anti-overhang meshes + mesh_list = [] for mesh in meshes: + stack = mesh.callDecoration("getStack") + if stack is not None and stack.getProperty("anti_overhang_mesh", "value"): + continue + mesh_list.append(mesh) + + for mesh in mesh_list: extruder_stack_id = mesh.callDecoration("getActiveExtruder") if not extruder_stack_id: # No per-object settings for this node From 4e2d7a6ea989fe970e3380aee4c06736feab4154 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Thu, 4 Apr 2019 16:22:03 +0200 Subject: [PATCH 2/3] Fix combing setting This is a Python expression so it needs to be in quotes to become a string. --- resources/definitions/hms434.def.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/definitions/hms434.def.json b/resources/definitions/hms434.def.json index dfb39fa344..163f3fbec2 100644 --- a/resources/definitions/hms434.def.json +++ b/resources/definitions/hms434.def.json @@ -121,7 +121,7 @@ "retraction_hop_enabled": {"value": false}, "retraction_hop": {"value": 1}, - "retraction_combing": {"value": "off"}, + "retraction_combing": {"value": "'off'"}, "cool_fan_speed": {"value": 0}, "cool_fan_enabled": {"value": true}, From 8c5f871185067909aad221789247949ffe483366 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Thu, 4 Apr 2019 16:35:48 +0200 Subject: [PATCH 3/3] Also omit support meshes from used extruders list Their own extruder doesn't get used necessarily, because these meshes are then printed using the support extruder. Contributes to issue CURA-6440. --- cura/Settings/ExtruderManager.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cura/Settings/ExtruderManager.py b/cura/Settings/ExtruderManager.py index 57bc16a7fd..5ef308c779 100755 --- a/cura/Settings/ExtruderManager.py +++ b/cura/Settings/ExtruderManager.py @@ -229,7 +229,7 @@ class ExtruderManager(QObject): mesh_list = [] for mesh in meshes: stack = mesh.callDecoration("getStack") - if stack is not None and stack.getProperty("anti_overhang_mesh", "value"): + if stack is not None and (stack.getProperty("anti_overhang_mesh", "value") or stack.getProperty("support_mesh", "value")): continue mesh_list.append(mesh)