Browse Source

First Z-Carriage iteration finished.

Thomas Buck 6 years ago
parent
commit
062f5c3396
2 changed files with 92 additions and 14 deletions
  1. 10
    0
      lib/linear_bearing.scad
  2. 82
    14
      xyRepRap.scad

+ 10
- 0
lib/linear_bearing.scad View File

@@ -9,6 +9,7 @@ include <e3d_v6_all_metall_hotend.scad>
9 9
 lm8uu_outer = 15;
10 10
 lm8uu_inner = 8;
11 11
 lm8uu_height = 24;
12
+lm8luu_height = 45;
12 13
 
13 14
 x_rail_dist = 70;
14 15
 
@@ -141,6 +142,15 @@ module lm8uu() {
141 142
     }
142 143
 }
143 144
 
145
+module lm8luu() {
146
+    $fn = 15;
147
+    difference() {
148
+        cylinder(d = lm8uu_outer, h = lm8luu_height);
149
+        translate([0, 0, -1])
150
+            cylinder(d = lm8uu_inner, h = lm8luu_height + 2);
151
+    }
152
+}
153
+
144 154
 module lm8uu_cable_tie() {
145 155
     difference() {
146 156
         union() {

+ 82
- 14
xyRepRap.scad View File

@@ -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() {

Loading…
Cancel
Save