From 042141413a6f883f14714b23a8be916e6a1592a8 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Wed, 16 Nov 2016 17:22:06 +0100 Subject: [PATCH] Fixed mergeSelected My previous fix was wrong; It only worked on what I wanted to fix (and broke the normal behavior). The current fix should fix both issues (merging works & merging groups works) CURA-2932 --- cura/CuraApplication.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index da1a0688e2..0216bacce4 100644 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -873,7 +873,7 @@ class CuraApplication(QtApplication): return # Compute the center of the objects when their origins are aligned. - object_centers = [node.getBoundingBox().center for node in group_node.getChildren()] + object_centers = [node.getMeshData().getCenterPosition().scale(node.getScale()) for node in group_node.getAllChildren() if node.getMeshData()] if object_centers and len(object_centers) > 0: middle_x = sum([v.x for v in object_centers]) / len(object_centers) middle_y = sum([v.y for v in object_centers]) / len(object_centers) @@ -884,7 +884,7 @@ class CuraApplication(QtApplication): # Move each node to the same position. for center, node in zip(object_centers, group_node.getChildren()): # Align the object and also apply the offset to center it inside the group. - node.translate(-1 * (center - offset), SceneNode.TransformSpace.World) + node.setPosition(center - offset) # Use the previously found center of the group bounding box as the new location of the group group_node.setPosition(group_node.getBoundingBox().center)