$fn = 180; difference() { union() { difference() { union() { cylinder(d=60, h=20, center=true); translate([0,0,-15-10]) cylinder(d2=60, d1=25, h=30, center=true); translate([0, 0, -7.5-40]) cylinder(d=25, h=15, center=true); } union() { cylinder(d=50, h=20.01, center=true); translate([0,0,-15-10]) cylinder(d2=50, d1=16, h=30.01, center=true); translate([0, 0, -7.5-40]) cylinder(d=16, h=15.01, center=true); } } for(angle = [0, 90, 180, 270]) rotate([0, 0, angle]) translate([0,30,0]) rotate([90,0,0]) cylinder(d=15, h=20, center=true); } for(angle = [0, 90, 180, 270]) rotate([0, 0, angle]) translate([0,30,0]) rotate([90,0,0]) { cylinder(d=5, h=20.01, center=true); translate([0,0,-5]) { cylinder(d=6.25, h=10.01, center=true); } } }