From a9a533b61d5d90b3bb607cbe786d0079d3fff7e0 Mon Sep 17 00:00:00 2001 From: "j.delarago" Date: Wed, 16 Feb 2022 15:15:31 +0100 Subject: [PATCH] Duplicate modifier meshes for all objects in one at a time mode. CURA-8031 --- plugins/CuraEngineBackend/StartSliceJob.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/plugins/CuraEngineBackend/StartSliceJob.py b/plugins/CuraEngineBackend/StartSliceJob.py index 7e01e96b06..97871af8fc 100644 --- a/plugins/CuraEngineBackend/StartSliceJob.py +++ b/plugins/CuraEngineBackend/StartSliceJob.py @@ -205,6 +205,12 @@ class StartSliceJob(Job): # Get the objects in their groups to print. object_groups = [] if stack.getProperty("print_sequence", "value") == "one_at_a_time": + modifier_mesh_nodes = [] + + for node in DepthFirstIterator(self._scene.getRoot()): + if node.callDecoration("isNonPrintingMesh"): + modifier_mesh_nodes.append(node) + for node in OneAtATimeIterator(self._scene.getRoot()): temp_list = [] @@ -221,7 +227,7 @@ class StartSliceJob(Job): temp_list.append(child_node) if temp_list: - object_groups.append(temp_list) + object_groups.append(temp_list + modifier_mesh_nodes) Job.yieldThread() if len(object_groups) == 0: Logger.log("w", "No objects suitable for one at a time found, or no correct order found")