73 lines
No EOL
2.7 KiB
OpenSCAD
73 lines
No EOL
2.7 KiB
OpenSCAD
raild = 64.9;
|
|
railh = 18.5;
|
|
clipt = 5;
|
|
|
|
module rail_latch(x, y, z, m) {
|
|
translate([1.1,0,0]) rotate([0,m*7,0]) difference() {
|
|
cube([x,y,z], center=true);
|
|
translate([0*-m,0,10-z]) rotate([0,25*-m,0]) cube([x+1,y+1,z], center=true);
|
|
translate([4.9,0,0]) rotate([0,-5,0]) cube([x,y+1,z], center=true);
|
|
//translate([5*-m,0,30.8-z]) rotate([0,5*-m,0]) cube([x+1,y+1,10], center=true);
|
|
//translate([5*-m,0,30.8-z]) rotate([0,25*-m,0]) cube([x+1,y+1,10], center=true);
|
|
|
|
}
|
|
|
|
}
|
|
module back_latch(x, y, z, m) {
|
|
|
|
union() {
|
|
translate([0,0,1.251]) translate([1.35,0,-8]) cube([x-0.1,y,z+15], center=true);
|
|
translate([-3,0,-26.25]) cube([x-0.5,y,3], center=true);
|
|
translate([-1.85,0,-22.2]) rotate([0,50,0]) cube([x+0.5,y,9], center=true);
|
|
translate([-1.85,0,-19.6]) rotate([0,30,0]) cube([x-1.5,y,11], center=true);
|
|
//translate([0*-m,0,10-z]) rotate([0,25*-m,0]) cube([x+1,y+1,z], center=true);
|
|
//translate([5*-m,0,30.8-z]) rotate([0,5*-m,0]) cube([x+1,y+1,10], center=true);
|
|
//translate([5*-m,0,30.8-z]) rotate([0,25*-m,0]) cube([x+1,y+1,10], center=true);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
module back_latch2(x, y, z, m) {
|
|
|
|
union() {
|
|
translate([0,0,1.251]) translate([1.35,0,-8]) cube([x-0.1,y,z+19], center=true);
|
|
translate([-3,0,-28.25]) cube([x-0.5,y,3], center=true);
|
|
translate([-1.85,0,-24.2]) rotate([0,50,0]) cube([x+0.5,y,9], center=true);
|
|
//translate([-1.85,0,-21.6]) rotate([0,30,0]) cube([x-1.5,y,11], center=true);
|
|
//translate([0*-m,0,10-z]) rotate([0,25*-m,0]) cube([x+1,y+1,z], center=true);
|
|
//translate([5*-m,0,30.8-z]) rotate([0,5*-m,0]) cube([x+1,y+1,10], center=true);
|
|
//translate([5*-m,0,30.8-z]) rotate([0,25*-m,0]) cube([x+1,y+1,10], center=true);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
module rail_clip() {
|
|
//cube([raild, clipt, railh], center=true);
|
|
union() {
|
|
//color([1,0,1,0.2]) translate([raild/2+2,0.1,-5]) back_latch(5,clipt,27,1);
|
|
translate([raild/2+4,0,-5]) rotate([0,10,0]) back_latch2(5,clipt,27,1);
|
|
translate([-raild/2-2,0,-5]) rail_latch(5,clipt,30,-1);
|
|
translate([2.5,0,railh/2+3.5]) cube([81.5,clipt,7], center=true);
|
|
|
|
}
|
|
};
|
|
|
|
module hook() {
|
|
union() {
|
|
translate([0,0,4.251]) cube([3,3,8.502], center=true);
|
|
//translate([0,0,6.5+1.5]) cube([3,3,3], center=true);
|
|
//translate([5,0,6.5+1.5]) rotate([0,90,0]) rotate([0,0,45]) cylinder(h=7,d1=4.2, d2=1, center=true, $fn=4);
|
|
translate([4.5,0,8.5+1.5]) cube([12,3,3], center=true);
|
|
}
|
|
}
|
|
|
|
module hooked_rail_clip() {
|
|
union() {
|
|
translate([-37.5,3/2,10]) rotate([0,-90,0]) hook();
|
|
translate([0,clipt/2,0]) rail_clip();
|
|
}
|
|
}
|
|
|
|
rotate([90,0,0]) hooked_rail_clip(); |