From bfb70c598cf331c28f977add3b785e4dacf10180 Mon Sep 17 00:00:00 2001 From: Ian Bassi Date: Mon, 20 Apr 2026 19:18:14 -0300 Subject: [PATCH] CalibUtils: Center mesh models (#13252) --- src/slic3r/Utils/CalibUtils.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/slic3r/Utils/CalibUtils.cpp b/src/slic3r/Utils/CalibUtils.cpp index b18fb35c27..d85c4f2230 100644 --- a/src/slic3r/Utils/CalibUtils.cpp +++ b/src/slic3r/Utils/CalibUtils.cpp @@ -458,8 +458,14 @@ static void read_model_from_file(const std::string& input_file, Model& model) &is_bbl_3mf, &file_version, nullptr, nullptr, nullptr, plate_to_slice); model.add_default_instances(); - for (auto object : model.objects) - object->ensure_on_bed(); + + const std::string extension = fs::path(input_file).extension().string(); + const bool is_project_file = extension == ".3mf" || extension == ".3MF" || extension == ".amf" || extension == ".AMF"; + for (auto object : model.objects) { + if (!is_project_file) + object->center_around_origin(false); + object->ensure_on_bed(is_project_file); + } } std::array get_cut_plane_points(const BoundingBoxf3 &bbox, const double &cut_height)