Browse Source

Added Webcam Holder

Thomas Buck 8 years ago
parent
commit
e4fb33d04a

+ 130
- 0
Webcam Holder/cam_adaptor.scad View File

@@ -0,0 +1,130 @@
1
+/*
2
+ * Inspired by the "TinyBoy / Fabrikator mini Cam holder"
3
+ * by "andy_a":
4
+ * http://www.thingiverse.com/thing:1434698
5
+ *
6
+ * Created by:
7
+ * Thomas Buck <xythobuz@xythobuz.de> in April 2016
8
+ *
9
+ * Licensed under the Creative Commons - Attribution license.
10
+ */
11
+
12
+height = 10;
13
+wallSize = 3;
14
+screwInner = 2.8;
15
+screwOuter = 6.5;
16
+fitGap = 0.4;
17
+
18
+width = 30;
19
+length = 30;
20
+
21
+$fn = 20;
22
+
23
+// -----------------------------------------------------------
24
+
25
+module half_circle(d, h) {
26
+    difference() {
27
+        cylinder(d = d, h = h);
28
+        
29
+        translate([0, -(d / 2) - 1, -1])
30
+            cube([(d / 2) + 1, d + 2, h + 2]);
31
+    }
32
+}
33
+
34
+module screw() {
35
+    difference() {
36
+        cylinder(d = screwOuter, h = height);
37
+        translate([0, 0, -1])
38
+            cylinder(d = screwInner, h = height + 2);
39
+    }
40
+}
41
+
42
+module quarter_circle(d, h) {
43
+    difference() {
44
+        cylinder(d = d, h = h);
45
+        
46
+        translate([0, -(d / 2) - 1, -1])
47
+            cube([(d / 2) + 1, d + 2, h + 2]);
48
+        
49
+        translate([-(d / 2) - 1, 0, -1])
50
+            cube([(d / 2) + 2, (d / 2) + 1, h + 2]);
51
+    }
52
+}
53
+
54
+module webcam_shaft_center() {
55
+    difference() {
56
+        cube([9.5, 3.5, 8]);
57
+        
58
+        translate([4.5, 4, 4])
59
+            rotate([90, 0, 0])
60
+            cylinder(d = 3, h = 4.5);
61
+    }
62
+}
63
+
64
+module webcam_shaft_end() {
65
+    difference() {
66
+        union() {
67
+            // rectangular part
68
+            translate([0, -5.5, 0])
69
+                cube([5, 5.5, 9.5]);
70
+            
71
+            // front radius
72
+            translate([5, -2.75, 0])
73
+                cylinder(d = 5.5, h = 9.5);
74
+            
75
+            translate([0, 0, 9.5])
76
+                rotate([90, 0, 0])
77
+                quarter_circle(19, 5.5);
78
+        }
79
+    
80
+        // axis hole
81
+        translate([4.5, -2.75, -1])
82
+            cylinder(d = 4.5, h = 11.5);
83
+    }
84
+}
85
+
86
+module webcam_shaft() {
87
+    translate([-0.5, -5.5, 9.5])
88
+        webcam_shaft_center();
89
+
90
+    translate([9, 0, 0])
91
+        webcam_shaft_end();
92
+
93
+    translate([9, -5.5, 27])
94
+        rotate([0, 180, 180])
95
+        webcam_shaft_end();
96
+}
97
+
98
+// -----------------------------------------------------------
99
+
100
+module all() {
101
+    %translate([9, -9.5 - fitGap, 2])
102
+        rotate([90, 0, 180])
103
+        webcam_shaft();
104
+    
105
+    difference() {
106
+        translate([0, 0, 0])
107
+            cube([9.5, 8 - (2 * fitGap), wallSize]);
108
+        
109
+        translate([5, 4 - fitGap, -1])
110
+            cylinder(d = 3, h = wallSize + 2);
111
+    }
112
+    
113
+    translate([width, height, length])
114
+        rotate([90, 0, 0])
115
+        screw();
116
+    
117
+    translate([9.5, 0, 0])
118
+        cube([width - 10, 8 - (2 * fitGap), wallSize]);
119
+    
120
+    translate([width - (wallSize / 2), 0, 0])
121
+        cube([wallSize, 8 - (2 * fitGap), length - 2]);
122
+    
123
+    translate([width / 2, 0, wallSize / 2])
124
+        rotate([0, 45, 0])
125
+        cube([wallSize / 2, 8 - (2 * fitGap), sqrt(((width / 2) * (width / 2)) + ((length / 2) * (length / 2)))]);
126
+}
127
+
128
+translate([width + (screwOuter / 2), 0, 0])
129
+    rotate([90, 0, 180])
130
+    all();

+ 2102
- 0
Webcam Holder/cam_adaptor.stl
File diff suppressed because it is too large
View File


+ 85
- 0
Webcam Holder/cam_arm.scad View File

