From e1861d220c8709d129a806d233cd2afd248d0f81 Mon Sep 17 00:00:00 2001 From: tamasmeszaros Date: Mon, 20 Feb 2023 14:10:59 +0100 Subject: [PATCH] Revert "Try to handle fff supports in arrange after slicing" This reverts commit 92e0c1351319d2a8e2d4f5c399d3694a85e1be2d. --- src/slic3r/GUI/Jobs/ArrangeJob.cpp | 45 +----------------------------- 1 file changed, 1 insertion(+), 44 deletions(-) diff --git a/src/slic3r/GUI/Jobs/ArrangeJob.cpp b/src/slic3r/GUI/Jobs/ArrangeJob.cpp index 826dc24076..8115136a57 100644 --- a/src/slic3r/GUI/Jobs/ArrangeJob.cpp +++ b/src/slic3r/GUI/Jobs/ArrangeJob.cpp @@ -212,49 +212,6 @@ static coord_t brim_offset(const PrintObject &po, const ModelInstance &inst) return has_outer_brim ? scaled(brim_width + brim_separation) : 0; } -template -Polygon support_layers_chull (Points &pts, It from_lyr, It to_lyr) { - - size_t cap = 0; - for (auto it = from_lyr; it != to_lyr; ++it) { - for (const ExPolygon &expoly : (*it)->support_islands) - cap += expoly.contour.points.size(); - } - - pts.reserve(pts.size() + cap); - - for (auto it = from_lyr; it != to_lyr; ++it) { - for (const ExPolygon &expoly : (*it)->support_islands) - std::copy(expoly.contour.begin(), expoly.contour.end(), - std::back_inserter(pts)); - } - - Polygon ret = Geometry::convex_hull(pts); - - return ret; -} - -static void update_arrangepoly_fffprint(arrangement::ArrangePolygon &ret, - const PrintObject &po, - const ModelInstance &inst) -{ - auto laststep = po.last_completed_step(); - - coord_t infl = brim_offset(po, inst); - - if (laststep < posCount && laststep > posSupportMaterial) { - Points pts = std::move(ret.poly.contour.points); - Polygon poly = support_layers_chull(pts, - po.support_layers().begin(), - po.support_layers().end()); - - ret.poly.contour = std::move(poly); - ret.poly.holes = {}; - } - - ret.inflation = infl; -} - arrangement::ArrangePolygon ArrangeJob::get_arrange_poly_(ModelInstance *mi) { arrangement::ArrangePolygon ap = get_arrange_poly(mi, m_plater); @@ -442,7 +399,7 @@ arrangement::ArrangePolygon get_arrange_poly(ModelInstance *inst, plater->fff_print().get_print_object_by_model_object_id(obj_id); if (po) { - update_arrangepoly_fffprint(ap, *po, *inst); + ap.inflation = brim_offset(*po, *inst); } }