8 pcb_prog_stick_out = 5; // how much does the programming connector stick out
10 box_height = 12; // FIXME
11 box_depth = pcb_thickness + pcb_depth;
28 translate([-wall_thickness, -wall_thickness, -box_depth-wall_thickness])
29 cube([2*wall_thickness + pcb_length + pcb_prog_stick_out, 2*wall_thickness + pcb_width, wall_thickness + box_depth + box_height]);
32 cube([pcb_length + pcb_prog_stick_out, pcb_width, box_height+1]);
35 translate([-wall_thickness-over, (pcb_width-usb_width)/2, -pcb_thickness])
36 cube([wall_thickness+2*over, usb_width, pcb_thickness+box_height+over]);
39 translate([0, 0, -pcb_thickness])
40 cube([pcb_length, pcb_width, pcb_thickness+over]);
43 translate([0, pcb_rail_width, -pcb_thickness-pcb_depth])
44 cube([pcb_length, pcb_width - 2*pcb_rail_width, pcb_thickness + pcb_depth + over]);
52 translate([-wall_thickness, -wall_thickness, 0])
53 cube([pcb_length + pcb_prog_stick_out + 2*wall_thickness, pcb_width + 2*wall_thickness, wall_thickness]);
56 translate([0, 0, -lid_rail_height])
57 cube([pcb_length + pcb_prog_stick_out, lid_rail_width, lid_rail_height + over]);
58 translate([0, pcb_width - lid_rail_width, -lid_rail_height])
59 cube([pcb_length + pcb_prog_stick_out, lid_rail_width, lid_rail_height + over]);
62 translate([-wall_thickness, (pcb_width - usb_width)/2 + clearance, usb_height - box_height + clearance])
63 cube([wall_thickness, usb_width - 2*clearance, box_height - usb_height - clearance + over]);
65 // RS485 connector roof
66 //translate([-wall_thickness, (pcb_width - rs485_width)/2 + clearance, rs485_height - box_height + clearance])
67 // cube([wall_thickness, rs485_width - 2*clearance, box_height - rs485_height - clearance + over]);
73 color([1, 0, 0]) translate([0, 0, box_height]) top();