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