|
@@ -43,7 +43,10 @@ extra=4; //lip on the lid that presses top pcb down
|
43
|
43
|
thread=3;
|
44
|
44
|
air=0.5;
|
45
|
45
|
bissl=1/100;
|
46
|
|
-button=4;
|
|
46
|
+button = 4;
|
|
47
|
+button_hole = button + 1.0;
|
|
48
|
+button_stem = button - 0.4;
|
|
49
|
+button_cut_side = 0.6;
|
47
|
50
|
joystick=6;
|
48
|
51
|
height=16.8+air+extra;
|
49
|
52
|
width=52.4+1.5+2*air;
|
|
@@ -101,13 +104,19 @@ module top() {
|
101
|
104
|
translate([wall+1.5+6.7+air,2*wall+thread+13.8+air,-bissl]) cylinder(h=wall+2*bissl,d=joystick);
|
102
|
105
|
translate([wall+13.5+1.5,2*wall+thread,-bissl])cube([31,27,wall+2*bissl]);
|
103
|
106
|
}
|
104
|
|
- translate([wall+13.5+1.5-2,2*wall+thread,-extra])cube([2,27,extra]);
|
105
|
|
- translate([wall+13.5+1.5+31,2*wall+thread,-extra])cube([2,27,extra]);
|
|
107
|
+ translate([wall+13.5+1.5-1.5,2*wall+thread,-extra])cube([1.5,27,extra]);
|
|
108
|
+ translate([wall+13.5+1.5+31,2*wall+thread,-extra])cube([1.5,27,extra]);
|
106
|
109
|
}
|
107
|
110
|
|
108
|
111
|
module button() {
|
109
|
|
- cylinder(h=1,d=5);
|
110
|
|
- cylinder(h=5,d=3);
|
|
112
|
+ difference() {
|
|
113
|
+ cylinder(h = 1, d = button_hole);
|
|
114
|
+
|
|
115
|
+ translate([button_hole / 2 * -3 + button_cut_side, -button_hole / 2 - 0.1, -0.1])
|
|
116
|
+ cube([button_hole, button_hole + 0.2, 1.2]);
|
|
117
|
+ }
|
|
118
|
+
|
|
119
|
+ cylinder(h = 4, d = button_stem);
|
111
|
120
|
}
|
112
|
121
|
|
113
|
122
|
module bottom_assm() {
|
|
@@ -144,9 +153,20 @@ if (part == "bottom") {
|
144
|
153
|
|
145
|
154
|
translate([-total_width / 2, -total_len / 2, height + wall])
|
146
|
155
|
top();
|
|
156
|
+
|
|
157
|
+ for (tr = [
|
|
158
|
+ [47.7+air,5.5+0],
|
|
159
|
+ [47.7+air,5.5+5.7],
|
|
160
|
+ [47.7+air,5.5+2*5.7],
|
|
161
|
+ [47.7+air,5.5+3*5.7]
|
|
162
|
+ ])
|
|
163
|
+ translate(tr)
|
|
164
|
+ translate([wall + 1.5, 2 * wall + thread, -1])
|
|
165
|
+ translate([-total_width / 2, -total_len / 2, height + wall])
|
|
166
|
+ button();
|
147
|
167
|
}
|
148
|
168
|
|
149
|
169
|
translate([-total_width / 2 - 1, 0, -2])
|
150
|
|
- cube([total_width + 2, total_len / 2 + 2, height + wall + 4]);
|
|
170
|
+ cube([total_width + 2, total_len / 2 + 2, height + wall + 10]);
|
151
|
171
|
}
|
152
|
172
|
}
|