From 35a64b11e56c676c34eef8f609cebba5628f980f Mon Sep 17 00:00:00 2001 From: enricoturri1966 Date: Mon, 6 Nov 2023 09:27:00 +0100 Subject: [PATCH] SPE-2011: Fixed synchronization of unselected instances when rotating an instance in Object Coordinates --- src/slic3r/GUI/Selection.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/slic3r/GUI/Selection.cpp b/src/slic3r/GUI/Selection.cpp index 9e5e68ac59..aa8bd973b7 100644 --- a/src/slic3r/GUI/Selection.cpp +++ b/src/slic3r/GUI/Selection.cpp @@ -1018,7 +1018,7 @@ void Selection::rotate(const Vec3d& rotation, TransformationType transformation_ if (m_mode == Instance && !is_wipe_tower()) { assert(is_from_fully_selected_instance(i)); if (transformation_type.instance()) { - // ensure that the instance rotates as a rigid body + // ensure that the instance rotates as a rigid body Transform3d inst_rotation_matrix = inst_trafo.get_rotation_matrix(); if (inst_trafo.is_left_handed()) { Geometry::TransformationSVD inst_svd(inst_trafo); @@ -1075,7 +1075,7 @@ void Selection::rotate(const Vec3d& rotation, TransformationType transformation_ if (m_mode == Instance) { int rot_axis_max = 0; rotation.cwiseAbs().maxCoeff(&rot_axis_max); - synchronize_unselected_instances((rot_axis_max == 2) ? SyncRotationType::NONE : SyncRotationType::GENERAL); + synchronize_unselected_instances((rot_axis_max == 2) && !transformation_type.instance() ? SyncRotationType::NONE : SyncRotationType::GENERAL); } else if (m_mode == Volume) synchronize_unselected_volumes();