From 623b2cec5c2f2ee660694d1c67b476224cb93688 Mon Sep 17 00:00:00 2001 From: tamasmeszaros Date: Wed, 12 Dec 2018 15:51:39 +0100 Subject: [PATCH] Another fix for crashing support generation. --- src/libslic3r/SLA/SLABasePool.cpp | 7 +++++-- src/libslic3r/SLAPrint.cpp | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/libslic3r/SLA/SLABasePool.cpp b/src/libslic3r/SLA/SLABasePool.cpp index 0e7dd3d06..21bd124f7 100644 --- a/src/libslic3r/SLA/SLABasePool.cpp +++ b/src/libslic3r/SLA/SLABasePool.cpp @@ -447,8 +447,11 @@ void base_plate(const TriangleMesh &mesh, ExPolygons &output, float h, ExPolygons tmp; tmp.reserve(count); for(auto& o : out) for(auto& e : o) tmp.emplace_back(std::move(e)); - output = unify(tmp); - for(auto& o : output) o = o.simplify(0.1/SCALING_FACTOR).front(); + ExPolygons utmp = unify(tmp); + for(auto& o : utmp) { + auto&& smp = o.simplify(0.1/SCALING_FACTOR); + output.insert(output.end(), smp.begin(), smp.end()); + } } void create_base_pool(const ExPolygons &ground_layer, TriangleMesh& out, diff --git a/src/libslic3r/SLAPrint.cpp b/src/libslic3r/SLAPrint.cpp index 07de3596a..3cd1d0a24 100644 --- a/src/libslic3r/SLAPrint.cpp +++ b/src/libslic3r/SLAPrint.cpp @@ -469,7 +469,7 @@ void SLAPrint::process() for(float h = minZ + ilh; h < maxZ; h += flh) if(h >= gnd) heights.emplace_back(h); - auto& layers = po.m_model_slices; + auto& layers = po.m_model_slices; layers.clear(); slicer.slice(heights, &layers, [this](){ throw_if_canceled(); }); };