$fn=60; include module wall() { difference() { union() { translate([0,0,19]) cuboid([3,85,38], rounding=3, edges=[TOP+FRONT,TOP+BACK]); translate([-1.5,0,2]) ycyl(l=85, d=3); translate([-1.5,0,15]) ycyl(l=85, d=3); translate([-1.5,0,28]) ycyl(l=85, d=3); } translate([0,-38.5,7]) xcyl(l=3, d=3.5); translate([0,-38.5,20]) xcyl(l=3, d=3.5); translate([0,-38.5,33]) xcyl(l=3, d=3.5); translate([0,38.5,7]) xcyl(l=3, d=3.5); translate([0,38.5,20]) xcyl(l=3, d=3.5); translate([0,38.5,33]) xcyl(l=3, d=3.5); } } difference() { union() { rect_tube(h=3, size=[85,85], wall=10, center=true, anchor=TOP) translate([36.5,0,0]) wall(); translate([-36.5,0,0]) mirror([1,0,0]) wall(); rotate([0,0,41]) cuboid([170,10,3], rounding=5, edges=[FWD+RIGHT,FWD+LEFT,BACK+RIGHT,BACK+LEFT]); rotate([0,0,-41]) cuboid([170,10,3], rounding=5, edges=[FWD+RIGHT,FWD+LEFT,BACK+RIGHT,BACK+LEFT]); tube(od=135, id=125, l=3); } * cuboid([66,75,8]); translate([60,52.5,0]) zcyl(l=10, d=4.5); translate([60,-52.5,0]) zcyl(l=10, d=4.5); translate([-60,52.5,0]) zcyl(l=10, d=4.5); translate([-60,-52.5,0]) zcyl(l=10, d=4.5); }