$fs = 0.5; $fa = 1.0; pcb_w = 40.5; pcb_h = 67.5; pcb_r = 5; // edge radius pcb_off = 0.4; pcb_t = 5; // thickness including LED and inductor _str = 2; module pcb(w=pcb_w, h=pcb_h, r=pcb_r, off=pcb_off) { _w = w + 2*off; _h = h + 2*off; _r = r + off; hull() for (tx=[_r, _w-_r], ty=[_r, _h-_r]) translate([tx, ty, 0]) circle(r=r); } module pcb3D(w=pcb_w, h=pcb_h, r=pcb_r, off=pcb_off, _str=1.6) { linear_extrude(_str, convexity=4) pcb(w, h, r, off); } module pcbBox(w=pcb_w, h=pcb_h, r=pcb_r, off=pcb_off, h=pcb_t, _str=_str) { difference() { pcb3D(w=w, h=h, r=r, off=off, _str=h); translate([_str, _str, _str]) pcb3D(w=w-2*_str, h=h-2*_str, r=r, off=off, _str=h); } } pcbBox();