From e6e0085dccc9a5bf0eb0ee276315a6d762386230 Mon Sep 17 00:00:00 2001 From: "zhimin.zeng" Date: Thu, 30 Mar 2023 17:08:25 +0800 Subject: [PATCH] FIX: the volume position is not correct(3mf from solidwork) Change-Id: I69fe3f9896214da502b60bc23deee6525599677e --- src/libslic3r/Format/bbs_3mf.cpp | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/src/libslic3r/Format/bbs_3mf.cpp b/src/libslic3r/Format/bbs_3mf.cpp index d6d9110652..1fd2b1180a 100644 --- a/src/libslic3r/Format/bbs_3mf.cpp +++ b/src/libslic3r/Format/bbs_3mf.cpp @@ -4036,16 +4036,17 @@ void PlateData::parse_filament_info(GCodeProcessorResult *result) TriangleMesh triangle_mesh(std::move(its), volume_data->mesh_stats); - if (!m_is_bbl_3mf) { - // if the 3mf was not produced by BambuStudio and there is only one instance, - // bake the transformation into the geometry to allow the reload from disk command - // to work properly - if (object.instances.size() == 1) { - triangle_mesh.transform(object.instances.front()->get_transformation().get_matrix(), false); - object.instances.front()->set_transformation(Slic3r::Geometry::Transformation()); - //FIXME do the mesh fixing? - } - } + // BBS: no need to multiply the instance matrix into the volume + //if (!m_is_bbl_3mf) { + // // if the 3mf was not produced by BambuStudio and there is only one instance, + // // bake the transformation into the geometry to allow the reload from disk command + // // to work properly + // if (object.instances.size() == 1) { + // triangle_mesh.transform(object.instances.front()->get_transformation().get_matrix(), false); + // object.instances.front()->set_transformation(Slic3r::Geometry::Transformation()); + // //FIXME do the mesh fixing? + // } + //} if (triangle_mesh.volume() < 0) triangle_mesh.flip_triangles();