|
@@ -36,6 +36,8 @@ arm_inward_angle_left = 2; // [0:5]
|
36
|
36
|
|
37
|
37
|
/* [Hidden] */
|
38
|
38
|
|
|
39
|
+right_wall_size_modifier = 0.75; // [0:2]
|
|
40
|
+
|
39
|
41
|
bottom_arm_height = 2;
|
40
|
42
|
bottom_arm_gap = 8;
|
41
|
43
|
|
|
@@ -46,11 +48,14 @@ wall_size = 3;
|
46
|
48
|
fan_angle = 10;
|
47
|
49
|
|
48
|
50
|
nub_size = 1;
|
49
|
|
-nub_depth = 1;
|
|
51
|
+nub_depth = 2;
|
50
|
52
|
|
51
|
|
-motor_width = 28.5;
|
|
53
|
+motor_width = 28.3;
|
52
|
54
|
motor_depth = 27;
|
53
|
55
|
|
|
56
|
+cut_out_depth = 10;
|
|
57
|
+cut_out_height = 2;
|
|
58
|
+
|
54
|
59
|
$fn = 25;
|
55
|
60
|
|
56
|
61
|
fan_screw_pos = fan_screw_distance / 2;
|
|
@@ -112,25 +117,33 @@ module left_arm() {
|
112
|
117
|
}
|
113
|
118
|
|
114
|
119
|
module right_arm() {
|
115
|
|
- // right arm
|
116
|
120
|
difference() {
|
117
|
|
- translate([0, motor_width + wall_size, 0])
|
118
|
|
- cube([motor_depth + nub_depth, wall_size, height]);
|
|
121
|
+ union() {
|
|
122
|
+ // right wall
|
|
123
|
+ translate([0, motor_width + wall_size, 0])
|
|
124
|
+ cube([motor_depth + nub_depth, wall_size - right_wall_size_modifier, height]);
|
|
125
|
+
|
|
126
|
+ // right nub
|
|
127
|
+ translate([0, motor_width + wall_size - nub_size, 0])
|
|
128
|
+ cube([nub_depth, wall_size + nub_size - right_wall_size_modifier, height]);
|
|
129
|
+ }
|
119
|
130
|
|
120
|
|
- translate([24 - wall_size, 28, 4])
|
|
131
|
+ translate([24 - wall_size, 28, 3])
|
121
|
132
|
rotate([0, 0, 90])
|
122
|
133
|
ellipse(7, 20, 8);
|
123
|
134
|
|
124
|
135
|
if (height > 23) {
|
125
|
|
- translate([24 - wall_size, 28, 15])
|
|
136
|
+ translate([24 - wall_size, 28, 13.5])
|
126
|
137
|
rotate([0, 0, 90])
|
127
|
138
|
ellipse(7, 20, 8);
|
128
|
139
|
}
|
|
140
|
+
|
|
141
|
+ // cut off a small nub at the top to fit the Z-axis rod holder
|
|
142
|
+ translate([0, motor_width + wall_size - nub_size, height - cut_out_height])
|
|
143
|
+ cube([cut_out_depth, wall_size + nub_size, cut_out_height]);
|
129
|
144
|
}
|
130
|
145
|
|
131
|
|
- // right nub
|
132
|
|
- translate([0, motor_width + wall_size - nub_size, 0])
|
133
|
|
- cube([nub_depth, wall_size + nub_size, height]);
|
|
146
|
+
|
134
|
147
|
|
135
|
148
|
if (arm_inward_angle_right != 0) {
|
136
|
149
|
// connecting piece for angled arm
|
|
@@ -172,7 +185,7 @@ difference() {
|
172
|
185
|
// back wall
|
173
|
186
|
difference() {
|
174
|
187
|
translate([motor_depth + nub_depth, 0, 0])
|
175
|
|
- cube([wall_size, motor_width + (2 * wall_size), height]);
|
|
188
|
+ cube([wall_size, motor_width + (2 * wall_size) - right_wall_size_modifier, height]);
|
176
|
189
|
|
177
|
190
|
translate([25, 8 + wall_size, 4])
|
178
|
191
|
ellipse(7, 20, 8);
|
|
@@ -187,7 +200,7 @@ difference() {
|
187
|
200
|
difference() {
|
188
|
201
|
// base
|
189
|
202
|
translate([0, 0, -base_height])
|
190
|
|
- cube([motor_depth + nub_depth + wall_size, motor_width + (2 * wall_size), base_height]);
|
|
203
|
+ cube([motor_depth + nub_depth + wall_size, motor_width + (2 * wall_size) - right_wall_size_modifier, base_height]);
|
191
|
204
|
|
192
|
205
|
// cut off angled bottom part
|
193
|
206
|
rotate([0, -fan_angle, 0])
|