5 body_h = 87 + 2 + 2*wall;
6 body_w = 93 + 2 + 2*wall;
14 screw_off = 3.5 + wall;
19 screw_to_disp_y = 6.5;
21 screen_to_screw_z = 8;
23 screw_to_reset_y = 12.5+screw_vd;
26 reset_lever_h = reset_button_d/2;
29 screw_to_dial_y = 10+screw_vd;
35 cube([body_w, body_h, body_z]);
36 difference() { // inner space w/o screw supports
37 translate([wall, wall, wall])
38 cube([body_w-2*wall, body_h-2*wall, body_z]);
39 for (x = [0, 1]) for (y = [0, 1])
40 translate([screw_off + x*screw_hd,
41 screw_off + y*screw_vd, -eps])
42 cylinder (r = screw_support_d/2, h = screen_to_screw_z + 2*eps);
46 translate([screw_off + screw_to_disp_x,
47 screw_off + screw_to_disp_y, wall])
48 cube([screen_w, screen_h, eps]);
49 translate([screw_off + screw_to_disp_x - wall/2,
50 screw_off + screw_to_disp_y - wall/2, -eps])
51 cube([screen_w+wall, screen_h+wall, eps]);
54 for (x = [0, 1]) for (y = [0, 1])
55 translate([screw_off + x*screw_hd, screw_off + y*screw_vd, -eps])
56 cylinder (r = screw_d/2, h = body_z + 2*eps);
58 translate([screw_off + screw_to_dial_x,
59 screw_off + screw_to_dial_y, -eps])
60 cylinder(r = dial_hole_d/2, h = wall + 2*eps);
63 translate([screw_off + screw_hd/2, screw_off + screw_to_reset_y, -eps])
66 cylinder(r = reset_button_d/2+wall, h = wall + 2*eps);
67 translate([-reset_lever_w, -reset_lever_h/2-wall, 0])
68 cube([reset_lever_w, reset_lever_h + 2*wall, wall + 2*eps]);
70 translate([0, 0, -eps])
71 cylinder(r = reset_button_d/2, h = wall + 4*eps);
72 translate([-reset_lever_w-eps, -reset_lever_h/2, -eps])
73 cube([reset_lever_w, reset_lever_h, wall + 4*eps]);