Ver código fonte

Added Quanum Trifecta stuff

Thomas Buck 8 anos atrás
pai
commit
4ffe0fd565

+ 184
- 0
Quanum Trifecta/camera-mount.scad Ver arquivo

@@ -0,0 +1,184 @@
1
+/*
2
+ * Created by:
3
+ * Thomas Buck <xythobuz@xythobuz.de> in May 2016
4
+ *
5
+ * Licensed under the
6
+ * Creative Commons - Attribution - Share Alike license.
7
+ */
8
+
9
+// -----------------------------------------------------------
10
+
11
+width_outer = 47.8;
12
+height_outer = 31.5;
13
+hole = 7;
14
+depth = 1.8;
15
+wall = 1.4;
16
+inner_y_offset = -1;
17
+diameter_big = 58;
18
+offset_big = 23;
19
+diameter_mid = 60;
20
+offset_mid = 24.5;
21
+diameter_small = 22;
22
+offset_small = 8;
23
+
24
+fpv_width = 36.5;
25
+fpv_depth = 11;
26
+fpv_offset = 5;
27
+fpv_hole = 2.5;
28
+fpv_holder_width = 8;
29
+fpv_holder_top = 2.5;
30
+fpv_wall = 2;
31
+
32
+cam_depth = 15.5;
33
+cam_base_height = 9;
34
+cam_arm_height = 17;
35
+cam_arm_hole_dist = 9.5;
36
+cam_arm_hole = 5;
37
+cam_arm_width = 3.1;
38
+cam_arm_dist = 3.1;
39
+cam_nut_outer = 12;
40
+cam_nut_inner = 9.2;
41
+cam_nut_height = 4;
42
+cam_holder_offset = 13.8;
43
+
44
+$fn = 30;
45
+
46
+// -----------------------------------------------------------
47
+
48
+module half_cylinder(d, h) {
49
+    rotate([0, 0, 180])
50
+    difference() {
51
+        cylinder(d = d, h = h);
52
+        translate([-(d / 2), 0, -1])
53
+            cube([d, d / 2, h + 2]);
54
+    }
55
+}
56
+
57
+module cam_arm() {
58
+    difference() {
59
+        union() {
60
+            cube([cam_arm_width, cam_depth, cam_arm_hole_dist]);
61
+            translate([0, cam_depth / 2, cam_arm_hole_dist])
62
+                rotate([90, 0, 90])
63
+                half_cylinder(cam_depth, cam_arm_width);
64
+        }
65
+        
66
+        translate([-1, cam_depth / 2, cam_arm_hole_dist])
67
+            rotate([0, 90, 0])
68
+            cylinder(d = cam_arm_hole, h = cam_arm_width + 2);
69
+    }
70
+}
71
+
72
+module cam_arm_nut() {
73
+    translate([-cam_nut_height, 0, 0])
74
+    rotate([0, 90, 0])
75
+    difference() {
76
+        cylinder(d = cam_nut_outer, h = cam_nut_height);
77
+        translate([0, 0, -1])
78
+            cylinder(d = cam_nut_inner, h = cam_nut_height + 2, $fn = 6);
79
+    }
80
+}
81
+
82
+module cam_holder() {
83
+    cube([(3 * cam_arm_width) + (2 * cam_arm_dist), cam_depth, cam_base_height]);
84
+    
85
+    translate([0, 0, cam_base_height])
86
+        cam_arm();
87
+    
88
+    translate([0, cam_depth / 2, cam_base_height + cam_arm_hole_dist])
89
+        cam_arm_nut();
90
+    
91
+    translate([cam_arm_width + cam_arm_dist, 0, cam_base_height])
92
+        cam_arm();
93
+    
94
+    translate([2 * (cam_arm_width + cam_arm_dist), 0, cam_base_height])
95
+        cam_arm();
96
+}
97
+
98
+module base() {
99
+    difference() {
100
+        cube([width_outer, height_outer, depth]);
101
+        
102
+        translate([wall + (hole / 2), wall + (hole / 2), -1])
103
+            cylinder(d = hole, h = depth + 2);
104
+        
105
+        translate([width_outer - wall - (hole / 2), wall + (hole / 2), -1])
106
+            cylinder(d = hole, h = depth + 2);
107
+        
108
+        translate([wall + (hole / 2), height_outer - wall - (hole / 2), -1])
109
+            cylinder(d = hole, h = depth + 2);
110
+        
111
+        translate([width_outer - wall - (hole / 2), height_outer - wall - (hole / 2), -1])
112
+            cylinder(d = hole, h = depth + 2);
113
+        
114
+        translate([width_outer / 2, -offset_mid, -1])
115
+            cylinder(d = diameter_mid, h = depth + 2);
116
+        
117
+        translate([width_outer / 2, height_outer + offset_big, -1])
118
+            cylinder(d = diameter_big, h = depth + 2);
119
+        
120
+        translate([-offset_small, height_outer / 2, -1])
121
+            cylinder(d = diameter_small, h = depth + 2);
122
+            
123
+        translate([width_outer + offset_small, height_outer / 2, -1])
124
+            cylinder(d = diameter_small, h = depth + 2);
125
+            
126
+        translate([0, 0, -1])
127
+            rotate([0, 0, 45])
128
+            translate([-2.8, -2.8, 0])
129
+            cube([5, 5, depth + 2]);
130
+            
131
+        translate([width_outer, 0, -1])
132
+            rotate([0, 0, 45])
133
+            translate([-2.8, -2.8, 0])
134
+            cube([5, 5, depth + 2]);
135
+            
136
+        translate([0, height_outer, -1])
137
+            rotate([0, 0, 45])
138
+            translate([-2.8, -2.2, 0])
139
+            cube([5, 5, depth + 2]);
140
+        
141
+        translate([width_outer, height_outer, -1])
142
+            rotate([0, 0, 45])
143
+            translate([-2.2, -2.2, 0])
144
+            cube([5, 5, depth + 2]);
145
+    }
146
+}
147
+
148
+module arm() {
149
+    difference() {
150
+        cube([fpv_wall, fpv_holder_width, fpv_offset + (fpv_width / 2) + (fpv_hole / 2) + fpv_holder_top]);
151
+        
152
+        translate([-1, fpv_holder_width / 2, fpv_offset + (fpv_width / 2)])
153
+            rotate([0, 90, 0])
154
+            cylinder(d = fpv_hole, h = fpv_wall + 2);
155
+    }
156
+}
157
+
158
+module fpv_holder() {
159
+    arm();
160
+    
161
+    translate([fpv_width + fpv_wall, 0, 0])
162
+        arm();
163
+}
164
+
165
+// -----------------------------------------------------------
166
+
167
+base();
168
+
169
+translate([(width_outer - fpv_width) / 2 - fpv_wall, (height_outer - fpv_holder_width) / 2, depth])
170
+    fpv_holder();
171
+
172
+translate([cam_holder_offset, (height_outer + cam_depth) / 2, 0])
173
+    rotate([180, 0, 0])
174
+    cam_holder();
175
+
176
+// -----------------------------------------------------------
177
+/*
178
+%translate([(width_outer - fpv_width) / 2, (height_outer - fpv_depth) / 2, depth + fpv_offset])
179
+    cube([fpv_width, fpv_depth, fpv_width]);
180
+
181
+%translate([width_outer / 2, (height_outer - fpv_depth) / 2 + 1, depth + fpv_offset + (fpv_width / 2)])
182
+    rotate([90, 0, 0])
183
+    cylinder(d = fpv_width / 3, h = 8);
184
+*/

