FIX: the position of the assembly view is wrong after adding text

Change-Id: I1fa465b9155a0718ca7122d4591023de963152c6
(cherry picked from commit cd95bfaea18b9f77f9b3deb1bf27ee1188201f69)
This commit is contained in:
zhimin.zeng 2022-10-11 15:18:35 +08:00 committed by Lane.Wei
parent f996eedf49
commit 34fb5c84d9
1 changed files with 9 additions and 0 deletions

View File

@ -5041,6 +5041,15 @@ void ObjectList::apply_object_instance_transfrom_to_all_volumes(ModelObject *mod
const Geometry::Transformation &instance_transformation = model_object->instances[0]->get_transformation();
Vec3d original_instance_center = instance_transformation.get_offset();
// apply the instance_transform(except offset) to assemble_transform
Geometry::Transformation instance_transformation_copy = instance_transformation;
instance_transformation_copy.set_offset(Vec3d(0, 0, 0)); // remove the effect of offset
const Transform3d & instance_inverse_matrix = instance_transformation_copy.get_matrix().inverse();
const Transform3d & assemble_matrix = model_object->instances[0]->get_assemble_transformation().get_matrix();
Transform3d new_assemble_transform = assemble_matrix * instance_inverse_matrix;
model_object->instances[0]->set_assemble_from_transform(new_assemble_transform);
// apply the instance_transform to volumn
const Transform3d &transformation_matrix = instance_transformation.get_matrix();
for (ModelVolume *volume : model_object->volumes) {
const Transform3d &volume_matrix = volume->get_matrix();