//Wifi Internet radio box bottom //PCB is 1.625"x1.625" //Mounting holes are at 1.325"x1.325" $fn=50; tolerance = 0.5; PCB = (41.275-tolerance)/2; //Define PCB size in millimeters mount = 33.655/2; //PCB mounting holes Height = 14.8/2; //total height post = 25.4*0.3; //post width clearance = 4/2; //PCB clearance module post(){ translate([-post/2,-post/2,0]) minkowski(){ //Post cube([post,post,clearance]); cylinder(r=2,h=clearance); } } module bottom_body(){ difference(){ union(){ translate([(PCB-post/2),(PCB-post/2),2])post(); //Back right translate([-(PCB-post/2),(PCB-post/2),2])post(); //Back left translate([(PCB-post/2),-(PCB-post/2),2])post(); //Front right translate([-(PCB-post/2),-(PCB-post/2),2])post(); //Front left translate([-(PCB),-(PCB),0]) minkowski(){ //Body cube([(PCB*2),(PCB*2),1]); cylinder(r=2,h=1); } } translate([mount ,mount ,-2]) cylinder(r=1.5,h=10); //Drill shaft translate([-mount ,mount ,-2]) cylinder(r=1.5,h=10); //Drill shaft translate([mount ,-mount ,-2]) cylinder(r=1.5,h=10); //Drill shaft translate([-mount ,-mount ,-2]) cylinder(r=1.5,h=10); //Drill shaft translate([mount ,mount ,-.2]) cylinder(r1=3,r2=1.5,h=2); //Screw head translate([-mount ,mount ,-.2]) cylinder(r1=3,r2=1.5,h=2); //Screw head translate([mount ,-mount ,-.2]) cylinder(r1=3,r2=1.5,h=2); //Screw head translate([-mount ,-mount ,-.2]) cylinder(r1=3,r2=1.5,h=2); //Screw head } } bottom_body();