From 5c84f2e118bb05709313f69fdbf3110747f4dcf4 Mon Sep 17 00:00:00 2001 From: Jonathan Huizingh Date: Wed, 4 Mar 2026 14:08:13 -0800 Subject: [PATCH 1/2] Fix lite snap connectivity: increase click hole bridge thickness MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The lite snap click holes left only a 0.2mm bridge at the top of the 3.0mm core (hole height 2.8mm). CGAL cannot generate connecting mesh triangles across a bridge this thin at this scale, causing the snap to render as multiple disconnected bodies in STL output. Fix: reduce click hole heights for lite mode so the bridge is ≥1.5mm: - Main click holes: 2.8mm → 1.5mm (lite only) - Directional rear click hole: 2.2mm → 0.9mm (lite only, starts at z=0.599) Standard snap is unaffected (larger absolute scale handles 0.2mm bridge). Co-Authored-By: Claude Sonnet 4.6 --- openGrid/opengrid-snap.scad | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/openGrid/opengrid-snap.scad b/openGrid/opengrid-snap.scad index 12434a7..97a1f67 100644 --- a/openGrid/opengrid-snap.scad +++ b/openGrid/opengrid-snap.scad @@ -104,10 +104,10 @@ module openGridSnap(lite=false, directional=false, orient, anchor, spin){ zrot_copies(n=4) move([w/2-1, 0, 0]) if (!directional || $idx==1 || $idx==3) - cuboid([0.6,12.4,2.8 + (lite ? 0 : fulldiff)], rounding=0.3, $fn=100, edges="Z", anchor=BOTTOM); + cuboid([0.6,12.4, lite ? 1.5 : 2.8 + fulldiff], rounding=0.3, $fn=100, edges="Z", anchor=BOTTOM); //bottom click holes for rear directional if (directional) { - zrot(180) move([w/2-1, 0, 0.599]) cuboid([0.6, 12.4, 2.2 + (lite ? 0 : fulldiff) ], rounding=0.3, $fn=100, edges="Z", anchor=BOTTOM); + zrot(180) move([w/2-1, 0, 0.599]) cuboid([0.6, 12.4, lite ? 0.9 : 2.2 + fulldiff], rounding=0.3, $fn=100, edges="Z", anchor=BOTTOM); zrot(180) move([w/2-1.2, 0, 0]) prismoid(size1=[0.6, 12.4], size2=[0.6, 12.4], h=0.6, shift=[0.2,0], rounding=0.3, $fn=100); zrot(180) move([w/2-0.1, 0, 0]) rotate([0,0,0]) prismoid(size1=[0.2, 20], size2=[0, 20], shift=[0.1,0], h=0.6, anchor=BOTTOM); }; From 2c24ea1af3dd8cd1d2d846a5290d8e7b332dcad4 Mon Sep 17 00:00:00 2001 From: Jonathan Huizingh Date: Sun, 22 Mar 2026 14:16:31 -0700 Subject: [PATCH 2/2] Fix disconnected nubs by overlapping nub geometry with core body The nub was positioned with its left face exactly flush with the snap core's outer face (x=w/2), creating only face-touching contact. When exported to STL, slicers treat this as separate mesh shells and split the nubs off as disconnected objects. Shift the nub 0.01mm inward so it volumetrically overlaps the core, guaranteeing topological connectivity in the exported mesh. Co-Authored-By: Claude Sonnet 4.6 --- openGrid/opengrid-snap.scad | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openGrid/opengrid-snap.scad b/openGrid/opengrid-snap.scad index 97a1f67..a8a7808 100644 --- a/openGrid/opengrid-snap.scad +++ b/openGrid/opengrid-snap.scad @@ -19,7 +19,7 @@ include module openGridSnap(lite=false, directional=false, orient, anchor, spin){ module openGridSnapNub(w, nub_h, nub_w, nub_d, b_y, top_wedge_h, bot_wedge_h, r_x, r_r, r_s){ - move([w/2, 0, 0]) + move([w/2 - 0.01, 0, 0]) intersection(){ difference(){ //bounding box - add 0.01 to height for overlap with core