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 body() { //cube([49,40,10]); difference(){ roundcube(49,40,20); translate([4.5,0,10]) cube([40.3,40,11]); } } difference() { body(); #translate([(30 - getBearingLength())/2,20,0]) bearingHalfHole(80); hholes(); bigholes(); } //use ; //translate([0,0,-10]) main(); module hholes() { holes(11,false, true); } module bigholes() { translate([15,7.5,0]) rotate([0,-90,0]) { M4Hole(11); M4Head(5); }; translate([15,32.5,0]) rotate([0,-90,0]) { M4Hole(11); M4Head(5); }; translate([49-15,7.5,0]) rotate([0,-90,0]) { M4Hole(11); M4Head(5); }; translate([49-15,32.5,0]) rotate([0,-90,0]) { M4Hole(11); M4Head(5); }; }