// Freeduino case // Designed for http://www.nkcelectronics.com/freeduino-arduino-diecimila-compatible-board-complete-kit.html // Nicholas C. Lewis 2011 // http://www.thingiverse.com/thing:6751 PCB_L = 75.3; PCB_W = 53.5; PCB_T = 1.5; PCB_R = 5; under_Lip = 1.7; under_T = 1.6; bottom_T = 2; wall_W = 2; upper_T = 9; total_L = PCB_L+2*wall_W; total_W = PCB_W+2*wall_W; total_T = bottom_T + under_T + PCB_T + upper_T; total_R = PCB_R+wall_W; difference(){ //main body rounded_cube(total_L,total_W,total_T,total_R); //pcb cutout translate([0,0,bottom_T + under_T]) rounded_cube(PCB_L,PCB_W, PCB_T + upper_T+1,PCB_R); //pcb %translate([0,0,bottom_T + under_T]) rounded_cube(PCB_L,PCB_W, PCB_T,PCB_R); //under cutout translate([0,0,bottom_T]) rounded_cube(PCB_L-2*under_Lip,PCB_W-2*under_Lip, under_T+1,PCB_R-under_Lip); //extra cuts translate([PCB_L/2,-PCB_W/2+9.8+(7.6/2),bottom_T + under_T + PCB_T+2]) cube([10,7.6, 4],center = true); translate([PCB_L/2,PCB_W/2-3.7-4.5,bottom_T + under_T + PCB_T+6.5]) cube([10,9,9],center = true); } module rounded_cube(l,w,h,r){ translate([0,0,h/2]){ cube([l-2*r,w,h], center = true); cube([l,w-2*r,h], center = true); for(i=[[-(l/2-r),-(w/2-r),0],[l/2-r,-(w/2-r),0],[-(l/2-r),w/2-r,0],[l/2-r,w/2-r,0]]){ translate(i) cylinder(r=r,h=h, center = true); } } } //infill in RepSnapper with 0.2mm layers: 35,34,17,16,2,1,0,-1,-2,-3