@@ -0,0 +1,85 @@
1
+/*
2
+ * Inspired by the "TinyBoy / Fabrikator mini Cam holder"
3
+ * by "andy_a":
4
+ * http://www.thingiverse.com/thing:1434698
5
+ *
6
+ * Created by:
7
+ * Thomas Buck <xythobuz@xythobuz.de> in April 2016
8
+ *
9
+ * Licensed under the Creative Commons - Attribution license.
10
+ */
11
+
12
+height = 10.2;
13
+wallSize = 3;
14
+screwInner = 2.8;
15
+screwOuter = 6.5;
16
+length = 60;
17
+
18
+$fn = 20;
19
+
20
+// -----------------------------------------------------------
21
+
22
+module half_circle(d, h) {
23
+    difference() {
24
+        cylinder(d = d, h = h);
25
+        
26
+        translate([0, -(d / 2) - 1, -1])
27
+            cube([(d / 2) + 1, d + 2, h + 2]);
28
+    }
29
+}
30
+
31
+module screw() {
32
+    difference() {
33
+        cylinder(d = screwOuter, h = height);
34
+        translate([0, 0, -1])
35
+            cylinder(d = screwInner, h = height + 2);
36
+    }
37
+}
38
+
39
+module arm() {
40
+    translate([0, screwOuter / 2, 0])
41
+        cube([wallSize, length - screwOuter, screwOuter]);
42
+    
43
+    translate([0, screwOuter / 2, screwOuter / 2])
44
+        rotate([90, 0, 90])
45
+        half_circle(screwOuter, wallSize);
46
+    
47
+    translate([wallSize, length - (screwOuter / 2), screwOuter / 2])
48
+        rotate([90, 0, 270])
49
+        half_circle(screwOuter, wallSize);
50
+}
51
+
52
+%translate([wallSize, length - (screwOuter / 2), screwOuter / 2])
53
+    rotate([0, 90, 0])
54
+    screw();
55
+
56
+%translate([wallSize, screwOuter / 2, screwOuter / 2])
57
+    rotate([0, 90, 0])
58
+    screw();
59
+
60
+// -----------------------------------------------------------
61
+
62
+difference() {
63
+    union() {
64
+        arm();
65
+        
66
+        translate([height + wallSize, 0, 0])
67
+            arm();
68
+        
69
+        translate([wallSize, length / 3, screwOuter / 2])
70
+            rotate([0, 90, 0])
71
+            cylinder(d = screwOuter, h = height);
72
+        
73
+        translate([wallSize, length * 2 / 3, screwOuter / 2])
74
+            rotate([0, 90, 0])
75
+            cylinder(d = screwOuter, h = height);
76
+    }
77
+    
78
+    translate([-1, screwOuter / 2, screwOuter / 2])
79
+        rotate([0, 90, 0])
80
+        cylinder(d = screwInner, h = height + (2 * wallSize) + 2);
81
+    
82
+    translate([-1, length - (screwOuter / 2), screwOuter / 2])
83
+        rotate([0, 90, 0])
84
+        cylinder(d = screwInner, h = height + (2 * wallSize) + 2);
85
+}

+ 4902
- 0
Webcam Holder/cam_arm.stl
File diff suppressed because it is too large
View File


+ 80
- 0
Webcam Holder/cam_bracket.scad View File

@@ -0,0 +1,80 @@
1
+/*
2
+ * Inspired by the "TinyBoy / Fabrikator mini Cam holder"
3
+ * by "andy_a":
4
+ * http://www.thingiverse.com/thing:1434698
5
+ *
6
+ * Created by:
7
+ * Thomas Buck <xythobuz@xythobuz.de> in April 2016
8
+ *
9
+ * Licensed under the Creative Commons - Attribution license.
10
+ */
11
+
12
+//import("/Users/thomas/Downloads/TinyBoy___Fabrikator_mini_Cam_holder/files/tinyboy__fabrikator_mini_cam_holder.stl");
13
+
14
+// -----------------------------------------------------------
15
+
16
+$fn = 20;
17
+
18
+// -----------------------------------------------------------
19
+
20
+module quarter_circle(d, h) {
21
+    difference() {
22
+        cylinder(d = d, h = h);
23
+        
24
+        translate([0, -(d / 2) - 1, -1])
25
+            cube([(d / 2) + 1, d + 2, h + 2]);
26
+        
27
+        translate([-(d / 2) - 1, 0, -1])
28
+            cube([(d / 2) + 2, (d / 2) + 1, h + 2]);
29
+    }
30
+}
31
+
32
+module webcam_shaft_center() {
33
+    difference() {
34
+        cube([9.5, 3.5, 8]);
35
+        
36
+        translate([4.5, 4, 4])
37
+            rotate([90, 0, 0])
38
+            cylinder(d = 3, h = 4.5);
39
+    }
40
+}
41
+
42
+module webcam_shaft_end() {
43
+    difference() {
44
+        union() {
45
+            // rectangular part
46
+            translate([0, -5.5, 0])
47
+                cube([5, 5.5, 9.5]);
48
+            
49
+            // front radius
50
+            translate([5, -2.75, 0])
51
+                cylinder(d = 5.5, h = 9.5);
52
+            
53
+            translate([0, 0, 9.5])
54
+                rotate([90, 0, 0])
55
+                quarter_circle(19, 5.5);
56
+        }
57
+    
58
+        // axis hole
59
+        translate([4.5, -2.75, -1])
60
+            cylinder(d = 4.5, h = 11.5);
61
+    }
62
+}
63
+
64
+module webcam_shaft() {
65
+    translate([-0.5, -5.5, 9.5])
66
+        webcam_shaft_center();
67
+
68
+    translate([9, 0, 0])
69
+        webcam_shaft_end();
70
+
71
+    translate([9, -5.5, 27])
72
+        rotate([0, 180, 180])
73
+        webcam_shaft_end();
74
+}
75
+
76
+// -----------------------------------------------------------
77
+
78
+translate([0, 0.5, 5.5])
79
+    rotate([90, 0, 90])
80
+    webcam_shaft();

