3d-prints/bedclip/bedclip_thin_backhook2.scad

55 lines
No EOL
1.8 KiB
OpenSCAD

raild = 64.9;
railh = 18.5;
clipt = 7;
clipt = 3;
module rail_latch(x, y, z, m) {
rotate([0,m*5,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([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([1.35,0,-8]) cube([x-0.1,y,z+15], center=true);
translate([-3,0,-29]) cube([x-0.5,y,3], center=true);
translate([-1.15,0,-25.9]) rotate([0,30,0]) cube([x+0.5,y,7], 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() {
translate([raild/2+2,0,-5]) back_latch(5,clipt,30,1);
translate([-raild/2-2,0,-5]) rail_latch(5,clipt,30,-1);
translate([0,0,railh/2+3.5]) cube([76.5,clipt,7], center=true);
}
};
module hook() {
union() {
translate([0,0,3.251]) cube([3,3,6.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([2.5,0,6.5+1.5]) cube([8,3,3], center=true);
}
}
module hooked_rail_clip() {
union() {
translate([-37.5,1,10]) rotate([0,-90,0]) hook();
translate([0,1,0]) rail_clip();
}
}
rotate([90,0,0]) hooked_rail_clip();