diff --git a/src/libslic3r/SLA/SLASupportTree.cpp b/src/libslic3r/SLA/SLASupportTree.cpp index cc3664b9d..7fd5d16ef 100644 --- a/src/libslic3r/SLA/SLASupportTree.cpp +++ b/src/libslic3r/SLA/SLASupportTree.cpp @@ -1553,7 +1553,7 @@ bool SLASupportTree::generate(const PointSet &points, const double HWIDTH_MM = R/3; // We will sink the pins into the model surface for a distance of 1/3 of - // HWIDTH_MM + // the pin radius for(int i = 0; i < headless_pts.rows(); i++) { tifcl(); Vec3d sp = headless_pts.row(i); @@ -1564,7 +1564,7 @@ bool SLASupportTree::generate(const PointSet &points, Vec3d sj = sp + R * n; double dist = ray_mesh_intersect(sj, dir, emesh); - if(std::isinf(dist) || std::isnan(dist)) continue; + if(std::isinf(dist) || std::isnan(dist) || dist < 2*R) continue; Vec3d ej = sj + (dist + HWIDTH_MM)* dir; result.add_compact_bridge(sp, ej, n, R);