$fn=60; include include difference() { union() { zcyl(d=40, h=10, anchor=RIGHT); cuboid([80,60,10], rounding=3, edges=[FWD+RIGHT,BACK+RIGHT], anchor=LEFT) attach(LEFT) prismoid([60,10], [38.5,10], h=25.7, anchor=BOT); translate([-30,-20,0]) cuboid([30,25,10], rounding=2, edges=[FWD+RIGHT,BACK+RIGHT,FWD+LEFT,BACK+LEFT], spin=60); } translate([-20,0,0]) zcyl(d=26, h=10, rounding=-.5); translate([-30,-20,0]) cuboid([30,2,10], rounding=-.5, spin=60); translate([40,0,5]) cuboid([75,55,2], rounding=3, edges=[FWD+RIGHT,BACK+RIGHT,FWD+LEFT,BACK+LEFT]); translate([-30,-25,0]) rotate([0,0,60]) { ycyl(d=6, h=31) attach(BACK) zcyl(d=8, h=3, spin=90, anchor=TOP); } }