Переглянути джерело

Added cable tie mounts for lm8uu bearings in carriages, more render switches.

Thomas Buck 6 роки тому
джерело
коміт
be00a60b2c
1 змінених файлів з 118 додано та 45 видалено
  1. 118
    45
      lib/linear_bearing.scad

+ 118
- 45
lib/linear_bearing.scad Переглянути файл

@@ -33,7 +33,7 @@ x_rail_hole_off = 5;
33 33
 x_rail_block_len = (y_carriage_length - x_rail_cutout_y) / 2;
34 34
 
35 35
 x_carriage_width = 80;
36
-x_carriage_len_add = 10;
36
+x_carriage_len_add = 12;
37 37
 x_carriage_wall = 10;
38 38
 x_carriage_bearing_off = 3;
39 39
 
@@ -97,20 +97,24 @@ sensor_dia_add = 6;
97 97
 
98 98
 sensor_mount_width = (2 * universal_mount_hole_off) + sensor_mount_width_add;
99 99
 
100
+cable_tie_width = 3.5;
101
+cable_tie_height = 2.0;
102
+cable_tie_dia_add = 1.0;
103
+
100 104
 draw_x_carriage = false;
101 105
 draw_e3d_fan_duct = true;
106
+draw_radial_fan = true;
107
+draw_bed_sensor = true;
108
+draw_e3d_hotends = true;
102 109
 
103 110
 draw_y_carriage = false;
104 111
 draw_y_carriage_idlers = true;
105 112
 draw_rail_len = 200;
106 113
 
107
-
108
-// TODO add cable tie canal for lm8uu mounting
109 114
 // TODO get ready to actually print these
110 115
 
