use ; use ; use ; $fn=75; module roundcube(x,y,z,rad=5) { hull() { translate([rad,rad,0]) cylinder(r=rad,h=z); translate([x-rad,rad,0]) cylinder(r=rad,h=z); translate([x-rad,y-rad,0]) cylinder(r=rad,h=z); translate([rad,y-rad,0]) cylinder(r=rad,h=z); } } module holes(args) { translate([10,12.5,0]) rotate([0,-90,0]) { M4Hole(10); translate([5,0,0]) M4Head(5); }; translate([39,36.5,0]) rotate([0,-90,0]) { M4Hole(10); translate([5,0,0]) M4Head(5); }; translate([0,10,20]) #M4Hole(5); translate([0,39,20]) #M4Hole(5); translate([40.3 + 4.5,10,20]) #M4Hole(5); translate([40.3 + 4.5,39,20]) #M4Hole(5); } module body() { difference(){ translate([0,0,-9]) roundcube(49,49,9 + 10 + 18); translate([4.5,0,10]) cube([40.3,49,19]); translate([0,4.5,-9]) cube([49,40.3,9]); holes(); } } body();