diff --git a/src/slic3r/GUI/GLCanvas3D.cpp b/src/slic3r/GUI/GLCanvas3D.cpp index d3d5320c1..1620df8de 100644 --- a/src/slic3r/GUI/GLCanvas3D.cpp +++ b/src/slic3r/GUI/GLCanvas3D.cpp @@ -2248,9 +2248,12 @@ void GLCanvas3D::Selection::_ensure_on_bed() for (unsigned int i : m_list) { GLVolume* volume = (*m_volumes)[i]; - double min_z = volume->transformed_convex_hull_bounding_box().min(2); - if (min_z != 0.0) - volume->set_instance_offset(Z, volume->get_instance_offset(Z) - min_z); + if (!volume->is_modifier) + { + double min_z = volume->transformed_convex_hull_bounding_box().min(2); + if (min_z != 0.0) + volume->set_instance_offset(Z, volume->get_instance_offset(Z) - min_z); + } } } #endif // ENABLE_ENSURE_ON_BED_WHILE_SCALING diff --git a/src/slic3r/GUI/GUI_ObjectList.cpp b/src/slic3r/GUI/GUI_ObjectList.cpp index 0d70a7ae5..06f1907d8 100644 --- a/src/slic3r/GUI/GUI_ObjectList.cpp +++ b/src/slic3r/GUI/GUI_ObjectList.cpp @@ -814,6 +814,7 @@ void ObjectList::load_generic_subobject(const std::string& type_name, const int new_volume->set_type(static_cast(type)); #if ENABLE_MODELVOLUME_TRANSFORM + new_volume->set_offset((*m_objects)[obj_idx]->origin_translation + Vec3d(0.0, 0.0, -mesh.stl.stats.min(2))); new_volume->center_geometry(); #endif // ENABLE_MODELVOLUME_TRANSFORM