Browse Source

Added Y-Axis Fan Holder

Thomas Buck 8 years ago
parent
commit
9ee4acb008

+ 11622
- 0
Y-Axis Fan/Fan Holder Small.stl
File diff suppressed because it is too large
View File


+ 184
- 0
Y-Axis Fan/Fan_Holder.scad View File

@@ -0,0 +1,184 @@
1
+/*
2
+ * Based on "Y-Axis Bracket" by "daveth26":
3
+ * http://www.thingiverse.com/thing:1104535
4
+ *
5
+ * Recreated and modified by:
6
+ * Thomas Buck <xythobuz@xythobuz.de> in March 2016
7
+ *
8
+ * Licensed under the Creative Commons - Attribution license.
9
+ *
10
+ * This part has been modified to use a 25mm fan instead of 
11
+ * a 30mm fan. This can be set in the parameters, but beware
12
+ * of any problems, I have not tested any other sizes.
13
+ *
14
+ * The Fabrikator Mini V1.5 include a new bracket that prevents
15
+ * the old design from sliding fully onto the stepper motor.
16
+ * A parameter has been added (fab_mini_v15) that allows
17
+ * reverting to the old behvior.
18
+ *
19
+ * For V1.5, a height of 25mm is suggested, as this provides
20
+ * enough stability with the big cut-out. To revert to something
21
+ * like the original model, set the height to 15mm (and
22
+ * fab_mini_v15 to "false").
23
+ */
24
+
25
+// -----------------------------------------------------------
26
+
27
+height = 25; // [14:26]
28
+
29
+// cut-out for new part in Fabrikator Mini V1.5
30
+fab_mini_v15 = "true"; // [true, false]
31
+
32
+// default for 25mm fan: 23
33
+fan_hole_diameter = 23; // [26]
34
+
35
+// default for 25mm fan: 20
36
+fan_screw_distance = 20; // [22]
37
+
38
+// default for 25mm fan: 3
39
+fan_screw_diameter = 3; // [1:5]
40
+
41
+fan_hole_angled = "true"; // [true, false]
42
+
43
+// -----------------------------------------------------------
44
+
45
+/* [Hidden] */
46
+
47
+fan_angle = 10;
48
+
49
+$fn = 25;
50
+
51
+fan_screw_pos = fan_screw_distance / 2;
52
+fan_screw_neg = -fan_screw_pos;
53
+
54
+// -----------------------------------------------------------
55
+
56
+module ellipse(w, l, d) {
57
+    cube([d, l - w, w]);
58
+    
59
+    translate([0, 0, w / 2])
60
+        rotate([0, 90, 0])
61
+        cylinder(d = w, h = d);
62
+    
63
+    translate([0, l - w, w / 2])
64
+        rotate([0, 90, 0])
65
+        cylinder(d = w, h = d);
66
+}
67
+
68
+// -----------------------------------------------------------
69
+
70
+// bottom left arm
71
+if (fab_mini_v15 == "true") {
72
+    translate([0, 0, 8])
73
+        cube([30, 2, 2]);
74
+} else {
75
+    translate([0, 0, 8])
76
+        cube([30, 2, height - 8]);
77
+}
78
+
79
+// bottom left nub
80
+if (fab_mini_v15 == "true") {
81
+    translate([0, 0, 8])
82
+        cube([1, 3, 2]);
83
+} else {
84
+    translate([0, 0, 8])
85
+        cube([1, 3, height - 8]);
86
+}
87
+
88
+if (height > 20) {
89
+    // top left arm
90
+    translate([0, 0, 20])
91
+        cube([30, 2, height - 20]);
92
+    
93
+    // top left nub
94
+    translate([0, 0, 20])
95
+        cube([1, 3, height - 20]);
96
+}
97
+
98
+// left back support
99
+translate([26, 0, 0])
100
+    cube([4, 2, height]);
101
+
102
+// mid left support
103
+translate([15, 0, 10])
104
+    cube([11, 2, height - 10]);
105
+
106
+// right arm
107
+difference() {
108
+    translate([0, 30.5, 0])
109
+        cube([30, 2, height]);
110
+    
111
+    translate([22, 28, 4])
112
+        rotate([0, 0, 90])
113
+        ellipse(7, 20, 8);
114
+    
115
+    if (height > 23) {
116
+        translate([22, 28, 15])
117
+            rotate([0, 0, 90])
118
+            ellipse(7, 20, 8);
119
+    }
120
+}
121
+    
122
+// right nub
123
+translate([0, 29.5, 0])
124
+    cube([1, 3, height]);
125
+
126
+// back wall
127
+difference() {
128
+    translate([28, 0, 0])
129
+        cube([2, 32, height]);
130
+    
131
+    translate([25, 10, 4])
132
+        ellipse(7, 20, 8);
133
+    
134
+    if (height > 23) {
135
+        translate([25, 10, 15])
136
+            ellipse(7, 20, 8);
137
+    }
138
+}
139
+
140
+difference() {
141
+    // base
142
+    translate([0, 0, -5])
143
+        cube([30, 32.5, 5]);
144
+    
145
+    // cut off angled bottom part
146
+    rotate([0, -fan_angle, 0])
147
+        translate([-2, -1, -11])
148
+        cube([34, 34, 6]);
149
+    
150
+    // main fan hole
151
+    if (fan_hole_angled == "true") {
152
+        rotate([0, -fan_angle, 0])
153
+            translate([14.5, 16, -7])
154
+            cylinder(d = fan_hole_diameter, h = 10);
155
+    } else {
156
+        translate([14.5, 16, -7])
157
+        cylinder(d = fan_hole_diameter, h = 10);
158
+    }
159
+    
160
+    // fan screw holes
161
+    for (i = [1 : 2]) {
162
+        for (j = [1 : 2]) {
163
+            rotate([0, -fan_angle, 0])
164
+                translate([14.5, 16, -7])
165
+                translate([(((i % 2) == 0) ? fan_screw_pos : fan_screw_neg),
166
+                    (((j % 2) == 0) ? fan_screw_pos : fan_screw_neg), 0])
167
+                cylinder(d = fan_screw_diameter, h = 10);
168
+        }
169
+    }
170
+    
171
+    // big air hole
172
+    translate([8, 33, -1.8])
173
+        rotate([90, 0, 0])
174
+        cylinder(d = 2, h = 34);
175
+    
176
+    // small air hole
177
+    translate([12, 33, -1.5])
178
+        rotate([90, 0, 0])
179
+        cylinder(d = 1.5, h = 34);
180
+    
181
+    // elliptical air hole
182
+    translate([-1, 11, -3.5])
183
+        ellipse(2, 12, 8);
184
+}

