From af0a47a6fef6d621eb9d566f807aee1fa9b42a3b Mon Sep 17 00:00:00 2001 From: Jason Hall Date: Tue, 21 Jan 2025 11:20:44 -0500 Subject: [PATCH] Add files via upload --- board.scad | 67 ++++++++++++++++++++++++++---------------------------- 1 file changed, 32 insertions(+), 35 deletions(-) diff --git a/board.scad b/board.scad index 52eba04..c571034 100644 --- a/board.scad +++ b/board.scad @@ -1,43 +1,40 @@ // https://github.com/BelfrySCAD/BOSL2/wiki/polyhedra.scad include +$slop = 0.15; // https://github.com/BelfrySCAD/BOSL2/wiki/constants.scad#constant-slop + include +include -module snub_dodecahedron_with_holes() { - difference() { - regular_polyhedron("snub dodecahedron"); - // Hollow it out, leaving 1/8" walls. - // With 50% infill this should be enough to be sturdy and hold magnets. - regular_polyhedron("snub dodecahedron", side=7/8); +difference() { + regular_polyhedron("snub dodecahedron", side=INCH); - // Subtract holes for magnets, in all faces except those adjacent to the bottom face. - regular_polyhedron("snub dodecahedron", draw=false) - if ( - $faceindex != 0 && - $faceindex != 1 && - $faceindex != 2 && - $faceindex != 3 && - $faceindex != 4 && - $faceindex != 11 && - $faceindex != 40 && - $faceindex != 41 && - $faceindex != 43 && - $faceindex != 60 && - $faceindex != 61 && - $faceindex != 62 && - $faceindex != 63 && - $faceindex != 72 && - $faceindex != 88 && - $faceindex != 90 - ) - cylinder(d=1/8, h=1/16, center=true, $fn=100); + // Hollow it out, leaving ~1/8" walls. + regular_polyhedron("snub dodecahedron", side=15/16*INCH); - // Hole for bottom bearing. - translate([0,0,-1.9024]) // guessed and checked this - cylinder(d=.35, h=.35/2, center=true, $fn=100); //9mm diam, for 8mm bearing - } + // Subtract holes for magnets, in all faces except those adjacent to the bottom face. + regular_polyhedron("snub dodecahedron", draw=false, side=INCH) + if ( + $faceindex != 0 && + $faceindex != 1 && + $faceindex != 2 && + $faceindex != 3 && + $faceindex != 4 && + $faceindex != 11 && + $faceindex != 40 && + $faceindex != 41 && + $faceindex != 43 && + $faceindex != 60 && + $faceindex != 61 && + $faceindex != 62 && + $faceindex != 63 && + $faceindex != 72 && + $faceindex != 88 && + $faceindex != 90 + ) + cylinder(d=1/8*INCH+get_slop(), h=1/16*INCH+get_slop(), center=true, $fn=100); + else if ($faceindex == 3) + // Hole for a bearing. + // https://www.thingiverse.com/thing:2349065 + cylinder(d=INCH+get_slop(), h=INCH, center=true, $fn=100); } - -// Render the snub dodecahedron with the holes -scale([25.4, 25.4, 25.4]) // millimeters to inches -- this ensures 1" side lengths. - snub_dodecahedron_with_holes();