difference(){ union(){ minkowski(){ difference(){ translate([0,0,5]) cylinder(h=15.5, d=14); union() for(i=[360/9:360/9:360]) rotate([0,0,i]) translate([7,0,-1]) cylinder(h=22, d=5); } sphere(1.5); } cylinder(h=6, d=20); translate([0,0,6]) cylinder(h=5, d1=20, d2=10); } union(){ cylinder(h=6, d=16); translate([0,0,6]) cylinder(h=1, d1=8, d2=6); cylinder(h=20, d=6); translate([0,0,20]) cylinder(h=1, d1=6, d2=0); translate([0,-2.75,9]) cube(5.5); translate([0,0,11.75]) rotate([0,90,0]) cylinder(h=10, d=3); } }