|
@@ -39,11 +39,11 @@ show_extruders = false;
|
39
|
39
|
show_z_motion = true;
|
40
|
40
|
|
41
|
41
|
show_heatbed_frame = true;
|
42
|
|
-show_heatbed = true;
|
|
42
|
+show_heatbed = false;
|
43
|
43
|
|
44
|
44
|
show_xy_motion = true;
|
45
|
45
|
show_x_carriage = false;
|
46
|
|
-show_belts = false;
|
|
46
|
+show_belts = true;
|
47
|
47
|
|
48
|
48
|
echo(print_x=heatbed_width, print_y=heatbed_length);
|
49
|
49
|
echo(frame_x=outer_width, frame_y=outer_length, frame_z=outer_height);
|
|
@@ -496,26 +496,94 @@ module motion_z_rail() {
|
496
|
496
|
}
|
497
|
497
|
|
498
|
498
|
z_carriage_wall = 10;
|
|
499
|
+z_carriage_bearing_dia_add = 0.4;
|
|
500
|
+z_carriage_cutout_width = 2;
|
|
501
|
+z_carriage_cabletie_cut_off = 5;
|
|
502
|
+z_carriage_use_cable_tie_mount = true;
|
499
|
503
|
|
500
|
504
|
module z_carriage() {
|
|
505
|
+ echo(bed_screw_len=slot + z_carriage_wall + bed_z_dist + 10);
|
|
506
|
+ // bracket on t-slot bed frame
|
501
|
507
|
color("green")
|
502
|
508
|
translate([frame_off_x + bed_x_off - z_rail_x_off, frame_off_y + bed_y_off - rail_y_off, 0]) {
|
503
|
|
- // bracket on long rail
|
504
|
|
- translate([-z_carriage_wall, -z_carriage_wall, 0])
|
505
|
|
- cube([z_carriage_wall, z_carriage_wall + (2 * slot), slot]);
|
|
509
|
+ // short side bracket on long rail
|
|
510
|
+ difference() {
|
|
511
|
+ translate([-z_carriage_wall, -z_carriage_wall, 0])
|
|
512
|
+ cube([z_carriage_wall, z_carriage_wall + (2 * slot), slot]);
|
|
513
|
+
|
|
514
|
+ translate([-z_carriage_wall - 1, slot * 3 / 2, slot / 2])
|
|
515
|
+ rotate([0, 90, 0])
|
|
516
|
+ cylinder(d = 4.4, h = z_carriage_wall + 2);
|
|
517
|
+ }
|
|
518
|
+
|
|
519
|
+ // short bottom bracket on long rail
|
|
520
|
+ difference() {
|
|
521
|
+ translate([-z_carriage_wall, -z_carriage_wall, -z_carriage_wall])
|
|
522
|
+ cube([slot + z_carriage_wall, 2 * slot + z_carriage_wall, z_carriage_wall]);
|
|
523
|
+
|
|
524
|
+ translate([slot / 2, slot * 3 / 2, -z_carriage_wall - 1])
|
|
525
|
+ cylinder(d = 4.4, h = z_carriage_wall + 2);
|
506
|
526
|
|
507
|
|
- // bracket on short rail
|
508
|
|
- translate([0, -z_carriage_wall, 0])
|
509
|
|
- cube([3 * slot, z_carriage_wall, slot]);
|
|
527
|
+ translate([slot / 2, slot / 2, -z_carriage_wall - 1])
|
|
528
|
+ cylinder(d = 4.4, h = z_carriage_wall + 2);
|
|
529
|
+ }
|
|
530
|
+
|
|
531
|
+ // long side bracket on short rail
|
|
532
|
+ difference() {
|
|
533
|
+ translate([0, -z_carriage_wall, 0])
|
|
534
|
+ cube([3 * slot, z_carriage_wall, slot]);
|
|
535
|
+
|
|
536
|
+ translate([slot * 5 / 2, -z_carriage_wall - 1, slot / 2])
|
|
537
|
+ rotate([-90, 0, 0])
|
|
538
|
+ cylinder(d = 4.4, h = z_carriage_wall + 2);
|
|
539
|
+ }
|
|
540
|
+
|
|
541
|
+ // long bottom bracket on short rail
|
|
542
|
+ difference() {
|
|
543
|
+ translate([slot, -z_carriage_wall, -z_carriage_wall])
|
|
544
|
+ cube([2 * slot, slot + z_carriage_wall, z_carriage_wall]);
|
|
545
|
+
|
|
546
|
+ translate([slot * 5 / 2, slot / 2, -z_carriage_wall - 1])
|
|
547
|
+ cylinder(d = 4.4, h = z_carriage_wall + 2);
|
|
548
|
+ }
|
510
|
549
|
}
|
511
|
550
|
|
512
|
|
- // TODO proper long bearings
|
513
|
|
- color("magenta")
|
514
|
|
- translate([0, 0, (slot - (2 * lm8uu_height + 1)) / 2]) {
|
515
|
|
- %lm8uu();
|
516
|
|
- %translate([0, 0, lm8uu_height + 1])
|
517
|
|
- lm8uu();
|
|
551
|
+ // part around bearing
|
|
552
|
+ color("green")
|
|
553
|
+ translate([0, 0, -z_carriage_wall])
|
|
554
|
+ difference() {
|
|
555
|
+ hull() {
|
|
556
|
+ cylinder(d = lm8uu_outer + 10, h = slot + z_carriage_wall);
|
|
557
|
+
|
|
558
|
+ translate([frame_off_x + bed_x_off - z_rail_x_off - z_carriage_wall, frame_off_y + bed_y_off - rail_y_off - z_carriage_wall, 0])
|
|
559
|
+ cube([slot + (2 * z_carriage_wall) + 20, 1, slot + z_carriage_wall]);
|
|
560
|
+ }
|
|
561
|
+
|
|
562
|
+ // bearing cut out
|
|
563
|
+ translate([0, 0, -1])
|
|
564
|
+ cylinder(d = lm8uu_outer + z_carriage_bearing_dia_add, h = slot + z_carriage_wall + 2);
|
|
565
|
+
|
|
566
|
+ if (z_carriage_use_cable_tie_mount) {
|
|
567
|
+ // cable-tie bearing mounts
|
|
568
|
+ for (i = [1 : 3])
|
|
569
|
+ translate([0, 0, ((z_carriage_wall + slot) * i / 4) - (cable_tie_width / 2)])
|
|
570
|
+ rotate([0, 0, 180])
|
|
571
|
+ lm8uu_cable_tie();
|
|
572
|
+
|
|
573
|
+ // place for cable-tie to hold on to bearing
|
|
574
|
+ translate([-20, -40 - z_carriage_cabletie_cut_off, -1])
|
|
575
|
+ cube([40, 40, z_carriage_wall + slot + 2]);
|
|
576
|
+ } else {
|
|
577
|
+ // cut out to slide bearing in
|
|
578
|
+ translate([-z_carriage_cutout_width / 2, -20, -1])
|
|
579
|
+ cube([z_carriage_cutout_width, 20, slot + z_carriage_wall + 2]);
|
|
580
|
+ }
|
518
|
581
|
}
|
|
582
|
+
|
|
583
|
+ // linear bearing (long)
|
|
584
|
+ color("magenta")
|
|
585
|
+ translate([0, 0, (slot - z_carriage_wall - lm8luu_height) / 2])
|
|
586
|
+ %lm8luu();
|
519
|
587
|
}
|
520
|
588
|
|
521
|
589
|
module motion_z() {
|