|
@@ -9,7 +9,7 @@ lm8uu_outer = 15;
|
9
|
9
|
lm8uu_inner = 8;
|
10
|
10
|
lm8uu_height = 24;
|
11
|
11
|
|
12
|
|
-x_rail_dist = 50;
|
|
12
|
+x_rail_dist = 60;
|
13
|
13
|
|
14
|
14
|
lm8uu_dia_add = 0.5;
|
15
|
15
|
lm8uu_len_add = 1.0;
|
|
@@ -31,6 +31,25 @@ x_rail_cutout_y = x_rail_dist - (2 * y_carriage_len_add);
|
31
|
31
|
x_rail_hole_off = 5;
|
32
|
32
|
x_rail_block_len = (y_carriage_length - x_rail_cutout_y) / 2;
|
33
|
33
|
|
|
34
|
+x_carriage_width = 80;
|
|
35
|
+x_carriage_len_add = 10;
|
|
36
|
+x_carriage_wall = 10;
|
|
37
|
+x_carriage_bearing_off = 3;
|
|
38
|
+
|
|
39
|
+x_carriage_belt_off = 19;
|
|
40
|
+x_carriage_belt_block_width = 8;
|
|
41
|
+x_carriage_belt_block_length = 8;
|
|
42
|
+x_carriage_belt_block_height = 25;
|
|
43
|
+x_carriage_belt_block_height_b = x_carriage_belt_block_height - 7;
|
|
44
|
+x_carriage_block_hole_off = 4.5;
|
|
45
|
+x_carriage_block_length = 4;
|
|
46
|
+x_carriage_block_off = 2.5;
|
|
47
|
+x_carriage_block_add = 4.4;
|
|
48
|
+
|
|
49
|
+x_carriage_length = x_rail_dist + (2 * x_carriage_len_add);
|
|
50
|
+
|
|
51
|
+x_carriage_block_height = 2 * (x_carriage_block_hole_off + x_carriage_block_add);
|
|
52
|
+
|
34
|
53
|
draw_x_carriage = false;
|
35
|
54
|
draw_y_carriage = false;
|
36
|
55
|
draw_y_carriage_idlers = true;
|
|
@@ -148,16 +167,107 @@ module y_carriage(idler_a = [0, 0, 0], idler_b = [0, 0, 0]) {
|
148
|
167
|
}
|
149
|
168
|
}
|
150
|
169
|
|
151
|
|
-x_carriage_width = 60;
|
152
|
|
-x_carriage_len_add = 10;
|
153
|
|
-x_carriage_wall = 10;
|
154
|
|
-x_carriage_bearing_off = 3;
|
|
170
|
+module belt_fix() {
|
|
171
|
+ difference() {
|
|
172
|
+ color("green")
|
|
173
|
+ cube([x_carriage_belt_block_width, x_carriage_block_length, x_carriage_block_height]);
|
|
174
|
+
|
|
175
|
+ translate([x_carriage_belt_block_width / 2, -1, x_carriage_block_hole_off - 0.2])
|
|
176
|
+ rotate([-90, 0, 0]) {
|
|
177
|
+ cylinder(d = 3.2, h = x_carriage_belt_block_length + 2);
|
|
178
|
+ cylinder(d = 6.1, h = 3.8, $fn = 6);
|
|
179
|
+ }
|
|
180
|
+
|
|
181
|
+ translate([x_carriage_belt_block_width / 2, -1, x_carriage_block_hole_off + 8.8])
|
|
182
|
+ rotate([-90, 0, 0]) {
|
|
183
|
+ cylinder(d = 3.2, h = x_carriage_belt_block_length + 2);
|
|
184
|
+ cylinder(d = 6.1, h = 3.8, $fn = 6);
|
|
185
|
+ }
|
|
186
|
+ }
|
|
187
|
+}
|
|
188
|
+
|
|
189
|
+module belt_mount(top, up) {
|
|
190
|
+ $fn = 15;
|
|
191
|
+
|
|
192
|
+ difference() {
|
|
193
|
+ color("green")
|
|
194
|
+ if (top) {
|
|
195
|
+ cube([x_carriage_belt_block_width, x_carriage_belt_block_length, x_carriage_belt_block_height]);
|
|
196
|
+ } else {
|
|
197
|
+ cube([x_carriage_belt_block_width, x_carriage_belt_block_length, x_carriage_belt_block_height_b]);
|
|
198
|
+ }
|
|
199
|
+
|
|
200
|
+ if (top) {
|
|
201
|
+ translate([-1, x_carriage_belt_block_length / 2, 16])
|
|
202
|
+ rotate([0, 90, 0])
|
|
203
|
+ cylinder(d = 2.6, h = x_carriage_belt_block_width + 2);
|
|
204
|
+
|
|
205
|
+ translate([x_carriage_belt_block_width / 2, -1, 16 + x_carriage_block_hole_off])
|
|
206
|
+ rotate([-90, 0, 0])
|
|
207
|
+ cylinder(d = 3.2, h = x_carriage_belt_block_length + 2);
|
|
208
|
+ translate([x_carriage_belt_block_width / 2, -1, 16 - x_carriage_block_hole_off])
|
|
209
|
+ rotate([-90, 0, 0])
|
|
210
|
+ cylinder(d = 3.2, h = x_carriage_belt_block_length + 2);
|
|
211
|
+ } else {
|
|
212
|
+ translate([-1, x_carriage_belt_block_length / 2, 9])
|
|
213
|
+ rotate([0, 90, 0])
|
|
214
|
+ cylinder(d = 2.7, h = x_carriage_belt_block_width + 2);
|
|
215
|
+ translate([x_carriage_belt_block_width / 2, -1, 9 + x_carriage_block_hole_off])
|
|
216
|
+ rotate([-90, 0, 0])
|
|
217
|
+ cylinder(d = 3.2, h = x_carriage_belt_block_length + 2);
|
|
218
|
+ translate([x_carriage_belt_block_width / 2, -1, 9 - x_carriage_block_hole_off])
|
|
219
|
+ rotate([-90, 0, 0])
|
|
220
|
+ cylinder(d = 3.2, h = x_carriage_belt_block_length + 2);
|
|
221
|
+ }
|
|
222
|
+ }
|
|
223
|
+
|
|
224
|
+ if (up) {
|
|
225
|
+ if (top) {
|
|
226
|
+ translate([0, x_carriage_belt_block_length + x_carriage_block_off, x_carriage_belt_block_height - x_carriage_block_height])
|
|
227
|
+ belt_fix();
|
|
228
|
+ } else {
|
|
229
|
+ translate([0, x_carriage_belt_block_length + x_carriage_block_off, x_carriage_belt_block_height_b - x_carriage_block_height])
|
|
230
|
+ belt_fix();
|
|
231
|
+ }
|
|
232
|
+ } else {
|
|
233
|
+ if (top) {
|
|
234
|
+ translate([0, -x_carriage_block_length - x_carriage_block_off, x_carriage_belt_block_height - x_carriage_block_height])
|
|
235
|
+ belt_fix();
|
|
236
|
+ } else {
|
|
237
|
+ translate([0, -x_carriage_block_length - x_carriage_block_off, x_carriage_belt_block_height_b - x_carriage_block_height])
|
|
238
|
+ belt_fix();
|
|
239
|
+ }
|
|
240
|
+ }
|
|
241
|
+}
|
|
242
|
+
|
|
243
|
+module belt_mounts() {
|
|
244
|
+ translate([0, x_carriage_belt_off, 0])
|
|
245
|
+ belt_mount(false, true);
|
|
246
|
+
|
|
247
|
+ translate([0, x_carriage_length - x_carriage_belt_off - x_carriage_belt_block_length, 0])
|
|
248
|
+ belt_mount(true, false);
|
|
249
|
+
|
|
250
|
+ translate([x_carriage_width - x_carriage_belt_block_width, x_carriage_belt_off, 0])
|
|
251
|
+ belt_mount(true, true);
|
|
252
|
+
|
|
253
|
+ translate([x_carriage_width - x_carriage_belt_block_width, x_carriage_length - x_carriage_belt_off - x_carriage_belt_block_length, 0])
|
|
254
|
+ belt_mount(false, false);
|
|
255
|
+}
|
155
|
256
|
|
156
|
257
|
module x_carriage() {
|
157
|
258
|
//color("green")
|
158
|
259
|
difference() {
|
159
|
|
- color("green")
|
160
|
|
- cube([x_carriage_width, x_rail_dist + (2 * x_carriage_len_add), x_carriage_wall]);
|
|
260
|
+ union() {
|
|
261
|
+ color("green")
|
|
262
|
+ cube([x_carriage_width, x_rail_dist + (2 * x_carriage_len_add), x_carriage_wall]);
|
|
263
|
+
|
|
264
|
+ translate([0, 0, x_carriage_wall])
|
|
265
|
+ belt_mounts();
|
|
266
|
+ }
|
|
267
|
+
|
|
268
|
+ // big center cutout
|
|
269
|
+ translate([x_carriage_width / 2, x_carriage_length / 2, x_carriage_wall / 2])
|
|
270
|
+ cube([x_carriage_width - (2 * x_carriage_belt_block_width) - 5, x_rail_dist - 25, x_carriage_wall + 2], center=true);
|
161
|
271
|
|
162
|
272
|
for (i = [0 : 1 : 1]) {
|
163
|
273
|
translate([lm8uu_height + x_carriage_bearing_off + (i * (x_carriage_width - (2 * x_carriage_bearing_off) - lm8uu_height)), 0, ])
|