From d6fe5767e0d59e56c643707102fb8259733664f9 Mon Sep 17 00:00:00 2001 From: tamasmeszaros Date: Tue, 17 Jan 2023 16:41:27 +0100 Subject: [PATCH] Small supports now go through the pad to always reach the bed They will not hang in the air if they end up in the gap between the "around object pad" and the object --- src/libslic3r/SLA/SupportTreeUtils.hpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/libslic3r/SLA/SupportTreeUtils.hpp b/src/libslic3r/SLA/SupportTreeUtils.hpp index e4c03da6c..93f370c32 100644 --- a/src/libslic3r/SLA/SupportTreeUtils.hpp +++ b/src/libslic3r/SLA/SupportTreeUtils.hpp @@ -469,8 +469,10 @@ inline long build_ground_connection(SupportTreeBuilder &builder, gp.z() = ground_level(sm); double h = conn.path.back().pos.z() - gp.z(); - if (conn.pillar_base->r_top < sm.cfg.head_back_radius_mm) + if (conn.pillar_base->r_top < sm.cfg.head_back_radius_mm) { h += sm.pad_cfg.wall_thickness_mm; + gp.z() -= sm.pad_cfg.wall_thickness_mm; + } // TODO: does not work yet // if (conn.path.back().id < 0) { @@ -478,7 +480,8 @@ inline long build_ground_connection(SupportTreeBuilder &builder, // long head_id = std::abs(conn.path.back().id); // ret = builder.add_pillar(head_id, h); // } else - ret = builder.add_pillar(gp, h, conn.path.back().r, conn.pillar_base->r_top); + + ret = builder.add_pillar(gp, h, conn.path.back().r, conn.pillar_base->r_top); if (conn.pillar_base->r_top >= sm.cfg.head_back_radius_mm) builder.add_pillar_base(ret, conn.pillar_base->height, conn.pillar_base->r_bottom);