From a7e22e82b6c8f05ac7b539ec82fc25b4376ec94c Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Fri, 15 Jul 2016 11:20:08 +0200 Subject: [PATCH] Duplication now works regardles how deeply group nested a node is CURA-1578 --- cura/CuraApplication.py | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index 800f2a3b95..08d46af4df 100644 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -585,18 +585,16 @@ class CuraApplication(QtApplication): node = Selection.getSelectedObject(0) if node: + current_node = node + # Find the topmost group + while current_node.getParent() and current_node.getParent().callDecoration("isGroup"): + current_node = current_node.getParent() + + new_node = copy.deepcopy(current_node) + op = GroupedOperation() for _ in range(count): - if node.getParent() and node.getParent().callDecoration("isGroup"): - new_node = copy.deepcopy(node.getParent()) #Copy the group node. - new_node.callDecoration("recomputeConvexHull") - - op.addOperation(AddSceneNodeOperation(new_node,node.getParent().getParent())) - else: - new_node = copy.deepcopy(node) - new_node.callDecoration("recomputeConvexHull") - op.addOperation(AddSceneNodeOperation(new_node, node.getParent())) - + op.addOperation(AddSceneNodeOperation(new_node, current_node.getParent())) op.push() ## Center object on platform.