include <dims.scad>
bid = 149;
bod = 7.75 * 25.4;
bh = 200;
taper = 20;
top_thick = 25.4 * 2;
armw = 50;
armh = 15;
armnotch = 5;
arms = 3;
otod_pad = 1.8;
module shell() {
difference() {
cylinder(h=bh, r1=bod/2, r2=bod/2-taper);
translate([0, 0, -2*eps]) cylinder(h=bh - top_thick, r=bid/2);
}
}
difference() {
union() {
intersection() {
for (i = [0 : arms-1]) {
rotate([0, 0, i * 360/arms]) {
difference() {
translate([-armw/2, 0, -armh + armnotch]) cube([armw, bod/2, armh]);
for (i = [2 : 5])
translate([i % 2 == 0 ? 6 : -6, (i+4.5) * (bid/22), -armh])
cylinder(h=2*armh, r=3.5);
}
}
}
translate([0, 0, -2 * armh + armnotch]) cylinder(h=armh * 2, r=bod/2-1);
}
translate([0, 0, -armh + armnotch]) {
difference() {
cylinder(h=armh*2, r=otod/2+wall_thickness + otod_pad);
translate([0, 0, armh + 2*eps]) cylinder(h=armh + 2*eps, r=(otod + otod_pad)/2);
translate([-channel_w/2, 0, armh+2*eps]) cube([channel_w, otod+eps, armh]);
}
}
}
shell();
}