From 3dbad698df22a13ef35eed9d1a797710f8a39d88 Mon Sep 17 00:00:00 2001 From: enricoturri1966 Date: Thu, 12 May 2022 12:07:27 +0200 Subject: [PATCH] Tech ENABLE_TRANSFORMATIONS_BY_MATRICES - Fixed translation of volumes in local coordinate system --- src/slic3r/GUI/Selection.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/slic3r/GUI/Selection.cpp b/src/slic3r/GUI/Selection.cpp index 65597a8360..3e92240937 100644 --- a/src/slic3r/GUI/Selection.cpp +++ b/src/slic3r/GUI/Selection.cpp @@ -782,8 +782,11 @@ void Selection::translate(const Vec3d& displacement, TransformationType transfor else assert(false); } - else - transform_volume_relative(v, volume_data, transformation_type, Geometry::translation_transform(displacement)); + else { + const Vec3d offset = transformation_type.local() ? + volume_data.get_volume_transform().get_rotation_matrix() * displacement : displacement; + transform_volume_relative(v, volume_data, transformation_type, Geometry::translation_transform(offset)); + } } #if !DISABLE_INSTANCES_SYNCH