diff options
Diffstat (limited to 'src/libslic3r/Model.cpp')
-rw-r--r-- | src/libslic3r/Model.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/libslic3r/Model.cpp b/src/libslic3r/Model.cpp index d7682d276..7a1cdf8d3 100644 --- a/src/libslic3r/Model.cpp +++ b/src/libslic3r/Model.cpp @@ -461,11 +461,11 @@ bool Model::looks_like_imperial_units() const return false; } -void Model::convert_from_imperial_units() +void Model::convert_from_imperial_units(bool only_small_volumes) { double in_to_mm = 25.4; for (ModelObject* obj : this->objects) - if (obj->get_object_stl_stats().volume < 9.0) { // 9 = 3*3*3; + if (! only_small_volumes || obj->get_object_stl_stats().volume < 9.0) { // 9 = 3*3*3; obj->scale_mesh_after_creation(Vec3d(in_to_mm, in_to_mm, in_to_mm)); for (ModelVolume* v : obj->volumes) v->source.is_converted_from_inches = true; @@ -1062,7 +1062,7 @@ void ModelObject::convert_units(ModelObjectPtrs& new_objects, bool from_imperial // Perform conversion only if the target "imperial" state is different from the current one. // This check supports conversion of "mixed" set of volumes, each with different "imperial" state. - if (vol->source.is_converted_from_inches != from_imperial && + if (//vol->source.is_converted_from_inches != from_imperial && (volume_idxs.empty() || std::find(volume_idxs.begin(), volume_idxs.end(), vol_idx) != volume_idxs.end())) { vol->scale_geometry_after_creation(versor); |