difference() { union() { difference() { cube([15,25,5]); union() { translate([7.5,15,-5]) { % cylinder(h=25, r=3, center=false);} rotate(a=90, v=[1,90,0]) { translate([0,0,-5]) { cylinder(h=25, r=3, center=false); } } } } rotate(a=90, v=[1,90,0]) { difference() { cylinder(h=15, r=5, center=false); translate([0,0,-5]) { % cylinder(h=25, r=3, center=false); } } } } translate([3.5,-20,-10]) { % cube([7.5,25,20]); } }