include hdd=1; module addon() { difference() { union() { rotate([0,0,41]) cuboid([175,10,3], rounding=5, edges=[FWD+RIGHT,FWD+LEFT,BACK+RIGHT,BACK+LEFT]); rotate([0,0,-41]) cuboid([175,10,3], rounding=5, edges=[FWD+RIGHT,FWD+LEFT,BACK+RIGHT,BACK+LEFT]); tube(od=122.5, id=112.5, l=3); } 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); } } module walls(hdd) { difference() { union() { cuboid([3,85,13+13*hdd], rounding=3, edges=[TOP+FRONT,TOP+BACK], anchor=BOT); for(i=[0:13:13*hdd]) translate([-1.5,0,2+i]) ycyl(l=85, d=3); } for(i=[0:13:13*hdd]) { translate([0,-38.5,7+i]) xcyl(l=3, d=3.5); translate([0,38.5,7+i]) xcyl(l=3, d=3.5); } } } module mount() { addon(); rect_tube(h=3, size=[85,85], wall=10, center=true); translate([36.5,0,0]) walls(hdd); translate([-36.5,0,0]) mirror([1,0,0]) walls(hdd); } *mount();