mirror of
https://github.com/imjasonh/globetrotter
synced 2026-07-07 01:32:20 +00:00
Add files via upload
This commit is contained in:
parent
f775e2e65f
commit
af0a47a6fe
1 changed files with 32 additions and 35 deletions
67
board.scad
67
board.scad
|
|
@ -1,43 +1,40 @@
|
||||||
// https://github.com/BelfrySCAD/BOSL2/wiki/polyhedra.scad
|
// https://github.com/BelfrySCAD/BOSL2/wiki/polyhedra.scad
|
||||||
include <BOSL2/std.scad>
|
include <BOSL2/std.scad>
|
||||||
|
$slop = 0.15; // https://github.com/BelfrySCAD/BOSL2/wiki/constants.scad#constant-slop
|
||||||
|
|
||||||
include <BOSL2/polyhedra.scad>
|
include <BOSL2/polyhedra.scad>
|
||||||
|
include <BOSL2/ball_bearings.scad>
|
||||||
|
|
||||||
module snub_dodecahedron_with_holes() {
|
|
||||||
difference() {
|
|
||||||
regular_polyhedron("snub dodecahedron");
|
|
||||||
|
|
||||||
// Hollow it out, leaving 1/8" walls.
|
difference() {
|
||||||
// With 50% infill this should be enough to be sturdy and hold magnets.
|
regular_polyhedron("snub dodecahedron", side=INCH);
|
||||||
regular_polyhedron("snub dodecahedron", side=7/8);
|
|
||||||
|
|
||||||
// Subtract holes for magnets, in all faces except those adjacent to the bottom face.
|
// Hollow it out, leaving ~1/8" walls.
|
||||||
regular_polyhedron("snub dodecahedron", draw=false)
|
regular_polyhedron("snub dodecahedron", side=15/16*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, h=1/16, center=true, $fn=100);
|
|
||||||
|
|
||||||
// Hole for bottom bearing.
|
// Subtract holes for magnets, in all faces except those adjacent to the bottom face.
|
||||||
translate([0,0,-1.9024]) // guessed and checked this
|
regular_polyhedron("snub dodecahedron", draw=false, side=INCH)
|
||||||
cylinder(d=.35, h=.35/2, center=true, $fn=100); //9mm diam, for 8mm bearing
|
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();
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue