From e700113b39f39b837175c680929538aa9655a9f9 Mon Sep 17 00:00:00 2001 From: Kiss Lorand <50251547+kisslorand@users.noreply.github.com> Date: Tue, 16 Jun 2026 21:50:09 +0300 Subject: [PATCH] Fix non-organic tree support base clearance above object surfaces (#14128) --- src/libslic3r/Support/TreeSupport.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/libslic3r/Support/TreeSupport.cpp b/src/libslic3r/Support/TreeSupport.cpp index 7ae0cd94c8..0a8cda619d 100644 --- a/src/libslic3r/Support/TreeSupport.cpp +++ b/src/libslic3r/Support/TreeSupport.cpp @@ -2349,6 +2349,15 @@ void TreeSupport::draw_circles() ts_layer->base_areas = std::move(expanded_base_areas); } + // Orca: Final tree base polygons may be too close above model surfaces. + // Enforce bottom Z clearance for non-contact support layers as well. + if (!ts_layer->base_areas.empty()) { + const Polygons trimming = get_trim_support_regions( + *m_object, ts_layer, 0., m_slicing_params.gap_object_support, 0); + if (!trimming.empty()) + ts_layer->base_areas = diff_ex(ts_layer->base_areas, trimming); + } + auto &area_groups = ts_layer->area_groups; for (auto& expoly : ts_layer->base_areas) {