|
@@ -54,17 +54,31 @@ x_carriage_block_height = 2 * (x_carriage_block_hole_off + x_carriage_block_add)
|
54
|
54
|
x_cutout_width = x_carriage_width - (2 * x_carriage_belt_block_width) - 5;
|
55
|
55
|
x_cutout_length = x_rail_dist - 25;
|
56
|
56
|
|
57
|
|
-draw_x_carriage = false;
|
58
|
|
-draw_y_carriage = false;
|
59
|
|
-draw_y_carriage_idlers = true;
|
60
|
|
-draw_rail_len = 200;
|
61
|
|
-
|
62
|
57
|
// y-carriage belt idlers
|
63
|
58
|
idler_a_blue = [ 19, 15, 5.5];
|
64
|
59
|
idler_a_red = [ 19, x_rail_dist + 15, 12.5];
|
65
|
60
|
idler_b_blue = [30.3, x_rail_dist + 15, 12.5];
|
66
|
61
|
idler_b_red = [30.3, 15, 5.5];
|
67
|
62
|
|
|
63
|
+e3d_v6_dist_x = 23 + 5;
|
|
64
|
+e3d_v6_dist_y = 18 + 1;
|
|
65
|
+e3d_v6_z_off = 13;
|
|
66
|
+
|
|
67
|
+e3d_clamp_width = x_cutout_width;
|
|
68
|
+e3d_clamp_width_add = 10;
|
|
69
|
+e3d_clamp_length = e3d_v6_dist_y;
|
|
70
|
+e3d_clamp_b_length = ((x_cutout_length - e3d_clamp_length) / 2) + 7;
|
|
71
|
+e3d_clamp_height = e3d_upper_small_height;
|
|
72
|
+e3d_clamp_dia_add = 0.2;
|
|
73
|
+e3d_clamp_cut = 0.2; // x2
|
|
74
|
+e3d_clamp_hole_off = 4;
|
|
75
|
+e3d_hole_dia = 3.2;
|
|
76
|
+
|
|
77
|
+draw_x_carriage = true;
|
|
78
|
+draw_y_carriage = false;
|
|
79
|
+draw_y_carriage_idlers = true;
|
|
80
|
+draw_rail_len = 200;
|
|
81
|
+
|
68
|
82
|
module lm8uu() {
|
69
|
83
|
$fn = 15;
|
70
|
84
|
difference() {
|
|
@@ -307,6 +321,8 @@ module x_carriage() {
|
307
|
321
|
}
|
308
|
322
|
}
|
309
|
323
|
|
|
324
|
+ /* mounting for hotend / tool */
|
|
325
|
+
|
310
|
326
|
// left mounting screw
|
311
|
327
|
translate([5.5, x_carriage_length / 2, -1])
|
312
|
328
|
cylinder(d = e3d_hole_dia, h = x_carriage_wall + 12);
|
|
@@ -321,11 +337,11 @@ module x_carriage() {
|
321
|
337
|
translate([x_carriage_width / 2, x_carriage_length - 19, -1])
|
322
|
338
|
cylinder(d = e3d_hole_dia, h = x_carriage_wall + 12);
|
323
|
339
|
}
|
324
|
|
-
|
325
|
|
- e3d_v6_dist_x = 23 + 5;
|
326
|
|
- e3d_v6_dist_y = 18 + 1;
|
327
|
|
- e3d_v6_z_off = 13;
|
328
|
340
|
|
|
341
|
+ e3d_v6_triple_mount();
|
|
342
|
+}
|
|
343
|
+
|
|
344
|
+module e3d_v6_triple_mount() {
|
329
|
345
|
translate([x_carriage_width / 2, x_carriage_length / 2, -e3d_v6_height + x_carriage_wall + e3d_v6_z_off]) {
|
330
|
346
|
|
331
|
347
|
color("red")
|
|
@@ -342,16 +358,6 @@ module x_carriage() {
|
342
|
358
|
e3d_v6();
|
343
|
359
|
}
|
344
|
360
|
|
345
|
|
- e3d_clamp_width = x_cutout_width;
|
346
|
|
- e3d_clamp_width_add = 10;
|
347
|
|
- e3d_clamp_length = e3d_v6_dist_y;
|
348
|
|
- e3d_clamp_b_length = ((x_cutout_length - e3d_clamp_length) / 2) + 7;
|
349
|
|
- e3d_clamp_height = e3d_upper_small_height;
|
350
|
|
- e3d_clamp_dia_add = 0.2;
|
351
|
|
- e3d_clamp_cut = 0.2; // x2
|
352
|
|
- e3d_clamp_hole_off = 4;
|
353
|
|
- e3d_hole_dia = 3.2;
|
354
|
|
-
|
355
|
361
|
echo(m3_screw_len=e3d_clamp_length + (2 * e3d_clamp_b_length));
|
356
|
362
|
|
357
|
363
|
// hotend clamp center piece
|
|
@@ -374,6 +380,12 @@ module x_carriage() {
|
374
|
380
|
cube([e3d_clamp_width, e3d_clamp_b_length - e3d_clamp_cut, e3d_clamp_height]);
|
375
|
381
|
}
|
376
|
382
|
|
|
383
|
+ // cable holes
|
|
384
|
+ translate([9.5, 6, -1])
|
|
385
|
+ cylinder(d = 7, h = e3d_clamp_height + 2);
|
|
386
|
+ translate([e3d_clamp_width - 9.5, 6, -1])
|
|
387
|
+ cylinder(d = 7, h = e3d_clamp_height + 2);
|
|
388
|
+
|
377
|
389
|
// left clamping screw
|
378
|
390
|
translate([e3d_clamp_hole_off, -e3d_clamp_b_length - 1, e3d_clamp_height / 2])
|
379
|
391
|
rotate([-90, 0, 0])
|
|
@@ -410,14 +422,93 @@ module x_carriage() {
|
410
|
422
|
cylinder(d = e3d_upper_small_dia + e3d_clamp_dia_add, h = e3d_clamp_height + 2);
|
411
|
423
|
}
|
412
|
424
|
|
413
|
|
- // hotend cooling fan
|
414
|
|
- color("grey")
|
415
|
|
- %translate([x_carriage_width + 5, (x_carriage_length - 40) / 2, -40])
|
|
425
|
+ fan_mount_wall = 5;
|
|
426
|
+ fan_mount_inset = 5;
|
|
427
|
+ fan_width = 40;
|
|
428
|
+ fan_height = 20;
|
|
429
|
+
|
416
|
430
|
difference() {
|
417
|
|
- cube([20, 40, 40]);
|
418
|
|
- translate([-1, 20, 20])
|
419
|
|
- rotate([0, 90, 0])
|
420
|
|
- cylinder(d = 35, h = 22);
|
|
431
|
+ union() {
|
|
432
|
+ translate([x_carriage_width, (x_carriage_length - fan_width) / 2, -fan_width]) {
|
|
433
|
+ // hotend cooling fan
|
|
434
|
+ color("grey")
|
|
435
|
+ %translate([fan_mount_wall, 0, 0])
|
|
436
|
+ difference() {
|
|
437
|
+ cube([fan_height, fan_width, fan_width]);
|
|
438
|
+ translate([-1, fan_width / 2, fan_width / 2])
|
|
439
|
+ rotate([0, 90, 0])
|
|
440
|
+ cylinder(d = fan_width - 5, h = fan_height + 2);
|
|
441
|
+ }
|
|
442
|
+
|
|
443
|
+ // fan mount
|
|
444
|
+ color("orange")
|
|
445
|
+ difference() {
|
|
446
|
+ cube([fan_mount_wall, fan_width, fan_width + x_carriage_wall]);
|
|
447
|
+
|
|
448
|
+ translate([-1, fan_mount_inset, fan_mount_inset])
|
|
449
|
+ cube([fan_mount_wall + 2, fan_width - (fan_mount_inset * 2), fan_width - (fan_mount_inset * 2)]);
|
|
450
|
+ }
|
|
451
|
+ }
|
|
452
|
+
|
|
453
|
+ // fan duct
|
|
454
|
+ color("orange")
|
|
455
|
+ translate([x_carriage_width, (x_carriage_length - fan_width) / 2, 0])
|
|
456
|
+ difference() {
|
|
457
|
+ fan_duct(40, (fan_width - 40) / 2);
|
|
458
|
+ fan_duct(37, (fan_width - 37) / 2);
|
|
459
|
+ }
|
|
460
|
+ }
|
|
461
|
+
|
|
462
|
+ // TODO mounting holes
|
|
463
|
+ // TODO fan holes
|
|
464
|
+ }
|
|
465
|
+}
|
|
466
|
+
|
|
467
|
+module fan_duct(size, off) {
|
|
468
|
+ difference() {
|
|
469
|
+ translate([0, off, -size - off]) {
|
|
470
|
+ hull() {
|
|
471
|
+ cube([1, size, size]);
|
|
472
|
+ translate([-10, 0, 10])
|
|
473
|
+ cube([1, size, size - 11]);
|
|
474
|
+ }
|
|
475
|
+ hull() {
|
|
476
|
+ translate([-10, 0, 10])
|
|
477
|
+ cube([1, size, size - 11]);
|
|
478
|
+ translate([-15, -6, 17])
|
|
479
|
+ cube([1, size + 12, size - 18]);
|
|
480
|
+ }
|
|
481
|
+ hull() {
|
|
482
|
+ translate([-15, -6, 17])
|
|
483
|
+ cube([1, size + 12, size - 18]);
|
|
484
|
+ translate([-25, -6, 17])
|
|
485
|
+ cube([1, size + 12, size - 20]);
|
|
486
|
+ }
|
|
487
|
+ hull() {
|
|
488
|
+ translate([-25, -6, 17])
|
|
489
|
+ cube([1, size + 12, size - 20]);
|
|
490
|
+ translate([-55, -6, 17])
|
|
491
|
+ cube([1, size + 12, size - 20]);
|
|
492
|
+ }
|
|
493
|
+ hull() {
|
|
494
|
+ translate([-55, -6, 17])
|
|
495
|
+ cube([1, size + 12, size - 20]);
|
|
496
|
+ if (off > 0) {
|
|
497
|
+ translate([-71, 15, 17])
|
|
498
|
+ cube([1, size - 12, size - 20]);
|
|
499
|
+ } else {
|
|
500
|
+ translate([-70, 15, 17])
|
|
501
|
+ cube([1, size - 12, size - 20]);
|
|
502
|
+ }
|
|
503
|
+ }
|
|
504
|
+ }
|
|
505
|
+
|
|
506
|
+ translate([-26, 29.5, -size - 20])
|
|
507
|
+ cylinder(d = e3d_max_dia + 3, h = 100);
|
|
508
|
+ translate([-26 - e3d_v6_dist_x, 29.5, -size - 20])
|
|
509
|
+ cylinder(d = e3d_max_dia + 3, h = 100);
|
|
510
|
+ translate([-26 - e3d_v6_dist_x / 2, 29.5 - e3d_v6_dist_y, -size - 20])
|
|
511
|
+ cylinder(d = e3d_max_dia + 3, h = 100);
|
421
|
512
|
}
|
422
|
513
|
}
|
423
|
514
|
|