diff --git a/Printed-Parts/scad/x-carriage.scad b/Printed-Parts/scad/x-carriage.scad index 99fb3af..8bc02a9 100644 --- a/Printed-Parts/scad/x-carriage.scad +++ b/Printed-Parts/scad/x-carriage.scad @@ -7,6 +7,85 @@ 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 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); +} + + + + module x_carriage_body(){ // Small bearing holder @@ -35,41 +114,10 @@ module x_carriage_body(){ // Belt holder base translate([-42.5,20,1]) cube([52,16,6]); - translate([-16.5-12,24.5,1])cylinder(r=4.5, h=13, $fn=25); - translate([-17.5+12,24.5,1])cylinder(r=4.5, h=13, $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,27,1]) cube([10,6,14]); - translate([2,24-2.3-4.5,1]) cube([7.5,7.5,14]); - translate([-0.5,27,1]) cube([8,7,1]); - } - 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]); -} + // new belt holder base block + translate([-42.5,18,7]) cube([52,16.3,8]); -// Belt Insert L -difference() -{ - union() - { - translate([-33,3,0]) - { - scale([-1,1,1]) - { - translate([0,27,1]) cube([12.5,3,14]); - translate([2,27-7.5-2.3,1]) cube([12.5,7.5,14]); - //#translate([-0.5,27,1]) cube([8,7,1]); - } - } - } - translate([-36.5,27.7,5.5]) rotate([0,0,-55]) cube([5,5.5,10]); -} } @@ -86,15 +134,15 @@ module x_carriage_holes(){ translate([2,0,0]) difference() { - translate([0.75,45,12]) rotate([0,90,0]) cylinder(r=10.8, h=3.5, $fn=25); - translate([0,45,12]) rotate([0,90,0]) cylinder(r=9, h=6, $fn=25); + translate([0.75,45,12]) rotate([0,90,0]) cylinder(r=10.8, h=3.5, $fn=50); + translate([0,45,12]) rotate([0,90,0]) cylinder(r=9, h=6, $fn=50); } // upper ziptie left translate([-38,0,0]) difference() { - translate([0.75,45,12]) rotate([0,90,0]) cylinder(r=10.8,h=3.5,$fn=25); - translate([0,45,12]) rotate([0,90,0]) cylinder(r=9, h=6, $fn=25); + translate([0.75,45,12]) rotate([0,90,0]) cylinder(r=10.8,h=3.5,$fn=50); + translate([0,45,12]) rotate([0,90,0]) cylinder(r=9, h=6, $fn=50); } // upper ziptie head @@ -102,12 +150,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,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,12])cylinder(r=5.8/2, h=20, $fn=25); + translate([-17.5+12,24.5,-1])cylinder(r=1.65, h=20, $fn=50); + translate([-17.5+12,24.5,0.9])cylinder(r1=2.0,r2=1.65, h=1, $fn=50); + translate([-17.5+12,24.5,12])cylinder(r=5.8/2, h=20, $fn=50); + translate([-16.5-12,24.5,-1])cylinder(r=1.65, h=20, $fn=50); + translate([-16.5-12,24.5,0.9])cylinder(r1=2.1,r2=1.65, h=1, $fn=50); + translate([-16.5-12,24.5,12])cylinder(r=5.8/2, h=20, $fn=50); // Carriage slimer translate([-55.5+3,19,-1])cube([10,40,30]); @@ -123,10 +171,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]); @@ -196,24 +240,39 @@ module final_cutout(){ translate([-18.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]) rotate([0,0,0]) cylinder(r=1.65, h=20, $fn=50); + translate([-26.5,-11,4]) rotate([0,0,0]) 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]); - 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([-16,29,0]) rotate([0,0,0]) cylinder(r=1.65, h=40, $fn=30); - translate([-19,26,11]) cube([6,8,2]); + + // x-carriage-back mounting screws + translate([-4,56,0]) rotate([0,0,0]) cylinder(r=1.65, h=40, $fn=50); + translate([-27.5,56,0]) rotate([0,0,0]) cylinder(r=1.65, h=40, $fn=50); + translate([-30.3,53,8]) cube([5.6,8,2.1]); + translate([-6.8,53,8]) cube([5.6,8,2.1]); + // 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]) rotate([0,0,0]) cylinder(r=1.65, h=40, $fn=50); + translate([-18.8,26,11]) cube([5.6,8,2.1]); translate([-21,33,11]) cube([10,8,6]); + // better printing bridges + translate([-18.8,27.35,11]) cube([5.6,3.3,2.1]); + translate([-17.65,27.35,11.25]) cube([3.3,3.3,2.1]); - - translate([-16.5,-18,-5]) rotate([-5,0,0]) cylinder(r=6, h=40, $fn=30); + translate([-16.5,-18,-5]) rotate([-5,0,0]) cylinder(r=6, h=40, $fn=50); } @@ -262,15 +321,15 @@ difference() } translate([6,-17,0]) rotate([0,45,0]) cube([10,8,11]); translate([-12,-18.5,0]) rotate([0,0,-25]) cube([15,8,15]); - translate([-6.5,-11,4]) rotate([0,0,0]) cylinder(r=1.65, h=20, $fn=30); + translate([-6.5,-11,4]) rotate([0,0,0]) cylinder(r=1.65, h=20, $fn=50); translate([-09.5,-14,10]) cube([6,7,2.2]); } } - translate([2.5,67.5,-50]) rotate([0,0,0]) 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([0.5,22.5,0]) rotate([0,90,0]) cylinder(r=5.2, h=7.0, $fn=25); + translate([2.5,67.5,-50]) rotate([0,0,0]) cylinder(r=1.65, h=100, $fn=50); + translate([2.5,67.5,0.9]) cylinder(r1=2.1,r2=1.8, h=1, $fn=50); + translate([2.5,67.5,5]) rotate([0,0,0]) cylinder(r=3.1, h=8, $fn=50); + translate([0.5,22.5,0]) rotate([0,90,0]) cylinder(r=5.2, h=7.0, $fn=50); difference() { @@ -278,23 +337,12 @@ difference() translate([2,16,-10]) cube([10,6,20]); } - // 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([-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([-40.8,7.5,0]) rotate([0,20,0]) cube([5,3.5,20]); @@ -312,20 +360,27 @@ difference() 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,1.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=4, center=true); } translate([-10,34,1.5]) rotate([0,180,0]) linear_extrude(height = 0.6) { text("2.5",font = "helvetica:style=Bold", size=8, center=true); } } } + x_carriage(); + + + + +