difference(){ union(){ union(){ difference(){ union(){ difference(){ union(){ difference(){ //spiral for ( z = [1:740]) { rotate(z*2) translate([0,0,z*.1]) rotate([90,0,0]) cube(size = [12,7,1], center = false); } } } translate([-20,-20,0]) cube([60,60,5]); } difference(){ union(){ //top finishing flare for ( z = [0:50]) { rotate(740*2) translate([0,z*.5,((z+740)*.1)+(z*.1)]) rotate([90,0,0]) cube(size = [12,6,1], center = false); } } //cutting the end on the flare rotate (45) translate([-40,10,75.02]) cube([60,60,20]); } } //top angle cube rotate([10,0,0]) translate([10,15,82.02]) cube([60,60,10], center = true); } } union(){ //center cylinder translate([0,0,5])cylinder(h=700*.1+6,r=3,$fn=100); //rounded top translate([0,0,700*.1+11])sphere(r=3,$fn=100); } } //center hole translate([0,0,4])cylinder(h=700*.1+12,r=1,$fn=100); }