$fn=50; dims = [74, 24.5, 6.3]; module screwpost(h) { // 2.7d, 3.5h over lip difference() { cylinder(d=2.7, h=h); cylinder(d=1.7, h=h); } } union() { difference() { union() { cube(dims); // outer lock translate([0, -2.5, 1]) { difference() { cube([6, 29.5, 3]); translate([1, 1.5, 1.01]) cube([6, 26.5, 2]); } } // center fins translate([39.7, -2.25, 1]) cube([6.8, 29, 1]); } // inside translate([1,1,1]) cube(dims - [2,2,0]); // lip translate([0.5,0.5,dims.z - 1]) cube(dims - [1, 1, 0]); // pcb slot translate([dims.x - 3.7, 0.5, 1]) cube([2.7, dims.y - 1, dims.z]); } // battery connector lip translate([dims.x - 1, dims.y - 10, 0]) cube([1,6.7,8]); translate([3.35, 3.35, 0]) screwpost(10.25); translate([3.35, dims.y - 3.35, 0]) screwpost(10.25); translate([dims.x - 3.35 - 2.7, 3.35, 0]) screwpost(8); translate([dims.x - 3.35 - 2.7, dims.y - 3.35, 0]) screwpost(8); }