chiark / gitweb /
filamentspool: FilamentGuideArm: Make space for arms to come together, according...
[reprap-play.git] / filamentspool.scad
index 57af02e73169f32b2a9adc36250ad347e9a8d1d7..04294d68429077d9d7bddf1f65df38c27eb5c10b 100644 (file)
@@ -763,6 +763,7 @@ guidearm_bendlen = 50;
 guidearm_bendslot = 5;
 
 guidearm_stopthick = 4;
+guidearm_protrslop = 1.0;
 
 // calculated
 
@@ -774,6 +775,7 @@ guidearm_base_z0 = -(guidearm_totallen - guidearm_armcorelen);
 
 guidearm_realbendlen = min(guidearm_bendlen,
                           guidearm_totallen - guidearm_screwplateth - 0.1);
+guidearm_slopelen = guidearm_hookprotr/guidearm_hookslope;
 
 module FilamentGuideArmStop(h){
   for (ts=[-1,+1]) {
@@ -790,7 +792,7 @@ module FilamentGuideArmShaftPositive(){
   translate([0,0, guidearm_armcorelen]){
     hull(){
       FilamentGuideArmStop(guidearm_hookprotrflat);
-      translate([0,0, guidearm_hookprotr/guidearm_hookslope])
+      translate([0,0, guidearm_slopelen])
        cylinder(r=r, h=guidearm_hookprotrflat, $fn=80);
     }
   }
@@ -826,6 +828,15 @@ module FilamentGuideArm(){ ///toplevel
        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,