瀏覽代碼

First Z-Carriage iteration finished.

Thomas Buck 6 年之前
父節點
當前提交
062f5c3396
共有 2 個檔案被更改,包括 92 行新增14 行删除
  1. 10
    0
      lib/linear_bearing.scad
  2. 82
    14
      xyRepRap.scad

+ 10
- 0
lib/linear_bearing.scad 查看文件

9
 lm8uu_outer = 15;
9
 lm8uu_outer = 15;
10
 lm8uu_inner = 8;
10
 lm8uu_inner = 8;
11
 lm8uu_height = 24;
11
 lm8uu_height = 24;
12
+lm8luu_height = 45;
12
 
13
 
13
 x_rail_dist = 70;
14
 x_rail_dist = 70;
14
 
15
 
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
 module lm8uu_cable_tie() {
154
 module lm8uu_cable_tie() {
145
     difference() {
155
     difference() {
146
         union() {
156
         union() {

+ 82
- 14
xyRepRap.scad 查看文件

39
 show_z_motion = true;
39
 show_z_motion = true;
40
 
40
 
41
 show_heatbed_frame = true;
41
 show_heatbed_frame = true;
42
-show_heatbed = true;
42
+show_heatbed = false;
43
 
43
 
44
 show_xy_motion = true;
44
 show_xy_motion = true;
45
 show_x_carriage = false;
45
 show_x_carriage = false;
46
-show_belts = false;
46
+show_belts = true;
47
 
47
 
48
 echo(print_x=heatbed_width, print_y=heatbed_length);
48
 echo(print_x=heatbed_width, print_y=heatbed_length);
49
 echo(frame_x=outer_width, frame_y=outer_length, frame_z=outer_height);
49
 echo(frame_x=outer_width, frame_y=outer_length, frame_z=outer_height);
496
 }
496
 }
497
 
497
 
498
 z_carriage_wall = 10;
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
 module z_carriage() {
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
     color("green")
507
     color("green")
502
     translate([frame_off_x + bed_x_off - z_rail_x_off, frame_off_y + bed_y_off - rail_y_off, 0]) {
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
 module motion_z() {
589
 module motion_z() {

Loading…
取消
儲存