+ 12126
- 0
Quanum Trifecta/camera-mount.stl
Diferenças do arquivo suprimidas por serem muito extensas
Ver arquivo


BIN
Quanum Trifecta/foto1_big.jpg Ver arquivo


BIN
Quanum Trifecta/foto1_small.jpg Ver arquivo


BIN
Quanum Trifecta/foto2_big.jpg Ver arquivo


BIN
Quanum Trifecta/foto2_small.jpg Ver arquivo


BIN
Quanum Trifecta/foto3_big.jpg Ver arquivo


BIN
Quanum Trifecta/foto3_small.jpg Ver arquivo


+ 12
- 0
Quanum Trifecta/standoff.scad Ver arquivo

@@ -0,0 +1,12 @@
1
+
2
+height = 25;
3
+outer_diameter = 5;
4
+inner_diameter = 2;
5
+
6
+$fn = 6;
7
+
8
+difference() {
9
+    cylinder(d = outer_diameter, h = height);
10
+    translate([0, 0, -1])
11
+        cylinder(d = inner_diameter, h = height + 2);
12
+}

+ 338
- 0
Quanum Trifecta/standoff.stl Ver arquivo

@@ -0,0 +1,338 @@
1
+solid OpenSCAD_Model
2
+  facet normal 0.866025 0.5 0
3
+    outer loop
4
+      vertex 2.5 0 25
5
+      vertex 1.25 2.16506 0
6
+      vertex 1.25 2.16506 25
7
+    endloop
8
+  endfacet
9
+  facet normal 0.866025 0.5 0
10
+    outer loop
11
+      vertex 1.25 2.16506 0
12
+      vertex 2.5 0 25
13
+      vertex 2.5 0 0
14
+    endloop
15
+  endfacet
16
+  facet normal -0.866025 0.5 0
17
+    outer loop
18
+      vertex -2.5 0 0
19
+      vertex -1.25 2.16506 25
20
+      vertex -1.25 2.16506 0
21
+    endloop
22
+  endfacet
23
+  facet normal -0.866025 0.5 0
24
+    outer loop
25
+      vertex -1.25 2.16506 25
26
+      vertex -2.5 0 0
27
+      vertex -2.5 0 25
28
+    endloop
29
+  endfacet
30
+  facet normal 0 1 -0
31
+    outer loop
32
+      vertex 1.25 2.16506 0
33
+      vertex -1.25 2.16506 25
34
+      vertex 1.25 2.16506 25
35
+    endloop
36
+  endfacet
37
+  facet normal 0 1 0
38
+    outer loop
39
+      vertex -1.25 2.16506 25
40
+      vertex 1.25 2.16506 0
41
+      vertex -1.25 2.16506 0
42
+    endloop
43
+  endfacet
44
+  facet normal 0 0 1
45
+    outer loop
46
+      vertex 1 0 25
47
+      vertex 2.5 0 25
48
+      vertex 1.25 2.16506 25
49
+    endloop
50
+  endfacet
51
+  facet normal 0 0 1
52
+    outer loop
53
+      vertex 2.5 0 25
54
+      vertex 1 0 25
55
+      vertex 1.25 -2.16506 25
56
+    endloop
57
+  endfacet
58
+  facet normal 0 0 1
59
+    outer loop
60
+      vertex 1.25 2.16506 25
61
+      vertex 0.5 0.866025 25
62
+      vertex 1 0 25
63
+    endloop
64
+  endfacet
65
+  facet normal 0 0 1
66
+    outer loop
67
+      vertex 1.25 2.16506 25
68
+      vertex -0.499999 0.866025 25
69
+      vertex 0.5 0.866025 25
70
+    endloop
71
+  endfacet
72
+  facet normal 0 0 1
73
+    outer loop
74
+      vertex -0.499999 0.866025 25
75
+      vertex -1.25 2.16506 25
76
+      vertex -1 0 25
77
+    endloop
78
+  endfacet
79
+  facet normal -0 0 1
80
+    outer loop
81
+      vertex -1.25 2.16506 25
82
+      vertex -0.499999 0.866025 25
83
+      vertex 1.25 2.16506 25
84
+    endloop
85
+  endfacet
86
+  facet normal -0 0 1
87
+    outer loop
88
+      vertex 0.5 -0.866025 25
89
+      vertex 1.25 -2.16506 25
90
+      vertex 1 0 25
91
+    endloop
92
+  endfacet
93
+  facet normal -0 0 1
94
+    outer loop
95
+      vertex -0.5 -0.866025 25
96
+      vertex 1.25 -2.16506 25
97
+      vertex 0.5 -0.866025 25
98
+    endloop
99
+  endfacet
100
+  facet normal 0 0 1
101
+    outer loop
102
+      vertex -0.5 -0.866025 25
103
+      vertex -1.25 -2.16506 25
104
+      vertex 1.25 -2.16506 25
105
+    endloop
106
+  endfacet
107
+  facet normal 0 0 1
108
+    outer loop
109
+      vertex -1 0 25
110
+      vertex -1.25 -2.16506 25
111
+      vertex -0.5 -0.866025 25
112
+    endloop
113
+  endfacet
114
+  facet normal 0 0 1
115
+    outer loop
116
+      vertex -2.5 0 25
117
+      vertex -1 0 25
118
+      vertex -1.25 2.16506 25
119
+    endloop
120
+  endfacet
121
+  facet normal 0 0 1
122
+    outer loop
123
+      vertex -1 0 25
124
+      vertex -2.5 0 25
125
+      vertex -1.25 -2.16506 25
126
+    endloop
127
+  endfacet
128
+  facet normal 0.866025 -0.5 0
129
+    outer loop
130
+      vertex 1.25 -2.16506 25
131
+      vertex 2.5 0 0
132
+      vertex 2.5 0 25
133
+    endloop
134
+  endfacet
135
+  facet normal 0.866025 -0.5 0
136
+    outer loop
137
+      vertex 2.5 0 0
138
+      vertex 1.25 -2.16506 25
139
+      vertex 1.25 -2.16506 0
140
+    endloop
141
+  endfacet
142
+  facet normal 0 0 -1
143
+    outer loop
144
+      vertex 1 0 0
145
+      vertex 2.5 0 0
146
+      vertex 1.25 -2.16506 0
147
+    endloop
148
+  endfacet
149
+  facet normal 0 0 -1
150
+    outer loop
151
+      vertex 2.5 0 0
152
+      vertex 1 0 0
153
+      vertex 1.25 2.16506 0
154
+    endloop
155
+  endfacet
156
+  facet normal 0 0 -1
157
+    outer loop
158
+      vertex 1.25 -2.16506 0
159
+      vertex 0.5 -0.866025 0
160
+      vertex 1 0 0
161
+    endloop
162
+  endfacet
163
+  facet normal 0 0 -1
164
+    outer loop
165
+      vertex 1.25 -2.16506 0
166
+      vertex -0.5 -0.866025 0
167
+      vertex 0.5 -0.866025 0
168
+    endloop
169
+  endfacet
170
+  facet normal 0 0 -1
171
+    outer loop
172
+      vertex -1.25 -2.16506 0
173
+      vertex -0.5 -0.866025 0
174
+      vertex 1.25 -2.16506 0
175
+    endloop
176
+  endfacet
177
+  facet normal 0 0 -1
178
+    outer loop
179
+      vertex -1.25 -2.16506 0
180
+      vertex -1 0 0
181
+      vertex -0.5 -0.866025 0
182
+    endloop
183
+  endfacet
184
+  facet normal 0 0 -1
185
+    outer loop
186
+      vertex -2.5 0 0
187
+      vertex -1 0 0
188
+      vertex -1.25 -2.16506 0
189
+    endloop
190
+  endfacet
191
+  facet normal 0 0 -1
192
+    outer loop
193
+      vertex -1 0 0
194
+      vertex -2.5 0 0
195
+      vertex -1.25 2.16506 0
196
+    endloop
197
+  endfacet
198
+  facet normal 0 0 -1
199
+    outer loop
200
+      vertex 0.5 0.866025 0
201
+      vertex 1.25 2.16506 0
202
+      vertex 1 0 0
203
+    endloop
204
+  endfacet
205
+  facet normal 0 0 -1
206
+    outer loop
207
+      vertex -0.499999 0.866025 0
208
+      vertex 1.25 2.16506 0
209
+      vertex 0.5 0.866025 0
210
+    endloop
211
+  endfacet
212
+  facet normal 0 0 -1
213
+    outer loop
214
+      vertex -0.499999 0.866025 0
215
+      vertex -1.25 2.16506 0
216
+      vertex 1.25 2.16506 0
217
+    endloop
218
+  endfacet
219
+  facet normal 0 0 -1
220
+    outer loop
221
+      vertex -1.25 2.16506 0
222
+      vertex -0.499999 0.866025 0
223
+      vertex -1 0 0
224
+    endloop
225
+  endfacet
226
+  facet normal 0 -1 0
227
+    outer loop
228
+      vertex -1.25 -2.16506 0
229
+      vertex 1.25 -2.16506 25
230
+      vertex -1.25 -2.16506 25
231
+    endloop
232
+  endfacet
233
+  facet normal 0 -1 -0
234
+    outer loop
235
+      vertex 1.25 -2.16506 25
236
+      vertex -1.25 -2.16506 0
237
+      vertex 1.25 -2.16506 0
238
+    endloop
239
+  endfacet
240
+  facet normal -0.866025 -0.5 0
241
+    outer loop
242
+      vertex -1.25 -2.16506 0
243
+      vertex -2.5 0 25
244
+      vertex -2.5 0 0
245
+    endloop
246
+  endfacet
247
+  facet normal -0.866025 -0.5 0
248
+    outer loop
249
+      vertex -2.5 0 25
250
+      vertex -1.25 -2.16506 0
251
+      vertex -1.25 -2.16506 25
252
+    endloop
253
+  endfacet
254
+  facet normal -0.866025 -0.5 0
255
+    outer loop
256
+      vertex 1 0 0
257
+      vertex 0.5 0.866025 25
258
+      vertex 0.5 0.866025 0
259
+    endloop
260
+  endfacet
261
+  facet normal -0.866025 -0.5 0
262
+    outer loop
263
+      vertex 0.5 0.866025 25
264
+      vertex 1 0 0
265
+      vertex 1 0 25
266
+    endloop
267
+  endfacet
268
+  facet normal 0.866025 -0.500001 0
269
+    outer loop
270
+      vertex -1 0 25
271
+      vertex -0.499999 0.866025 0
272
+      vertex -0.499999 0.866025 25
273
+    endloop
274
+  endfacet
275
+  facet normal 0.866025 -0.500001 0
276
+    outer loop
277
+      vertex -0.499999 0.866025 0
278
+      vertex -1 0 25
279
+      vertex -1 0 0
280
+    endloop
281
+  endfacet
282
+  facet normal 0 -1 0
283
+    outer loop
284
+      vertex -0.499999 0.866025 0
285
+      vertex 0.5 0.866025 25
286
+      vertex -0.499999 0.866025 25
287
+    endloop
288
+  endfacet
289
+  facet normal 0 -1 -0
290
+    outer loop
291
+      vertex 0.5 0.866025 25
292
+      vertex -0.499999 0.866025 0
293
+      vertex 0.5 0.866025 0
294
+    endloop
295
+  endfacet
296
+  facet normal -0.866025 0.5 0
297
+    outer loop
298
+      vertex 0.5 -0.866025 0
299
+      vertex 1 0 25
300
+      vertex 1 0 0
301
+    endloop
302
+  endfacet
303
+  facet normal -0.866025 0.5 0
304
+    outer loop
305
+      vertex 1 0 25
306
+      vertex 0.5 -0.866025 0
307
+      vertex 0.5 -0.866025 25
308
+    endloop
309
+  endfacet
310
+  facet normal 0 1 -0
311
+    outer loop
312
+      vertex 0.5 -0.866025 0
313
+      vertex -0.5 -0.866025 25
314
+      vertex 0.5 -0.866025 25
315
+    endloop
316
+  endfacet
317
+  facet normal 0 1 0
318
+    outer loop
319
+      vertex -0.5 -0.866025 25
320
+      vertex 0.5 -0.866025 0
321
+      vertex -0.5 -0.866025 0
322
+    endloop
323
+  endfacet
324
+  facet normal 0.866025 0.5 0
325
+    outer loop
326
+      vertex -0.5 -0.866025 25
327
+      vertex -1 0 0
328
+      vertex -1 0 25
329
+    endloop
330
+  endfacet
331
+  facet normal 0.866025 0.5 0
332
+    outer loop
333
+      vertex -1 0 0
334
+      vertex -0.5 -0.866025 25
335
+      vertex -0.5 -0.866025 0
336
+    endloop
337
+  endfacet
338
+endsolid OpenSCAD_Model

