thickness=4; depth=85 + 2*thickness; width=165 + 2*thickness; height=50 + thickness; off=10; hole_dist=15; module wall() { cube([thickness, depth, height]); translate([0,0,height]) difference() { hull() { cube([thickness, depth, thickness]); translate([-off, depth/2-hole_dist, 0]) cylinder(h=thickness, d=5, $fn=64); translate([-off, depth/2+hole_dist, 0]) cylinder(h=thickness, d=5, $fn=64); } translate([-off, depth/2-hole_dist, 0]) cylinder(h=thickness, d=2, $fn=64); translate([-off, depth/2+hole_dist, 0]) cylinder(h=thickness, d=2, $fn=64); translate([-off, depth/2-hole_dist, 0]) cylinder(h=2, d=4, $fn=64); translate([-off, depth/2+hole_dist, 0]) cylinder(h=2, d=4, $fn=64); } } // sides difference() { wall(); translate([0, depth/2, height/2]) cube([10, 65, 40], center=true); } translate([width, 0, 0]) mirror([1,0,0]) wall(); // base cube([width, depth, thickness]); module wall2() { difference() { cube([width, thickness, 10]); translate([37.5+thickness, 6, 4+thickness]) rotate([90,0,0]) cylinder(h=4, d=6, $fn=64); translate([127.5+thickness, 6, 4+thickness]) rotate([90,0,0]) cylinder(h=4, d=6, $fn=64); } } wall2(); translate([0, depth, 0]) mirror([0,1,0]) wall2();