cad/outdoor/cordHook.scad
2024-09-29 14:08:37 -07:00

56 lines
1.6 KiB
OpenSCAD

// hook designed to hook knots on small diameter cord and be as snagless as possible
// closed hole diameter
cdLoop = 3.1;
// hook slot width
cdHook = 2;
// slot section od
bigD = 20;
// closed hole section od
smallD = 9;
// slot angle
degSlot = 40;
// thickness
thick = 5;
// minkowski sphere radius, fillet rad sort of
filletRad = 2;
// sets side bulge. adds strength and beauty. low value will cause failed print. tested at 0.4
bulbousness = 0.4;
// 40+ faces for print but it makes minkowski very slow in editing
$fn = 45;
// diff for slicing off top bottom and loop hole
difference(){
//trace sphere for chamfering around union of two cylinders with slot
minkowski(){
//two cylinders with a slot cut at around ? degrees
difference(){
union(){
cylinder(d = bigD, thick * bulbousness, center = true);
// center starts origin, so translate up sin30 and right cos30
translate([cos(degSlot) * bigD/2, sin(degSlot) * bigD/2, 0]){
cylinder(d = smallD, thick * bulbousness, center = true);
}
}
// slot:
translate([50, 0, 0]){
cube([100, cdHook + 2 * filletRad, 2], center = true);
}
// rounded slot pocket:
cylinder(d = cdHook + 2 * filletRad, 2, center = true);
} // diff
sphere(r = filletRad);
}
// minus:
translate([cos(degSlot) * bigD/2, sin(degSlot) * bigD/2, 0]){
cylinder(d = cdLoop, 55, center = true);
}
for (dir = [-1, 1]) translate([0, 0, dir * (thick / 2 + 1)]){
cube([99, 99, 2], center = true);
}
}