From e15600db0e5feb2650f10c6f7778b68ddcc54f1d Mon Sep 17 00:00:00 2001 From: supermerill Date: Fri, 21 Dec 2018 22:20:18 +0100 Subject: bug fix https://github.com/supermerill/Slic3r/issues/21 medial axis ensure_not_overextrude feature fix. --- xs/src/libslic3r/MedialAxis.cpp | 6 +++--- 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) { -- cgit v1.2.3