$fn=100; b = 50; h = 75; d = 30; w = 5; difference () { difference () { translate ([0,0,h/2]) cube ([b,d,h], center = true); translate ([0,-d/2,75]) rotate ([30,0,0]) cube ([b+1,d,h/2], center = true); translate ([0,d/2,75]) rotate ([-30,0,0]) cube ([b+1,d,h/2], center = true); translate ([-b/2+w/2,0,15]) rotate ([0,0,0]) cube ([10,d+5,h-15], center = true); translate ([-b/2,0,45]) rotate ([0,45,0]) cube ([10,d+5,10], center = true); } difference () { translate ([-5,0,h/2]) cube ([b+2,d-w,h-w], center = true); translate ([0,-d/2,h-w/2]) rotate ([30,0,0]) cube ([b+1,d,h/2], center = true); translate ([0,d/2,h-w/2]) rotate ([-30,0,0]) cube ([b+1,d,h/2], center = true); } } translate ([-b/2+10,0,3]) rotate ([0,90,90]) cylinder(h=d-2,d=5, center = true);