Work on mcopy_rails concepts
This commit is contained in:
parent
4539c6d897
commit
621948fbac
|
@ -0,0 +1,41 @@
|
||||||
|
include<./common/common.scad>;
|
||||||
|
include<./common/2020_tslot.scad>;
|
||||||
|
|
||||||
|
RailsSpacing = 100;
|
||||||
|
ThreadedRodSpacing = 50;
|
||||||
|
Length = 300;
|
||||||
|
ThreadDiameter = 8;
|
||||||
|
LinearMotionDiameter = 8;
|
||||||
|
|
||||||
|
module linear_extrusion_rail (pos = [0, 0, 0], length = 300) {
|
||||||
|
translate(pos) rotate([0, 90, 0]) 2020_tslot(length, core = ProfileCore);
|
||||||
|
}
|
||||||
|
|
||||||
|
module threaded_rod (pos = [0, 0, 0], H = 40, pad = 0) {
|
||||||
|
color("green") translate(pos) rotate([0, 90, 0]) cylinder(r = R(ThreadDiameter + pad), h = H, center = true, $fn = 60);
|
||||||
|
}
|
||||||
|
|
||||||
|
module linear_motion_rod (pos = [0, 0, 0], H = 40, pad = 0) {
|
||||||
|
color("blue") translate(pos) rotate([0, 90, 0]) cylinder(r = R(LinearMotionDiameter + pad), h = H, center = true, $fn = 60);
|
||||||
|
}
|
||||||
|
|
||||||
|
module rails () {
|
||||||
|
linear_extrusion_rail([0, RailsSpacing / 2, 0], length = Length);
|
||||||
|
linear_extrusion_rail([0, -RailsSpacing / 2, 0], length = Length);
|
||||||
|
threaded_rod([0, ThreadedRodSpacing / 2, 0], H = Length);
|
||||||
|
threaded_rod([0, -ThreadedRodSpacing / 2, 0], H = Length);
|
||||||
|
linear_motion_rod(H = Length);
|
||||||
|
sled();
|
||||||
|
}
|
||||||
|
|
||||||
|
module sled (pos = [0, 0, 0], length = 50) {
|
||||||
|
X = length;
|
||||||
|
Y = RailsSpacing + 40;
|
||||||
|
Z = 50;
|
||||||
|
translate(pos) difference () {
|
||||||
|
rotate([0, 90, 0]) rounded_cube([Z, Y, X], d = 10, center = true, $fn = 50);
|
||||||
|
translate([0, RailsSpacing / 2, -(Z / 2) + 11]) cube([X + 1, 22, Z], center = true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
rails();
|
Loading…
Reference in New Issue