Thomas Buck 4 месяцев назад
Родитель
Сommit
bb3666a3ae
1 измененных файлов: 26 добавлений и 6 удалений
  1. 26
    6
      case/case.scad

+ 26
- 6
case/case.scad Просмотреть файл

@@ -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
 }

Загрузка…
Отмена
Сохранить