chiark / gitweb /
filamentspool: Prep for varying arm number (nfc)
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Mon, 14 Dec 2015 01:18:58 +0000 (01:18 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Mon, 14 Dec 2015 01:19:39 +0000 (01:19 +0000)
filamentspool.scad

index 48d0a48291e8713199379baf389ca5db92ccae52..45d30498c008c9220a4060783b3d45d45e3f38af 100644 (file)
@@ -8,6 +8,8 @@ bigslop=slop*2;
 function selsz(sm,lg) = fdia < 2 ? sm : lg;
 function usedove() = selsz(true,false);
 
+num_arms = 3;
+
 exteffrad = 70;
 hubeffrad = selsz(30, 60);
 hubbigrad = selsz(20, 50);
@@ -253,7 +255,7 @@ module Hub(){ ////toplevel
          cylinder($fn=30, h=hublthick+2, r=(hubbigrad-hublwidth));
       }
       cylinder(h=hubaxlelen, r=axlerad+hublwidth);
-      for (ang=[0,120,240])
+      for (ang=[0 : 360/num_arms : 359])
        rotate([0,0,ang]) {
          difference() {
            if (usedove()){
@@ -287,7 +289,7 @@ module Hub(){ ////toplevel
            }
          }
        }
-      for (ang = [0 : 60 : 359])
+      for (ang = [0 : 180/num_arms : 359])
        rotate([0,0,ang]) rotate([90,0,0]) {
          translate([0,0,-hublwidth/2])
            linear_extrude(height=hublwidth)