difference(){ union(){ translate([-32.5,0,0]) hull(){ translate([1.5,0,0]){ cylinder(h = 16, r = 4.5, $fn = 100); } translate([-1.5,0,0]){ cylinder(h = 16, r = 4.5, $fn = 100); } } translate([32.5,0,0]) hull(){ translate([1.5,0,0]){ cylinder(h = 16, r = 4.5, $fn = 100); } translate([-1.5,0,0]){ cylinder(h = 16, r = 4.5, $fn = 100); } } intersection(){ hull(){ translate([-34,0,5]) cylinder(h = 100, r = 4.5, $fn = 100); translate([34,0,5]) cylinder(h = 100, r = 4.5, $fn = 100); }; difference(){ translate([0,0,-70]) sphere(r = 95, $fn = 100); translate([0,0,-70]) sphere(r = 90, $fn = 100); }; }; }; translate([-32.5,0,-2]){ linear_extrude(height = 18, center = false, convexity = 10, twist = -9*360, slices = 9*100, $fn = 100) { translate([.25,0,0]) circle(r = 1.25); }; }; translate([32.5,0,-2]){ linear_extrude(height = 18, center = false, convexity = 10, twist = -9*360, slices = 9*100, $fn = 100) { translate([.25,0,0]) circle(r = 1.25); }; }; };