guide_armdia = 15.0;
guide_armwidth = 10.2;
-guide_armcorelen = 15.3;
+guide_armcorelen = 25.0;
+guide_clipcirclethick = 10.0;
guidefilclip_outerdia = 22.8;
guidespacer_armslop = 0.75;
-guidespacer_armlenslop = 0.75;
+guidespacer_armlenslop = 1.05;
guidespacer_prongprotrude = 4;
guidespacer_thick = 1.6;
guidespacer_armdia = guide_armdia + guidespacer_armslop;
guidespacer_armwidth = guide_armwidth + guidespacer_armslop;
-guidespacer_len = guide_armcorelen + guidespacer_armlenslop;
+guidespacer_len = guide_armcorelen - guide_clipcirclethick
+ + guidespacer_armlenslop;
guidespacer_wingheight = (guidefilclip_outerdia - guidespacer_armdia)/2;
guidearm_bendlen = 50;
guidearm_bendslot = 5;
+guidearm_stopthick = 4;
+guidearm_protrslop = 1.0;
+
// calculated
guidearm_armdia = guide_armdia - guidearm_armslop;
guidearm_realbendlen = min(guidearm_bendlen,
guidearm_totallen - guidearm_screwplateth - 0.1);
+guidearm_slopelen = guidearm_hookprotr/guidearm_hookslope;
module FilamentGuideArmStop(h){
for (ts=[-1,+1]) {
translate([ts * guidearm_hookprotr, 0,0])
- cylinder(r=guidearm_armdia/2, h);
+ cylinder(r=guidearm_armdia/2, h, $fn=80);
}
}
r = guidearm_armdia/2;
translate([0,0, guidearm_base_z0+1])
- cylinder(r=r, h= guidearm_totallen);
+ cylinder(r=r, h= guidearm_totallen, $fn=80);
translate([0,0, guidearm_armcorelen]){
hull(){
FilamentGuideArmStop(guidearm_hookprotrflat);
- translate([0,0, guidearm_hookprotr/guidearm_hookslope])
- cylinder(r=r, h=guidearm_hookprotrflat);
+ translate([0,0, guidearm_slopelen])
+ cylinder(r=r, h=guidearm_hookprotrflat, $fn=80);
}
}
+ mirror([0,0,1])
+ FilamentGuideArmStop(guidearm_stopthick);
}
module FilamentGuideArmBase(){
translate([ts * (guidearm_armdia/2 + guidearm_screwplatesz/2),
0,
-20])
- cylinder(r= guidearm_screwhole/2, h=40);
+ cylinder(r= guidearm_screwhole/2, h=40, $fn=20);
}
}
}
cube([guidearm_bendslot,
100,
guidearm_realbendlen + 100]);
+ hull(){
+ for (zx=[ [ 0, guidearm_bendslot ],
+ [ guidearm_armcorelen + guidearm_slopelen,
+ guidearm_hookprotr*2 + guidearm_protrslop ]
+ ]) {
+ translate([-zx[1]/2, -50, zx[0]])
+ cube([zx[1], 100, 1]);
+ }
+ }
}
cube(center=true,
[guidearm_armdia*2,
FilamentGuideArmBase();
}
+module FilamentGuideArmPrint(){ ////toplevel
+ rotate([90,0,0])
+ FilamentGuideArm();
+}
module Demo(){
translate([-hubeffrad-30,50,0]) Hub();
//StorArmHoleTest();
//FilamentGuideSpacer();
//FilamentGuideArm();
+//FilamentGuideArmPrint();
//Demo();