+ 13526
- 0
Y-Axis Fan/Fan_Holder.stl
File diff suppressed because it is too large
View File


+ 70
- 0
Y-Axis Fan/Motor Clamp Test.scad View File

@@ -0,0 +1,70 @@
1
+/*
2
+ * Created by:
3
+ * Thomas Buck <xythobuz@xythobuz.de> in March 2016
4
+ *
5
+ * Licensed under the Creative Commons - Attribution license.
6
+ */
7
+
8
+// -----------------------------------------------------------
9
+
10
+//translate([-31.784, 42.247, -18.25])
11
+//    import( "/Users/thomas/Downloads/turnigy_3d_fabrikator_y-axis_fan_cheese_fan_bracket.stl");
12
+
13
+// -----------------------------------------------------------
14
+
15
+top_height = 5;
16
+bottom_height = 2;
17
+distance = 10;
18
+motor_width = 28;
19
+arm_width = 2;
20
+holder_nub = 1;
21
+hole = 22;
22
+
23
+$fn = 25;
24
+
25
+// -----------------------------------------------------------
26
+
27
+// Test rendering of motor
28
+/*
29
+#translate([holder_nub, arm_width, 0])
30
+    cube([motor_width, motor_width, motor_width]);
31
+*/
32
+
33
+// -----------------------------------------------------------
34
+
35
+module arm(dir = "left", h) {
36
+    cube([motor_width + holder_nub, arm_width, h]);
37
+    
38
+    translate([0, (dir == "right") ? -holder_nub : 0, 0])
39
+        cube([holder_nub, arm_width + holder_nub, h]);
40
+}
41
+
42
+module clamp(h) {
43
+    arm("left", h);
44
+    
45
+    translate([0, motor_width + arm_width, 0])
46
+        arm("right", h);
47
+    
48
+    translate([motor_width + holder_nub, 0, 0])
49
+        cube([arm_width, motor_width + (2 * arm_width), h]);
50
+}
51
+
52
+module part() {
53
+    clamp(bottom_height);
54
+    
55
+    translate([0, 0, distance + bottom_height])
56
+        clamp(top_height);
57
+    
58
+    translate([motor_width + holder_nub, 0, 0])
59
+        cube([arm_width, motor_width + (2 * arm_width), top_height + distance + bottom_height]);
60
+}
61
+
62
+// -----------------------------------------------------------
63
+
64
+difference() {
65
+    part();
66
+    
67
+    translate([motor_width + holder_nub - (arm_width / 2), (motor_width / 2) + arm_width, 4])
68
+        rotate([0, 90, 0])
69
+        cylinder(d = hole, h = 2 * arm_width);
70
+}

