7 pcb_w = 80 + 2*tolerance;
8 pcb_h = 36 + 2*tolerance;
9 pcb_thick = 1.6 + tolerance;
11 disp_w = 71 + 2*tolerance;
12 disp_h = 24 + 2*tolerance;
13 disp_thick = 7.2 + tolerance;
14 disp_hole_thick = 4 + tolerance;
21 ledside_clip_w = disp_h/2;
25 trimpot_w = 7.5 + 1.5;
26 trimpot_h = 6.5 + 1.5;
31 frame_thick = 6 + tolerance;
35 translate([-pcb_w/2 - wall, -pcb_h/2 - wall, 0])
36 cube([pcb_w + 2*wall, pcb_h + 2*wall,
37 cable_dist + pcb_thick + disp_thick + wall]);
38 translate([-pcb_w/2 - wall, , 0])
39 cube([pcb_w + 2*wall, pcb_h/2 + wall,
40 frame_thick + 2*cable_dist + pcb_thick + disp_thick + 2*wall]);
48 translate([-window_w/2-wall, disp_yoff-window_h/2-wall, -eps])
49 cube([window_w+2*wall, window_h+2*wall, eps]);
50 translate([-window_w/2, disp_yoff-window_h/2, wall])
51 cube([window_w, window_h, eps]);
54 translate([-disp_w/2, disp_yoff - disp_h/2, wall])
55 cube([disp_w, disp_h, frame_thick + 2*cable_dist + pcb_thick + disp_thick]);
57 translate([-pcb_w/2, -pcb_h/2, wall + disp_hole_thick])
58 cube([pcb_w, pcb_h, frame_thick + 2*cable_dist + pcb_thick + disp_thick + wall + eps - disp_hole_thick]);
60 translate([pcb_w/2-trimpot_xoff-trimpot_w/2, pcb_h/2-trimpot_h, wall])
61 cube([trimpot_w, trimpot_h, disp_thick+eps]);
63 translate([pcb_w/2-trimpot_xoff, pcb_h/2-trimpot_yoff, -eps])
64 cylinder(r1 = trimpot_hole/2 + wall,
65 r2 = trimpot_hole/2, h = wall + 2*eps);
67 translate([-pcb_w/2-wall-eps, support_w, cable_dist + pcb_thick + disp_thick + wall])
68 cube([pcb_w + 2*wall + 2*eps, pcb_h/4 - support_w, frame_thick]);
70 // LED-side battery clip
72 translate([-pcb_w/2, -ledside_clip_w/2,
73 wall + pcb_thick + disp_thick])
74 cube([wall, ledside_clip_w, wall]);
75 translate([-pcb_w/2, -ledside_clip_w/2,
76 3*wall + pcb_thick + disp_thick])
77 cube([eps, ledside_clip_w, eps]);
79 // LED-side battery clip
80 translate([pcb_w/2-wall, -pcb_h/2-eps, wall + pcb_thick + disp_thick])
81 cube([wall, pcb_h + 2*eps, wall]);