From b9287d51dd89c0fdec8dcea398285055e13e71ce Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Thu, 6 Sep 2018 08:56:33 +0200 Subject: [PATCH] Tweaks to ModelObject::center_around_origin() --- xs/src/libslic3r/Model.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/xs/src/libslic3r/Model.cpp b/xs/src/libslic3r/Model.cpp index 6ad8ebb49..93f0152c8 100644 --- a/xs/src/libslic3r/Model.cpp +++ b/xs/src/libslic3r/Model.cpp @@ -669,10 +669,9 @@ void ModelObject::center_around_origin() if (! v->modifier) bb.merge(v->mesh.bounding_box()); - // First align to origin on XYZ, then center it on XY. - Vec3d size = bb.size(); - size(2) = 0.0; - Vec3d shift = -bb.min - 0.5 * size; + // Shift is the vector from the center of the bottom face of the bounding box to the origin + Vec3d shift = -bb.center(); + shift(2) = -bb.min(2); this->translate(shift); this->origin_translation += shift;