include <cliphook.scad>
-rad=19;
h=3.5;
-w=2.5;
teethw=1.5;
looprad=2.5;
-loopw=w;
fdia=1.77;
//fdia=3;
ClipHook(h=h, w=w, g=0.6, k=1.5, g=0.6, ye=ye, cupcaph=0.5, cupcapg=0.8);
}
-module FilamentClip() {
- rotate([0,0,-70]) {
- translate([0,rad-1.5,0]) {
+module FilamentClip(w, rad, trans) {
+ loopw=w;
+
+ rotate([0,0, trans ? -90 : -70]) {
+ translate([(trans ? 5 : 0), rad - (trans ? 0 : 1.5), 0]) {
rotate([0,0,8])
- our_ClipHook(ye=-1.3);
+ our_ClipHook(w=w, ye=-1.3);
}
}
- rotate([0,0,-35]) {
- translate([0,rad,0]) {
+ rotate([0,0, trans ? -55 : -35]) {
+ translate([(trans ? +1.5 : 0), rad, 0]) {
rotate([0,0,180])
- our_ClipHook(ye=0.8);
+ our_ClipHook(w=w, ye=0.8);
}
}
linear_extrude(height=h) {
assign($fn=80) {
- FlatArc(0,0, rad-w/2,rad+w/2, 80,350);
+ FlatArc(0,0, rad-w/2,rad+w/2, 80,181);
+ translate([0,-trans,0])
+ FlatArc(0,0, rad-w/2,rad+w/2, 179, trans ? 360 : 350);
}
assign($fn=30) {
- FlatArc(0,rad+looprad+w, looprad,looprad+loopw);
+ rotate([0,0,loopang])
+ FlatArc(0,rad+looprad+w, looprad,looprad+loopw);
}
}
- for (mir=[0,1]) {
- mirror([mir,0,0])
- rotate([0,0,-40])
- translate([rad+w*0.3+teethw*0.3+fdia/2, 0, 0])
- rotate([0,0,95])
- FilamentClipTeeth();
+ if (trans==0) {
+ for (mir=[0,1]) {
+ mirror([mir,0,0])
+ rotate([0,0,-40])
+ translate([rad+w*0.3+teethw*0.3+fdia/2, 0, 0])
+ rotate([0,0,95])
+ FilamentClipTeeth();
+ }
+ } else {
+ for (mir=[0,1]) {
+ mirror([mir,0,0])
+ translate([0, mir ? 0 : -trans, 0])
+ rotate([0,0, mir ? 0 : 180])
+ translate([0,-5,0])
+ rotate([0,0, -10])
+ translate([rad+w*0.3+teethw*0.3+fdia/2, 0, 0])
+ rotate([0,0,95])
+ FilamentClipTeeth();
+ }
+ for (mir=[0,1]) {
+ mirror([mir,0,0])
+ translate([-rad-w/2, -trans-0.1, 0])
+ cube([w, trans+0.2 + (mir ? -11 : 0), h]);
+ }
}
}
-FilamentClip();
+//FilamentClip(w=2.5, rad=19, trans=0);
+
+//translate([40,0,0])
+ FilamentClip(w=1.5, rad=6, trans=20);