diff options
author | supermerill <merill@fr.fr> | 2018-12-22 00:20:18 +0300 |
---|---|---|
committer | supermerill <merill@fr.fr> | 2018-12-22 00:20:18 +0300 |
commit | e15600db0e5feb2650f10c6f7778b68ddcc54f1d (patch) | |
tree | eb37de8868f5b3160f10883372b09569b1d8c5af | |
parent | a1a6beca88002e3cf4714c57372dff33c2da4871 (diff) |
bug fix https://github.com/supermerill/Slic3r/issues/211.42.0-alp
medial axis ensure_not_overextrude feature fix.
-rw-r--r-- | xs/src/libslic3r/MedialAxis.cpp | 6 | ||||
-rw-r--r-- | xs/src/libslic3r/Print.cpp | 8 |
2 files changed, 9 insertions, 5 deletions
diff --git a/xs/src/libslic3r/MedialAxis.cpp b/xs/src/libslic3r/MedialAxis.cpp index 18242b8ab..b6fe9944a 100644 --- a/xs/src/libslic3r/MedialAxis.cpp +++ b/xs/src/libslic3r/MedialAxis.cpp @@ -1279,9 +1279,9 @@ MedialAxis::ensure_not_overextrude(ThickPolylines& pp) //reduce width double reduce_by = boundsVolume / volume; for (ThickPolyline& polyline : pp) { - for (ThickLine &l : polyline.thicklines()) { - l.a_width *= reduce_by; - l.b_width *= reduce_by; + for (coordf_t &width : polyline.width) { + width *= reduce_by; + width *= reduce_by; } } } diff --git a/xs/src/libslic3r/Print.cpp b/xs/src/libslic3r/Print.cpp index c16041eea..727f803d7 100644 --- a/xs/src/libslic3r/Print.cpp +++ b/xs/src/libslic3r/Print.cpp @@ -902,8 +902,12 @@ void Print::_make_skirt() for (const SupportLayer *layer : object->support_layers) { if (layer->print_z > skirt_height_z) break; - for (const ExtrusionEntity *extrusion_entity : layer->support_fills.entities) - append(object_points, extrusion_entity->as_polyline().points); + for (const ExtrusionEntity *extrusion_entity : layer->support_fills.entities) { + Polylines poly; + extrusion_entity->collect_polylines(poly); + for (const Polyline &polyline : poly) + append(object_points, polyline.points); + } } // Repeat points for each object copy. for (const Point &shift : object->_shifted_copies) { |