diff options
Diffstat (limited to 'src/lib')
-rw-r--r-- | src/lib/whorl.scad | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/src/lib/whorl.scad b/src/lib/whorl.scad new file mode 100644 index 0000000..007cbd2 --- /dev/null +++ b/src/lib/whorl.scad @@ -0,0 +1,35 @@ + +module whorl( + r_out, + r_stick, + t_hub=4, + t_rim=10, + h=4, + h_hub=15, + h_rim=8, + r_screw=1.6, + h_screw=11, + screw_holes=[90, 270], + r_latch=2, + latches=[0, 60, 120, 180, 240, 300], + ) { + difference() { + union() { + cylinder(r=r_out, h=h); + cylinder(r=r_stick + t_hub, h=h_hub); + difference() { + cylinder(r=r_out, h=h_rim); + translate([0, 0, -1]) cylinder(r=r_out - t_rim, h=h_rim + 2); + } + } + translate([0, 0, -1]) cylinder(r=r_stick, h=h_hub + 2); + for(i=screw_holes) { + rotate([0, 0, i]) translate([0, 0, h_screw]) rotate([0, -90, 0]) + cylinder(r=r_screw, h=r_stick + t_hub + 2, $fn=16); + } + for(i=latches) { + rotate([0, 0, i]) translate([r_out, 0, -1]) + cylinder(r=r_latch, h=h_rim + 2); + } + } +} |