diff --git a/Printed-Parts/scad/x-carriage.scad b/Printed-Parts/scad/x-carriage.scad index 2e1c03a..eaf26cd 100644 --- a/Printed-Parts/scad/x-carriage.scad +++ b/Printed-Parts/scad/x-carriage.scad @@ -7,15 +7,34 @@ use +module belt_cut() +{ + rotate([0,0,180]) + { + translate([-20,0,0]) cube([39,0.75,15]); + translate([-20,0,5]) rotate([-7,0,0]) cube([39,0.75,10]); + translate([-20,0,5]) rotate([10,0,0]) cube([39,0.75,10]); + for (_step =[-20:2:18]) + { + translate([_step,0.5,0]) cube([1,1.0,10]); + } + for (_step =[-20:2:18]) + { + translate([_step,0.5,5]) rotate([-7,0,0]) cube([1,1,10]); + } + } +} + + module x_carriage_base() { // Small bearing holder translate([-33/2,0,0]) rotate([0,0,90]) horizontal_bearing_base(1); - + // Long bearing holder translate([-33/2,45,0]) rotate([0,0,90]) horizontal_bearing_base(2); - + // Base plate translate([-34,-14,0]) cube([34.5,70.5,7]); translate([-33,-15,0]) cube([33,7,15]); @@ -36,42 +55,10 @@ module x_carriage_base() // Belt holder base translate([-42.5,20,0]) cube([52,16,7]); - translate([-16.5-12,24.5,0])cylinder(r=4.5, h=14, $fn=25); - translate([-17.5+12,24.5,0])cylinder(r=4.5, h=14, $fn=25); - translate([-16.5-12,24.5,14])cylinder(r1=4.5, r2=3.8, h=1, $fn=25); - translate([-17.5+12,24.5,14])cylinder(r1=4.5, r2=3.8, h=1, $fn=25); - - // Belt Insert R - difference() - { - union() - { - translate([2,26.9,0]) cube([10,6.2,15]); - translate([2,24-2.3-4.5,0]) cube([7.5,7.5,15]); - translate([-0.5,27,0]) cube([8,7,2]); - } - translate([-3,25,5.5]) rotate([0,0,-40]) cube([5,5.5,10]); - translate([8,17,5.5]) rotate([0,0,-60]) cube([2,5,10]); - } - - // Belt Insert L - difference() - { - union() - { - translate([-33,3,00]) - { - scale([-1,1,1]) - { - translate([0,26.8,0]) cube([12.5,4.5,15]); - translate([2,27-7.5-2.3,0]) cube([12.5,7.5,15]); - translate([-0.5,27,0]) cube([8,7,2]); - } - } - } - translate([-36.5,27.7,5.5]) rotate([0,0,-55]) cube([5,5.5,10]); - } + // new belt holder base block + translate([-42.5,18,7]) cube([52,16.3,8]); + } @@ -105,11 +92,12 @@ module x_carriage_holes() translate([-45,52.5,12]) cube([13.5,10,5]); // Extruder mounting holes - translate([-17.5+12,24.5,-1])cylinder(r=1.8, h=20, $fn=25); - translate([-17.5+12,24.5,-0.1])cylinder(r1=2.1,r2=1.8, h=0.5, $fn=25); + translate([-17.5+12,24.5,-1])cylinder(r=1.65, h=20, $fn=25); + translate([-17.5+12,24.5,-0.1])cylinder(r1=2.1,r2=1.65, h=0.5, $fn=25); translate([-17.5+12,24.5,12])cylinder(r=5.8/2, h=20, $fn=25); - translate([-16.5-12,24.5,-1])cylinder(r=1.8, h=20, $fn=25); - translate([-16.5-12,24.5,-0.1])cylinder(r1=2.1,r2=1.8, h=0.5, $fn=25); + + translate([-16.5-12,24.5,-1])cylinder(r=1.65, h=20, $fn=25); + translate([-16.5-12,24.5,-0.1])cylinder(r1=2.1,r2=1.65, h=0.5, $fn=25); translate([-16.5-12,24.5,12])cylinder(r=5.8/2, h=20, $fn=25); // Carriage slimer @@ -125,10 +113,6 @@ module x_carriage_fancy() // Top right corner translate([11.5,8,0]) translate([0,45+11.5,-1]) rotate([0,0,45]) translate([0,-15,0]) cube([30,30,20]); - // Belt Smooth insert - translate([0,36.5,23.5]) rotate([45,0,0]) translate([0,-15,0]) cube([20,10,10]); - translate([-52.9,36.5+3,23.5]) rotate([45,0,0]) translate([0,-15,0]) cube([20,10,10]); - // Top left corner translate([-33-13.5,-5,0]) translate([0,45+11.5,-1]) rotate([0,0,135]) translate([0,-15,0]) cube([30,30,20]); @@ -198,23 +182,42 @@ module final_cutout() translate([-14.5,9.7,10]) rotate([-5,0,0]) cylinder(r=1.52,r2=2, h=6, $fn=10); // bottom back mounting screws - translate([-6.5,-11,4]) rotate([0,0,0]) cylinder(r=1.65, h=20, $fn=30); - translate([-26.5,-11,4]) rotate([0,0,0]) cylinder(r=1.65, h=20, $fn=30); - translate([-29.5,-14,10]) cube([6,7,2.2]); - translate([-09.5,-14,10]) cube([6,7,2.2]); - translate([-28.2,-14,10.3]) cube([3.4,7,2.2]); - translate([-08.2,-14,10.3]) cube([3.4,7,2.2]); + translate([-6.5,-11,4]) cylinder(r=1.65, h=20, $fn=50); + translate([-26.5,-11,4]) cylinder(r=1.65, h=20, $fn=50); + translate([-29.3,-14,10]) cube([5.6,7,2.1]); + translate([-09.3,-14,10]) cube([5.6,7,2.1]); + + // better printing bridges + translate([-29.3,-12.65,10.35]) cube([5.6,3.3,2.1]); + translate([-09.3,-12.65,10.35]) cube([5.6,3.3,2.1]); + translate([-28.15,-12.65,10.7]) cube([3.3,3.3,2.1]); + translate([-8.15,-12.65,10.7]) cube([3.3,3.3,2.1]); + + // x-carriage-back mounting screws - translate([-4,56,0]) rotate([0,0,0]) cylinder(r=1.65, h=40, $fn=30); - translate([-27.5,56,0]) rotate([0,0,0]) cylinder(r=1.65, h=40, $fn=30); - translate([-30.5,53,8]) cube([6,8,2]); - translate([-7,53,8]) cube([6,8,2]); + translate([-4,56,0]) cylinder(r=1.7, h=40, $fn=50); + translate([-27.5,56,0]) cylinder(r=1.7, h=40, $fn=50); + translate([-30.3,53,8]) cube([5.6,8,2]); + translate([-6.8,53,8]) cube([5.6,8,2]); - translate([-16,29,0]) rotate([0,0,0]) cylinder(r=1.65, h=40, $fn=30); - translate([-19,26,11]) cube([6,8,2]); + // better printing bridges + translate([-6.8,54.35,8.35]) cube([5.6,3.3,2]); + translate([-5.65,54.35,8.7]) cube([3.3,3.3,2]); + translate([-30.3,54.35,8.35]) cube([5.6,3.3,2]); + translate([-29.15,54.35,8.7]) cube([3.3,3.3,2]); + + + + // center mounting screw + translate([-16,29,0]) cylinder(r=1.65, h=40, $fn=50); + translate([-18.8,26,10.5]) cube([5.6,12,2.1]); translate([-21,33,11]) cube([10,8,6]); + // better printing bridges + translate([-18.8,27.35,10.9]) cube([5.6,3.3,2.1]); + translate([-17.65,27.35,11.25]) cube([3.3,3.3,2.1]); + // opening for power cables to hotend & termistor cable translate([-16.5,-18,-5]) rotate([-5,0,0]) cylinder(r=6, h=40, $fn=30); @@ -246,9 +249,9 @@ module x_carriage() x_carriage_block(); // upper motor screw - translate([2.5,67.5,-50]) rotate([0,0,0]) cylinder(r=1.8, h=100, $fn=30); + translate([2.5,67.5,-50]) cylinder(r=1.8, h=100, $fn=30); translate([2.5,67.5,-0.1]) cylinder(r1=2.1,r2=1.8, h=0.5, $fn=25); - translate([2.5,67.5,5]) rotate([0,0,0]) cylinder(r=3.2, h=8, $fn=30); + translate([2.5,67.5,5]) cylinder(r=3.2, h=8, $fn=30); translate([0.5,22.5,0]) rotate([0,90,0]) cylinder(r=5.2, h=7.0, $fn=25); // cable management cleanup @@ -259,15 +262,7 @@ module x_carriage() } // selective infill - translate([-36.5,21.25,1.5]) cube([0.1,4.5,13.3]); - translate([-38.6,21,1.5]) cube([0.1,6,13.3]); - translate([-41,21,1.5]) cube([0.1,6,13.3]); - - translate([3.5,21,6]) cube([0.1,2,8.8]); - translate([5,21,6]) cube([0.1,3,8.8]); - translate([6.8,21,5.5]) cube([0.1,3,9]); - translate([8.5,21,5]) cube([0.1,3,9.8]); - + translate([5,-15.4,-1]) rotate([0,45,0]) cube([0.3,4.6,8]); translate([8.45,11.5,1]) cube([0.5,1.8,4]); @@ -280,9 +275,8 @@ module x_carriage() translate([6,7.5,-1]) cube([1,0.5,5]); translate([6,10.5,-1]) cube([1,0.5,5]); - translate([-19,24,1.5]) cube([5,0.4,13.0]); - translate([-20.5,27,1.5]) rotate([0,0,20]) cube([0.4,5,13.0]); - + translate([-19,24,1.5]) cube([6,0.5,12.0]); + //cable openings in guides translate([-40.8,7.5,0]) rotate([0,20,0]) cube([5,3.5,20]); translate([-2.9,7.5,18]) rotate([0,80,0]) cube([20,3.55,5]); @@ -298,11 +292,77 @@ module x_carriage() translate([-12.5,58,8]) rotate([0,0,45]) cube([3,3,14]); translate([-10,58,8]) rotate([0,0,45]) cube([3,3,14]); + translate([0,-0.5,0]) left_belt_cut(); + translate([0,0.5,0]) right_belt_cut(); + //version translate([-2,-8,0.5]) rotate([0,180,0]) linear_extrude(height = 0.6) - { text("R1",font = "helvetica:style=Bold", size=4, center=true); } + { text("R2",font = "helvetica:style=Bold", size=5, center=true); } + } } +module left_belt_cut() +{ + + translate([-22.5,30.2,7]) cylinder(r=1.5, h=100, $fn=30); + translate([-23.0,20,7]) cube([2,10,30]); + translate([-56.5,28.5,7]) belt_cut(); + translate([13.5,20.5,0]) rotate([0,0,25]) + { + difference() + { + translate([-56.5,28.5,7]) belt_cut(); + translate([-80,25,7]) cube([37.5,10,30]); + } + } + translate([13.2,2.38,0]) rotate([0,0,0]) + { + difference() + { + translate([-56.5,28.5,7]) belt_cut(); + translate([-82.42,25,7]) cube([37.5,10,30]); + } + } + translate([-45,17.6,4]) rotate([0,0,-15]) cube([10,3,30]); + translate([-31.5,30.4,10]) rotate([-10,0,15]) cylinder(r=0.2, h=100, $fn=30); + translate([-31.6,30.75,7]) rotate([0,0,0]) cylinder(r=0.2, h=100, $fn=30); + } + + +module right_belt_cut() +{ + // right belt cut + translate([-9.6,29.7,7]) cylinder(r=1.5, h=100, $fn=30); + translate([-11.1,19.8,7]) cube([2,10,30]); + translate([22.5,25.5,7]) belt_cut(); + translate([66.65,1.95,0]) rotate([0,0,0]) + { + difference() + { + translate([-56.5,28.5,7]) belt_cut(); + translate([-71.55,25,7]) cube([37.5,10,30]); + } + } + translate([43.2,-30.25,0]) rotate([0,0,-30]) + { + difference() + { + translate([-56.5,28.5,7]) belt_cut(); + translate([-82.1,25,7]) cube([10,10,30]); + translate([-61.5,25,7]) cube([20.5,10,30]); + } + } + translate([2,14.6,7]) rotate([0,0,15]) cube([10,3,30]); + translate([-5.1,30,10]) rotate([-10,0,-15]) cylinder(r=0.2, h=100, $fn=30); + translate([-5,30.3,7]) rotate([0,0,0]) cylinder(r=0.2, h=100, $fn=30); + } + + x_carriage(); + + + + +