chiark / gitweb /
filamentspool: Provide doc comment
[reprap-play.git] / filamentspool.scad
index bf12d855c22473379515b93c25c5bd22c6571278..981cf6e195e26e8650060ce454223f306e01cef2 100644 (file)
@@ -1,7 +1,75 @@
 // -*- C -*-
 
-fdia=2.85;
-lightduty=false;
+// Filament spool for filament coils as supplied by Faberdashery
+//
+// Each spool is a hub with 3 or 4 arms.  Each arm has a cup for
+// holding the filament.  The effective diameter can be adjusted by
+// setting the cup into a different seat in the arm.  The cups are
+// held on with simple clips, so the filement coil can easily be
+// removed and replaced.
+//
+// This file (and its includes) can generate:
+//
+//   - Heavy duty 4-armed spool suitable for holding a 100m
+//     Faberdashery coil on the spool arm of a Lulzbot TAZ-5.
+//
+//     Set
+//           fdia=2.85
+//           lightduty=false
+//     And print following parts
+//            Hub
+//            ArmEnd x 4
+//            FilamentCup x 4  (or FilamentCupPair x 2)
+//            CupSecuringClup x 4
+//
+//     You will also need  4 x M4 machine screws and nuts
+//
+//   - Light duty 3-armed spool suitable for up to around 30m
+//     of Faberdashery 2.85mm PLA.
+//
+//     Set
+//           fdia=2.85
+//           lightduty=true
+//     And print following parts
+//           Hub
+//           ArmEnd x 3
+//           FilamentCup x 3  (or FilamentCup + FilamentCupPair)
+//           CupSecuringClup x 3
+//           TowerDoveClipPin x 6
+//
+//     When assembling, insert one TowerDoveClipPin from each side,
+//     joining each ArmEnd to the Hub with two TowerDoveClipPins.
+//     Modest force with pliers is good to seat them properly.
+//
+//     (note that the light duty and heavy duty CupSecuringClips
+//      are slightly different)
+//
+// For the above, I generally used the Cura `Standard' PLA profile.
+//
+//   - Storage arm suitable for screwing to walls, bookshelves,
+//     etc. (requires non-countersunk M4 screws); will hold two
+//     heavy duty spools each with a 100m coil.
+//
+//     Set
+//           fdia=2.85
+//           lightduty=false
+//     And print one of these, according to taste
+//            StorageArmLeft
+//            StorageArmRight
+//
+//     NB that the `light duty' version of this is shorter and
+//     will only take two `light duty' spools.
+//
+// For the above, I used the Cura `High detail' PLA profile because
+// I wanted it pretty, but the `Standard' profile should do fine.
+//
+//   - Spool (in many parts) for handing 1.75mm filament, printable
+//     on, and with parts for mounting on, a Reprappro Huxley.
+
+
+fdia=2.85; // or 1.75
+lightduty=false; // or true
+
 
 slop=0.5;
 bigslop=slop*2;
@@ -476,7 +544,8 @@ storarm_screw_hole_head_slop = 1.5;
 // calculated
 
 storarm_axlerad = hubaxlerad - storarm_axleslop;
-storarm_mainlen = hubaxlelen + (storarm_cope_hubaxle_mk1 ? 10 : 0);
+storarm_mainlen = hubaxlelen*2 + storarm_axleslop
+  + (storarm_cope_hubaxle_mk1 ? 10 : 0);
 storarm_totlen = storarm_mainlen + storarm_hooklen;
 
 storarm_mid_off_y = storarm_axlerad;
@@ -532,7 +601,7 @@ module StorageArmAtMountingHoles(){
   }
 }
 
-module StorageArm(){ ////toplevel
+module StorageArmRight(){ ////toplevel
   shear = storarm_hookheight / (storarm_mainlen/2);
 
   StorageArmDiagPart(-1, storarm_mainlen/2+1, shear, 0);
@@ -568,10 +637,14 @@ module StorageArm(){ ////toplevel
   }
 }
 
+module StorageArmLeft(){ ////toplevel
+  mirror([1,0,0]) StorageArmRight();
+}
+
 module StorArmHoleTest(){ ////toplevel
   sz = storarm_screw_hole_head + storarm_besides_hole*2;
   intersection(){
-    StorageArm();
+    StorageArmRight();
     translate([-50, -storarm_base_off_y, -1])
       cube([100, sz, sz+1]);
   }
@@ -594,6 +667,6 @@ module Demo(){
 //AxleWasher();
 //AxlePin();
 //AxleFrictionWasher();
-//StorageArm();
+//StorageArmLeft();
 //StorArmHoleTest();
 //Demo();