$fn=100; rotate([90,0,0]){ rotate([0,90,0]) { difference(){ cylinder(h=30,r=0.8); translate([0,0,25]){ cylinder(h=6,r=0.5);}} cube([3,3,13],center=true); translate([0,0,6]) cylinder(6,1.5,0.9); } rotate([0,190,0]) translate([0,0,5]) cube([4,2,10],center=true); rotate([0,180,0]) translate([-9,0,0]) cylinder(h=9,r=1.1); translate([1,0,-10]) rotate([0,-90,0]) cylinder(h=10,r=1); translate([-2,0,0]){ translate([-10,0,-10]) sphere(4); translate([-16,0,-10]) sphere(4); rotate([0,90,0]) translate([10,0,-16]) cylinder(h=6,r=4);} cylinder(h=6,r=1.2); rotate([0,-5,0]) translate([-2,0,8.5]) rotate([0,110,0]) cylinder(8,5,1.9); difference(){ rotate([0,-5,0]){ translate([-3.1,0,8.9]) sphere(5.06);} rotate([0,-47,0]){ translate([3.5,0,12.8]) cylinder(h=2,r=3);}} difference(){ rotate ([0,90,0]){ translate([3,0,3]) cube([5,1.5,5], center=true);} rotate ([0,90,0]){ translate([3,0,3]) cube([4.5,2,4.5], center=true); }} difference(){ rotate([90,0,0]){ translate([2.9,-2.8,0]){ cylinder(h=1,r=1.7,center=true);}} rotate([90,0,0]){ translate([3.5,-2.9,0]){ cylinder(h=2,r=1.5,center=true);}}}; translate([-7,0,-11.5]) cylinder(h=3,r=0.6); translate([-7,0,-12.1]) cylinder(h=0.7,r=1); translate([-0.5,0,3]) cylinder(h=1, r=1.8, center=true); translate([-23,0,-10]){ rotate([90,0,0]) difference(){ cylinder(h=1,r=2,center=true); cylinder(h=1,r=1.3,center=true);}} rotate([0,-47,0]) translate([3.6,0,12.6]) cylinder(h=0.5,r=3); }