111
-
112 116
 module nut_cut() {
113
-    translate([-nut_cut_width / 2, 1, nut_cut_off - nut_cut_height]) {
117
+    translate([-nut_cut_width / 2, 2, nut_cut_off - nut_cut_height]) {
114 118
         cube([nut_cut_width, nut_cut_depth, nut_cut_height]);
115 119
         translate([nut_cut_width / 2, -5, nut_cut_height - nut_cut_off])
116 120
             rotate([-90, 0, 0])
@@ -127,6 +131,20 @@ module lm8uu() {
127 131
     }
128 132
 }
129 133
 
134
+module lm8uu_cable_tie() {
135
+    difference() {
136
+        union() {
137
+            cylinder(d = lm8uu_outer + (2 * (cable_tie_height + cable_tie_dia_add)), h = cable_tie_width);
138
+            
139
+            translate([-8.5, 6, 0])
140
+                cube([17, 10, cable_tie_width]);
141
+        }
142
+        
143
+        translate([0, 0, -1])
144
+            cylinder(d = lm8uu_outer + (2 * cable_tie_dia_add), h = cable_tie_width + 2);
145
+    }
146
+}
147
+
130 148
 module generate_spacer(pos) {
131 149
     color("green")
132 150
     translate([pos[0], pos[1], -0.5])
@@ -195,6 +213,21 @@ module y_carriage(idler_a = [0, 0, 0], idler_b = [0, 0, 0]) {
195 213
             translate([0, 0, y_carriage_length - lm8uu_height - y_carriage_rail_support - lm8uu_len_add / 2])
196 214
                 cylinder(d = lm8uu_outer + lm8uu_dia_add, h = lm8uu_height + lm8uu_len_add);
197 215
         }
216
+        
217
+        translate([(lm8uu_outer + lm8uu_dia_add) / 2 + y_carriage_rail_support, 0, 0])
218
+        rotate([90, 0, 0]) {
219
+            translate([0, 0, -11])
220
+                lm8uu_cable_tie();
221
+            
222
+            translate([0, 0, -20])
223
+                lm8uu_cable_tie();
224
+            
225
+            translate([0, 0, -83])
226
+                lm8uu_cable_tie();
227
+            
228
+            translate([0, 0, -92])
229
+                lm8uu_cable_tie();
230
+        }
198 231
     }
199 232
     
200 233
     color("magenta")
@@ -356,6 +389,34 @@ module x_carriage() {
356 389
             }
357 390
         }
358 391
         
392
+        // bearing cable tie mount front
393
+        translate([8, x_carriage_len_add, 0])
394
+            rotate([90, 0, 90])
395
+            lm8uu_cable_tie();
396
+        translate([18, x_carriage_len_add, 0])
397
+            rotate([90, 0, 90])
398
+            lm8uu_cable_tie();
399
+        translate([58, x_carriage_len_add, 0])
400
+            rotate([90, 0, 90])
401
+            lm8uu_cable_tie();
402
+        translate([68, x_carriage_len_add, 0])
403
+            rotate([90, 0, 90])
404
+            lm8uu_cable_tie();
405
+        
406
+        // bearing cable tie mount back
407
+        translate([8, x_carriage_len_add + x_rail_dist, 0])
408
+            rotate([90, 0, 90])
409
+            lm8uu_cable_tie();
410
+        translate([18, x_carriage_len_add + x_rail_dist, 0])
411
+            rotate([90, 0, 90])
412
+            lm8uu_cable_tie();
413
+        translate([58, x_carriage_len_add + x_rail_dist, 0])
414
+            rotate([90, 0, 90])
415
+            lm8uu_cable_tie();
416
+        translate([68, x_carriage_len_add + x_rail_dist, 0])
417
+            rotate([90, 0, 90])
418
+            lm8uu_cable_tie();
419
+        
359 420
         /* mounting for hotend / tool */
360 421
         
361 422
         // left mounting screw
@@ -366,10 +427,10 @@ module x_carriage() {
366 427
             cylinder(d = e3d_hole_dia, h = x_carriage_wall + 12);
367 428
         
368 429
         // bottom mounting screw
369
-        translate([x_carriage_width / 2, 19, -1])
430
+        translate([x_carriage_width / 2, x_carriage_len_add + 9, -1])
370 431
             cylinder(d = e3d_hole_dia, h = x_carriage_wall + 12);
371 432
         // top mounting screw
372
-        translate([x_carriage_width / 2, x_carriage_length - 19, -1])
433
+        translate([x_carriage_width / 2, x_carriage_length - x_carriage_len_add - 9, -1])
373 434
             cylinder(d = e3d_hole_dia, h = x_carriage_wall + 12);
374 435
         
375 436
         // fan mount attachment holes on left side
@@ -408,44 +469,53 @@ module x_carriage() {
408 469
     translate([(x_carriage_width - sensor_mount_width) / 2, -sensor_mount_wall, 0])
409 470
         sensor_mount();
410 471
     
411
-    translate([(x_carriage_width - sensor_mount_width) / 2, x_carriage_length, 0])
412
-        radial_fan_mount();
472
+    translate([(x_carriage_width - sensor_mount_width) / 2, x_carriage_length, 0]) {
473
+        radial_fan_mount(true);
474
+        
475
+        translate([0, 15 + sensor_mount_wall, 0])
476
+            radial_fan_mount(false);
477
+    }
413 478
     
414 479
     e3d_v6_triple_mount();
415 480
 }
416 481
 
417
-module radial_fan_mount() {
482
+module radial_fan_mount(with_fan = true) {
418 483
     color("yellow")
419 484
     universal_mount_plate();
420 485
     
421
-    color("yellow")
422
-    translate([-52, 0, 0])
423
-        cube([52, sensor_mount_wall, x_carriage_wall]);
424
-    
425
-    color("yellow")
426
-    translate([-9, 0, x_carriage_wall])
427
-    
428
-    difference() {
429
-        cube([9, sensor_mount_wall, 13]);
430
-        translate([4.5, -1, 9])
431
-            rotate([-90, 0, 0])
432
-            cylinder(d = 4.2, h = sensor_mount_wall + 2);
433
-    }
434
-    
435
-    color("yellow")
436
-    translate([-52, 0, -23])
437
-    difference() {
438
-        cube([9, sensor_mount_wall, 23]);
439
-        translate([4.5, -1, 4])
440
-            rotate([-90, 0, 0])
441
-            cylinder(d = 4.2, h = sensor_mount_wall + 2);
486
+    for (i = [0 : 52 + sensor_mount_width : 52 + sensor_mount_width])
487
+    translate([i, 0, 0]) {
488
+        color("yellow")
489
+        translate([-52, 0, 0])
490
+            cube([52, sensor_mount_wall, x_carriage_wall]);
491
+        
492
+        color("yellow")
493
+        translate([-9, 0, x_carriage_wall])
494
+        
495
+        difference() {
496
+            cube([9, sensor_mount_wall, 13]);
497
+            translate([4.5, -1, 9])
498
+                rotate([-90, 0, 0])
499
+                cylinder(d = 4.2, h = sensor_mount_wall + 2);
500
+        }
501
+        
502
+        color("yellow")
503
+        translate([-52, 0, -23])
504
+        difference() {
505
+            cube([9, sensor_mount_wall, 23]);
506
+            translate([4.5, -1, 4])
507
+                rotate([-90, 0, 0])
508
+                cylinder(d = 4.2, h = sensor_mount_wall + 2);
509
+        }
510
+        
511
+        if (draw_radial_fan && with_fan) {
512
+            // 5015 fan mockup
513
+            %color("gray")
514
+            translate([-(x_carriage_width - sensor_mount_width) / 2 + 4, sensor_mount_wall, 0])
515
+                rotate([90, 0, 180])
516
+                fan_5015();
517
+        }
442 518
     }
443
-    
444
-    // 5015 fan mockup
445
-    %color("gray")
446
-    translate([-(x_carriage_width - sensor_mount_width) / 2 + 4, sensor_mount_wall, 0])
447
-        rotate([90, 0, 180])
448
-        fan_5015();
449 519
 }
450 520
 
451 521
 module fan_5015() {
@@ -514,18 +584,21 @@ module sensor_mount() {
514 584
             cylinder(d = sensor_dia, h = sensor_mount_height + 2);
515 585
     }
516 586
     
517
-    // sensor mockup
518
-    %translate([sensor_mount_width / 2, -(sensor_dia + sensor_dia_add) / 2 + sensor_mount_y_offset, -22]) {
519
-        color("gray")
520
-        cylinder(d = 18.2, h = 55);
521
-        
522
-        color("orange")
523
-        translate([0, 0, -10])
524
-            cylinder(d = 18.2, h = 10);
587
+    if (draw_bed_sensor) {
588
+        // sensor mockup
589
+        %translate([sensor_mount_width / 2, -(sensor_dia + sensor_dia_add) / 2 + sensor_mount_y_offset, -22]) {
590
+            color("gray")
591
+            cylinder(d = 18.2, h = 55);
592
+            
593
+            color("orange")
594
+            translate([0, 0, -10])
595
+                cylinder(d = 18.2, h = 10);
596
+        }
525 597
     }
526 598
 }
527 599
 
528 600
 module e3d_v6_triple_mount() {
601
+    if (draw_e3d_hotends)
529 602
     translate([x_carriage_width / 2, x_carriage_length / 2, -e3d_v6_height + x_carriage_wall + e3d_v6_z_off]) {
530 603
         
531 604
         color("red")

Завантаження…
Відмінити
Зберегти