Merge in 9 months of work on capper branch #71
|
@ -0,0 +1,45 @@
|
|||
include <./common.scad>;
|
||||
|
||||
RAIL_SPACING = 100;
|
||||
RAIL_H = 70;
|
||||
RAIL_LEN = 400;
|
||||
RAIL_D=25.4;
|
||||
|
||||
module rail (H = 100) {
|
||||
cylinder(r = R(RAIL_D), h = H, center = true, $fn = 60);
|
||||
}
|
||||
|
||||
module rails () {
|
||||
translate([RAIL_SPACING/2, 0, RAIL_H]) rotate([90, 0, 0]) rail(RAIL_LEN);
|
||||
translate([-RAIL_SPACING/2, 0, RAIL_H]) rotate([90, 0, 0]) rail(RAIL_LEN);
|
||||
}
|
||||
|
||||
module end () {
|
||||
L = 50;
|
||||
T = 20;
|
||||
translate ([0, -L / 2, 0]) {
|
||||
difference () {
|
||||
union () {
|
||||
translate([RAIL_SPACING/2, 0, RAIL_H]) rotate([90, 0, 0]) {
|
||||
cylinder(r = R(35), h = L, center = true, $fn = 60);
|
||||
}
|
||||
translate([-RAIL_SPACING/2, 0, RAIL_H]) rotate([90, 0, 0]) {
|
||||
cylinder(r = R(35), h = L, center = true, $fn = 60);
|
||||
}
|
||||
translate([0, 0, RAIL_H + (35 / 2) - (T / 2)]) cube([RAIL_SPACING, L, T], center = true);
|
||||
translate([RAIL_SPACING/2 - (5 / 2), 5, RAIL_H / 2]) cube([40, 40, RAIL_H], center = true);
|
||||
translate([-RAIL_SPACING/2 + (5 / 2), 5, RAIL_H / 2]) cube([40, 40, RAIL_H], center = true);
|
||||
}
|
||||
translate([RAIL_SPACING/2, 0, RAIL_H]) rotate([90, 0, 0]) {
|
||||
rail(L + 1);
|
||||
}
|
||||
translate([-RAIL_SPACING/2, 0, RAIL_H]) rotate([90, 0, 0]) {
|
||||
rail(L + 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//color("blue") rails();
|
||||
translate([0, RAIL_LEN / 2, 0]) end();
|
Loading…
Reference in New Issue