cordhook
This commit is contained in:
parent
1c089f4090
commit
ceb4059c6a
62
outdoor/cordHook.scad
Normal file
62
outdoor/cordHook.scad
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
// hook designed to hook small diameter cord and be as snagless as possible
|
||||||
|
// strategy:
|
||||||
|
// make profile without hook or loop
|
||||||
|
// make oversize slot
|
||||||
|
// minkowski sphere to bring slot size down
|
||||||
|
// cut hole and trim top and bottom
|
||||||
|
|
||||||
|
// 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);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
BIN
outdoor/cordHook.stl
Normal file
BIN
outdoor/cordHook.stl
Normal file
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user