chiark / gitweb /
filamentspool: FilamentGuideArm: Set various $fn
[reprap-play.git] / filamentspool.scad
index 30fb27f71f00c2a8f6fc3d37f38400b575a62afa..9ca35167fabf853b70c6bc32ef080c29257006c7 100644 (file)
@@ -680,12 +680,13 @@ module StorArmHoleTest(){ ////toplevel
 
 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;
@@ -694,7 +695,8 @@ 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;
 
@@ -760,6 +762,8 @@ guidearm_screwhole = 4 + 0.5;
 guidearm_bendlen = 50;
 guidearm_bendslot = 5;
 
+guidearm_stopthick = 4;
+
 // calculated
 
 guidearm_armdia = guide_armdia - guidearm_armslop;
@@ -771,21 +775,27 @@ guidearm_base_z0 = -(guidearm_totallen - guidearm_armcorelen);
 guidearm_realbendlen = min(guidearm_bendlen,
                           guidearm_totallen - guidearm_screwplateth - 0.1);
 
+module FilamentGuideArmStop(h){
+  for (ts=[-1,+1]) {
+    translate([ts * guidearm_hookprotr, 0,0])
+      cylinder(r=guidearm_armdia/2, h, $fn=80);
+  }
+}
+
 module FilamentGuideArmShaftPositive(){
   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(){
-      for (ts=[-1,+1]) {
-       translate([ts * guidearm_hookprotr, 0,0])
-         cylinder(r=r, h=guidearm_hookprotrflat);
-      }
+      FilamentGuideArmStop(guidearm_hookprotrflat);
       translate([0,0, guidearm_hookprotr/guidearm_hookslope])
-       cylinder(r=r, h=guidearm_hookprotrflat);
+       cylinder(r=r, h=guidearm_hookprotrflat, $fn=80);
     }
   }
+  mirror([0,0,1])
+    FilamentGuideArmStop(guidearm_stopthick);
 }
 
 module FilamentGuideArmBase(){
@@ -800,7 +810,7 @@ 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);
       }
     }
   }