+ 110
- 0
Y-Axis Fan/Recreation.scad View File

@@ -0,0 +1,110 @@
1
+/*
2
+ * Based on "Y-Axis Bracket" by "daveth26":
3
+ * http://www.thingiverse.com/thing:1104535
4
+ *
5
+ * Recreated and modified by:
6
+ * Thomas Buck <xythobuz@xythobuz.de> in March 2016
7
+ *
8
+ * Licensed under the Creative Commons - Attribution license.
9
+ */
10
+
11
+// -----------------------------------------------------------
12
+
13
+$fn = 25;
14
+
15
+/*
16
+%translate([-31.784, 42.247, 0])
17
+    import("turnigy_3d_fabrikator_y-axis_fan_cheese_fan_bracket.stl");
18
+*/
19
+
20
+// -----------------------------------------------------------
21
+
22
+module ellipse(w, l, d) {
23
+    cube([d, l - w, w]);
24
+    
25
+    translate([0, 0, w / 2])
26
+        rotate([0, 90, 0])
27
+        cylinder(d = w, h = d);
28
+    
29
+    translate([0, l - w, w / 2])
30
+        rotate([0, 90, 0])
31
+        cylinder(d = w, h = d);
32
+}
33
+
34
+// -----------------------------------------------------------
35
+
36
+// left arm
37
+translate([0, 0, 8])
38
+    cube([30, 2, 10]);
39
+
40
+// left nub
41
+translate([0, 0, 8])
42
+    cube([1, 3, 10]);
43
+
44
+// left support
45
+translate([26, 0, 0])
46
+    cube([2, 2, 8]);
47
+
48
+// right arm
49
+difference() {
50
+    translate([0, 30.5, 0])
51
+        cube([30, 2, 18]);
52
+    
53
+    translate([22, 28, 5])
54
+        rotate([0, 0, 90])
55
+        ellipse(7, 20, 8);
56
+}
57
+    
58
+// right nub
59
+translate([0, 29.5, 0])
60
+    cube([1, 3, 18]);
61
+
62
+// back wall
63
+difference() {
64
+    translate([28, 0, 0])
65
+        cube([2, 32, 18]);
66
+    
67
+    translate([25, 10, 6])
68
+        ellipse(7, 20, 8);
69
+}
70
+
71
+difference() {
72
+    // base
73
+    translate([0, 0, -5])
74
+        cube([30, 32.5, 5]);
75
+    
76
+    // cut off angled bottom part
77
+    rotate([0, -10, 0])
78
+        translate([-2, -1, -11])
79
+        cube([34, 34, 6]);
80
+    
81
+    // main fan hole
82
+    rotate([0, -10, 0])
83
+        translate([14.5, 16, -7])
84
+        cylinder(d = 23, h = 10);
85
+    
86
+    // fan screw holes
87
+    for (i = [1 : 2]) {
88
+        for (j = [1 : 2]) {
89
+            rotate([0, -10, 0])
90
+                translate([14.5, 16, -7])
91
+                translate([(((i % 2) == 0) ? 10 : -10),
92
+                    (((j % 2) == 0) ? 10 : -10), 0])
93
+                cylinder(d = 3, h = 10);
94
+        }
95
+    }
96
+    
97
+    // big air hole
98
+    translate([8, 33, -1.8])
99
+        rotate([90, 0, 0])
100
+        cylinder(d = 2, h = 34);
101
+    
102
+    // small air hole
103
+    translate([12, 33, -1.5])
104
+        rotate([90, 0, 0])
105
+        cylinder(d = 1.5, h = 34);
106
+    
107
+    // elliptical air hole
108
+    translate([-1, 11, -3.5])
109
+        ellipse(2, 12, 8);
110
+}

BIN
Y-Axis Fan/foto_big.jpg View File


BIN
Y-Axis Fan/foto_small.jpg View File


Loading…
Cancel
Save