diff --git a/scad/jk_rails.scad b/scad/jk_rails.scad index a20c109..bfd9154 100644 --- a/scad/jk_rails.scad +++ b/scad/jk_rails.scad @@ -42,4 +42,5 @@ module end () { color("blue") rails(); -translate([0, RAIL_LEN / 2, 0]) end(); \ No newline at end of file +translate([0, RAIL_LEN / 2, 0]) end(); +translate([0, -RAIL_LEN / 2, 0]) rotate([0, 0, 180]) end(); \ No newline at end of file diff --git a/scad/rails_2020.scad b/scad/rails_2020.scad index db7651c..802b7be 100644 --- a/scad/rails_2020.scad +++ b/scad/rails_2020.scad @@ -1,6 +1,13 @@ use <2020_profile.scad> -//translate([-35, 0, -25]) linear_extrude(height=175) 2020_profile(); -translate([35, 0, -25]) linear_extrude(height=175) 2020_profile(); +//include +include <./common/motors.scad> +include <./common/rod.scad> + +RailSpacing = 100; +ThreadedRodSpacing = 30; +RailEndX = 140; + + module rounded_cube (c, d) { r = d / 2; @@ -11,14 +18,22 @@ module rounded_cube (c, d) { } } -$fn = 100; -difference () { - rounded_cube([120, 60, 40], d=10); - //rails - translate([-35, 0, 0]) cube([21, 21, 40 + 1], center = true); - translate([35, 0, 0]) cube([21, 21, 40 + 1], center = true); - //threaded rods - translate([0, 0, 0])cylinder(r = 5, h = 40 + 1, center = true); - //translate([-10, 0, 0])cylinder(r = 5, h = 40 + 1, center = true); - -} \ No newline at end of file +module rail_end (pos = [0, 0, 0], rot = [90, 0, 0]) { + translate(pos) rotate(rot) difference () { + rounded_cube([RailEndX, 60, 40], d = 10, $fn = 50); + //rails + translate([-RailSpacing / 2, 0, 0]) cube([21, 21, 40 + 1], center = true); + translate([RailSpacing / 2, 0, 0]) cube([21, 21, 40 + 1], center = true); + //threaded rods motors + translate([-ThreadedRodSpacing / 2, 0, 0]) cylinder(r = R(10), h = 60, center = true, $fn = 100); + translate([ThreadedRodSpacing / 2, 0, 0]) cylinder(r = R(NEMA17PadD), h = 60, center = true, $fn = 100); + //translate([0, 0, 0])cylinder(r = 5, h = 40 + 1, center = true); + //translate([-10, 0, 0])cylinder(r = 5, h = 40 + 1, center = true); + } +} +rail_end(); + +//translate([-35, 0, -25]) linear_extrude(height=175) 2020_profile(); +translate([RailSpacing / 2, 0, 0]) rotate([90, 0, 0]) linear_extrude(height=175) 2020_profile(); + +translate([ThreadedRodSpacing / 2, 40, 0]) rotate([90, 0, 0]) color("blue") NEMA17(); \ No newline at end of file