+ 2928
- 0
Webcam Holder/cam_bracket.stl
File diff suppressed because it is too large
View File


+ 39
- 0
Webcam Holder/cam_gender.scad View File

@@ -0,0 +1,39 @@
1
+/*
2
+ * Inspired by the "TinyBoy / Fabrikator mini Cam holder"
3
+ * by "andy_a":
4
+ * http://www.thingiverse.com/thing:1434698
5
+ *
6
+ * Created by:
7
+ * Thomas Buck <xythobuz@xythobuz.de> in April 2016
8
+ *
9
+ * Licensed under the Creative Commons - Attribution license.
10
+ */
11
+
12
+height = 10;
13
+wallSize = 3;
14
+length = 5;
15
+screwInner = 2.8;
16
+screwOuter = 6.5;
17
+
18
+overlap = (screwOuter - screwInner) / 2;
19
+$fn = 25;
20
+
21
+// -----------------------------------------------------------
22
+
23
+module screw() {
24
+    difference() {
25
+        cylinder(d = screwOuter, h = height);
26
+        translate([0, 0, -1])
27
+            cylinder(d = screwInner, h = height + 2);
28
+    }
29
+}
30
+
31
+// -----------------------------------------------------------
32
+
33
+screw();
34
+
35
+translate([screwOuter + length, 0, 0])
36
+    screw();
37
+
38
+translate([(screwOuter / 2) - overlap, -wallSize / 2, 0])
39
+    cube([length + (2 * overlap), wallSize, height]);

+ 2746
- 0
Webcam Holder/cam_gender.stl
File diff suppressed because it is too large
View File


+ 68
- 0
Webcam Holder/cam_holder.scad View File

@@ -0,0 +1,68 @@
1
+/*
2
+ * Inspired by the "TinyBoy / Fabrikator mini Cam holder"
3
+ * by "andy_a":
4
+ * http://www.thingiverse.com/thing:1434698
5
+ *
6
+ * Created by:
7
+ * Thomas Buck <xythobuz@xythobuz.de> in April 2016
8
+ *
9
+ * Licensed under the Creative Commons - Attribution license.
10
+ */
11
+
12
+// -----------------------------------------------------------
13
+
14
+height = 10;
15
+bodyHeight = 25;
16
+wallSize = 3;
17
+lipSize = 3;
18
+fullSize = 28;
19
+gap = 5;
20
+screwInner = 2.8;
21
+screwOuter = 6.5;
22
+
23
+$fn = 25;
24
+
25
+// -----------------------------------------------------------
26
+
27
+module screw() {
28
+    difference() {
29
+        cylinder(d = screwOuter, h = height);
30
+        translate([0, 0, -1])
31
+            cylinder(d = screwInner, h = height + 2);
32
+    }
33
+}
34
+
35
+// -----------------------------------------------------------
36
+
37
+// lower body
38
+cube([wallSize, fullSize - wallSize, bodyHeight]);
39
+
40
+// upper border
41
+translate([0, fullSize - wallSize, 0])
42
+    cube([(2 * wallSize) + gap, wallSize, bodyHeight]);
43
+
44
+// upper lip
45
+translate([wallSize + gap, fullSize - (2 * wallSize), 0])
46
+    cube([wallSize, wallSize, bodyHeight]);
47
+
48
+// lower border
49
+translate([wallSize, 0, 0])
50
+    cube([lipSize, lipSize, bodyHeight]);
51
+
52
+//translate([-7, 3.5, (bodyHeight - height) / 2])
53
+    //screw();
54
+
55
+translate([-7, 8.5, (bodyHeight - height) / 2])
56
+    screw();
57
+
58
+translate([-7, 13.5, (bodyHeight - height) / 2])
59
+    screw();
60
+
61
+translate([-7, 18.5, (bodyHeight - height) / 2])
62
+    screw();
63
+
64
+//translate([-7, 23.5, (bodyHeight - height) / 2])
65
+    //screw();
66
+
67
+translate([-5.5, 5.75, (bodyHeight - height) / 2])
68
+    cube([5.5, 15.5, height]);

+ 3390
- 0
Webcam Holder/cam_holder.stl
File diff suppressed because it is too large
View File


Loading…
Cancel
Save