3d-prints/bedclip/bedclip.scad

41 lines
No EOL
1.2 KiB
OpenSCAD

raild = 64.9;
railh = 18.5;
clipt = 7;
module rail_latch(x, y, z, m) {
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 rail_clip() {
//cube([raild, clipt, railh], center=true);
union() {
translate([raild/2+2,0,-5]) rotate([0,5,0]) rail_latch(5,5,30,1);
translate([-raild/2-2,0,-5]) rotate([0,-5,0]) rail_latch(5,5,30,-1);
translate([0,0,railh/2+3.5]) cube([76.5,5,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([-38,1,10]) rotate([0,-90,0]) hook();
rail_clip();
}
}
hooked_rail_clip();