]> www.fi.muni.cz Git - things.git/blob - btt-tft35-cover.scad
switch holder.scad
[things.git] / btt-tft35-cover.scad
1 eps = 0.01;
2 infty = 200;
3 wall = 1.5;
4
5 body_h = 87 + 2 + 2*wall;
6 body_w = 93 + 2 + 2*wall;
7
8 screen_w = 75.5;
9 screen_h = 51;
10
11 screw_hd = 88;
12 screw_vd = 65;
13
14 screw_off = 3.5 + wall;
15 screw_d = 3;
16 screw_support_d = 9;
17
18 screw_to_disp_x = 5;
19 screw_to_disp_y = 6.5;
20
21 screen_to_screw_z = 8;
22
23 screw_to_reset_y = 12.5+screw_vd;
24 reset_button_d = 10;
25 reset_lever_w = 30;
26 reset_lever_h = reset_button_d/2;
27
28 screw_to_dial_x = 75;
29 screw_to_dial_y = 10+screw_vd;
30 dial_hole_d = 7;
31
32
33 body_z = 20 + wall;
34 difference() {
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);
43         }
44         // screen hole
45         hull() {
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]);
52         }
53         // screw holes
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);
57         // dial hole
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);
61
62         // reset_button
63         translate([screw_off + screw_hd/2, screw_off + screw_to_reset_y, -eps])
64         difference() {
65                 union() {
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]);
69                 }
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]);
74         }
75 }