chiark / gitweb /
filamentspool: wip scale, nfc as yet because if (0)
[reprap-play.git] / filamentspool.scad
index 728ba69d23318f8b9ccb0cb48db5601c87b928bc..dd112d24ec9365c455a67a09007c1f4804588c4d 100644 (file)
@@ -236,6 +236,10 @@ nondove_armbase = nondove_armhole_x + nondove_armhole_hole/2 +
   nondove_armhole_support;
 echo(nondove_armbase);
 
+real_exteffrad = selsz(exteffrad,
+                      hubeffrad + nondove_armbase,
+                      hubeffrad + nondove_armbase);
+
 include <doveclip.scad>
 include <cliphook.scad>
 include <filamentteeth.scad>
@@ -247,6 +251,8 @@ totalwidth = armendwallthick*2 + channelwidth;
 totalheight = channeldepth + armendbasethick;
 stalkwidth = prongwidth + prongstalkxwidth;
 
+tau = PI*2;
+
 module ArmEnd(length=armend_length){ ////toplevel
   if (usedove()) {
     translate([ratchettoothsmoothr, channelwidth/2, -armendbasethick]) {
@@ -265,6 +271,26 @@ module ArmEnd(length=armend_length){ ////toplevel
     }
   }
 
+if (0)
+  for (circum = [300:100:1500]) {
+    assign(rad = circum / tau)
+      assign(fn = str("filamentspool-number-n",circum,".dxf"))
+      assign(xlen = rad - real_exteffrad) {
+      echo(circum, rad, xlen);
+      translate([xlen, -armendwallthick, -armendbasethick])
+       color("blue"){
+       translate([-.5,-1,0]) cube([1,2,15]);
+       //  echo(fn);
+       translate([0,0, totalheight - 1])
+         rotate([90,0,0])
+         rotate([0,0,-90])
+         linear_extrude(height=10)
+         //    scale(templatescale)
+         import(file=fn, convexity=100);
+      }
+    }
+  }
+
   difference(){
     translate([0, -armendwallthick, -armendbasethick])
       cube([length, totalwidth, totalheight]);
@@ -897,10 +923,10 @@ module FilamentGuideArmPrint(){ ////toplevel
     FilamentGuideArm();
 }
 
-module Demo(){
-  translate([-hubeffrad-30,50,0]) Hub();
+module Demo(){ ////toplevel
+  translate([-real_exteffrad,-20,0]) Hub();
   ArmEnd();
-  translate([0,50,0]) FilamentCup();
+  translate([ratchettooth*2, 30, 0]) FilamentCup();
 }
 
 //ArmEnd();