+ 159
- 0
Quanum Trifecta/xiaomi-yi.scad Ver arquivo

@@ -0,0 +1,159 @@
1
+/*
2
+ * Created by:
3
+ * Thomas Buck <xythobuz@xythobuz.de> in May 2016
4
+ *
5
+ * Licensed under the
6
+ * Creative Commons - Attribution - Share Alike license.
7
+ */
8
+
9
+// -----------------------------------------------------------
10
+
11
+cam_width = 61; // 60.5
12
+cam_depth = 22; // 21.3
13
+cam_height = 43; // 42.1
14
+
15
+button_size = 12;
16
+button_dist = 14;
17
+
18
+mic_hole = 2;
19
+mic_hole_dist = 17.8;
20
+
21
+bottom_hole = 8;
22
+bottom_hole_dist = 17.2;
23
+
24
+wifi_hole = 6.4;
25
+wifi_hole_dist = 18;
26
+
27
+mount_width = 3; // 3.1
28
+mount_gap = 3.2; // 3.1
29
+mount_depth = 16.4; // 16.4
30
+mount_height = 16.2; // 16.1
31
+mount_hole = 5.2; // 5
32
+mount_hole_dist = 7.8; // 7.7
33
+mount_offset = -7; // -7
34
+
35
+wall_size = 1.8;
36
+lip_height = 1;
37
+lip_width = 1.4;
38
+
39
+$fn = 20;
40
+
41
+// -----------------------------------------------------------
42
+
43
+module half_cylinder(d, h) {
44
+    rotate([0, 0, 180])
45
+    difference() {
46
+        cylinder(d = d, h = h);
47
+        translate([-(d / 2), 0, -1])
48
+            cube([d, d / 2, h + 2]);
49
+    }
50
+}
51
+
52
+module frame() {
53
+    // left wall
54
+    translate([0, wall_size, 0])
55
+        cube([wall_size, cam_height, cam_depth]);
56
+    
57
+    // right wall
58
+    translate([wall_size + cam_width, wall_size, 0])
59
+        cube([wall_size, cam_height, cam_depth]);
60
+    
61
+    // bottom wall
62
+    cube([cam_width + (2 * wall_size), wall_size, cam_depth]);
63
+    
64
+    // top wall
65
+    translate([0, wall_size + cam_height, 0])
66
+        cube([cam_width + (2 * wall_size), wall_size, cam_depth]);
67
+}
68
+
69
+module frameWithButton() {
70
+    difference() {
71
+        frame();
72
+        
73
+        // button
74
+        translate([wall_size + button_dist, (2 * wall_size) + cam_height + 1, cam_depth / 2])
75
+            rotate([90, 0, 0])
76
+            cylinder(d = button_size, h = wall_size + 2);
77
+        
78
+        // mic hole
79
+        translate([wall_size + cam_width - mic_hole_dist, (2 * wall_size) + cam_height + 1, cam_depth / 2])
80
+            rotate([90, 0, 0])
81
+            cylinder(d = mic_hole, h = wall_size + 2);
82
+        
83
+        // bottom hole
84
+        translate([wall_size + cam_width - bottom_hole_dist, wall_size + 1, cam_depth / 2])
85
+            rotate([90, 0, 0])
86
+            cylinder(d = bottom_hole, h = wall_size + 2);
87
+        
88
+        // wifi hole
89
+        translate([wall_size + cam_width - 1, wall_size + wifi_hole_dist, cam_depth / 2])
90
+            rotate([0, 90, 0])
91
+            cylinder(d = wifi_hole, h = wall_size + 2);
92
+    }
93
+}
94
+
95
+module lip() {
96
+    // left lip
97
+    translate([0, wall_size, 0])
98
+        cube([wall_size + lip_width, cam_height, lip_height]);
99
+    
100
+    // right lip
101
+    translate([wall_size + cam_width - lip_width, wall_size, 0])
102
+        cube([wall_size + lip_width, cam_height, lip_height]);
103
+    
104
+    // bottom lip
105
+    cube([cam_width + (2 * wall_size), wall_size + lip_width, lip_height]);
106
+    
107
+    // top lip
108
+    translate([0, wall_size + cam_height - lip_width, 0])
109
+        cube([cam_width + (2 * wall_size), wall_size + lip_width, lip_height]);
110
+}
111
+
112
+module frameLips() {
113
+    translate([0, 0, lip_height])
114
+        frameWithButton();
115
+    
116
+    lip();
117
+    
118
+    translate([0, 0, cam_depth + lip_height])
119
+        lip();
120
+}
121
+
122
+module mountArm() {
123
+    difference() {
124
+        union() {
125
+            translate([0, mount_height - (mount_depth / 2), 0])
126
+                rotate([0, 90, 0])
127
+                half_cylinder(mount_depth, mount_width);
128
+            
129
+            translate([0, -wall_size, -(mount_depth / 2)])
130
+                cube([mount_width, mount_height - (mount_depth / 2) + wall_size, mount_depth]);
131
+        }
132
+        
133
+        translate([-1, mount_height - mount_hole_dist, 0])
134
+            rotate([0, 90, 0])
135
+            cylinder(d = mount_hole, h = mount_width + 2);
136
+    }
137
+}
138
+
139
+module mount() {
140
+    mountArm();
141
+    
142
+    translate([mount_width + mount_gap, 0, 0])
143
+        mountArm();
144
+}
145
+
146
+module cover() {
147
+    difference() {
148
+        frameLips();
149
+        translate([wall_size + ((cam_width - (mount_gap + (2 * mount_width))) / 2) + mount_offset + mount_width, wall_size + cam_height - lip_width - 1, -1])
150
+            cube([mount_gap, wall_size + lip_width + 2, cam_depth + (2 * lip_height) + 2]);
151
+    }
152
+
153
+    translate([wall_size + ((cam_width - (mount_gap + (2 * mount_width))) / 2) + mount_offset, (2 * wall_size) + cam_height, lip_height + (cam_depth / 2)])
154
+        mount();
155
+}
156
+
157
+// -----------------------------------------------------------
158
+
159
+cover();

+ 5112
- 0
Quanum Trifecta/xiaomi-yi.stl
Diferenças do arquivo suprimidas por serem muito extensas
Ver arquivo


Carregando…
Cancelar
Salvar