include include d1 = 80; d2 = 10; h = 30; t = 5; thread = ""; $fn = 360; $slop = 0.3; difference() { cyl(h=h, d=struct_val(screw_info("M6"),"diameter") + 2); // thread screw_hole(spec="M8", l=100, thread=true); } difference() { cyl(d1=d1, d2=d2, h=h); screw_hole(spec="M8", l=100, thread=true); for(i=[0:3]) { zrot(120*i) left(d1/3) cyl(h=h+1, d=d1/2); zrot(120*i + 30) left(d1/2) cuboid([20,10,100]); zrot(120*i - 30) left(d1/2) cuboid([20,10,100]); } // cyl(d1=t*(d2-d1)/h + d1 - 2*t, d2=(h-t)*(d2-d1)/h + d1 - 2*t, h=h-2*t); }