From 8caae610ba0ae178ac5ecc9fc63cfffd622f6729 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Thu, 10 Jun 2021 16:18:42 +0200 Subject: [PATCH 1/2] Set object bottom to be on buildplate with center model action CURA-7859 --- cura/CuraActions.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/cura/CuraActions.py b/cura/CuraActions.py index d6e5add912..3ae458985b 100644 --- a/cura/CuraActions.py +++ b/cura/CuraActions.py @@ -67,11 +67,15 @@ class CuraActions(QObject): current_node = parent_node parent_node = current_node.getParent() - # This was formerly done with SetTransformOperation but because of - # unpredictable matrix deconstruction it was possible that mirrors - # could manifest as rotations. Centering is therefore done by - # moving the node to negative whatever its position is: - center_operation = TranslateOperation(current_node, -current_node._position) + # Find out where the bottom of the object is + bbox = current_node.getBoundingBox() + if bbox: + center_y = current_node.getWorldPosition().y - bbox.bottom + else: + center_y = 0 + + # Move the object so that it's bottom is on to of the buildplate + center_operation = TranslateOperation(current_node, Vector(0, center_y, 0), set_position= True) operation.addOperation(center_operation) operation.push() From cf604570bb5756563f8c329dde810e6f51b98ffc Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Mon, 14 Jun 2021 15:41:30 +0200 Subject: [PATCH 2/2] Fix code style Contributes to issue CURA-7859. --- cura/CuraActions.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cura/CuraActions.py b/cura/CuraActions.py index 3ae458985b..4d121338d8 100644 --- a/cura/CuraActions.py +++ b/cura/CuraActions.py @@ -75,7 +75,7 @@ class CuraActions(QObject): center_y = 0 # Move the object so that it's bottom is on to of the buildplate - center_operation = TranslateOperation(current_node, Vector(0, center_y, 0), set_position= True) + center_operation = TranslateOperation(current_node, Vector(0, center_y, 0), set_position = True) operation.addOperation(center_operation) operation.push()