chiark / gitweb /
commitid-layering-test: get commitid right way round
[reprap-play.git] / filamentspool.scad
index 212f61709d8a5621370d28375e05695582c5ed29..728ba69d23318f8b9ccb0cb48db5601c87b928bc 100644 (file)
 //
 // 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.
+// ===== Heavy duty 4-armed spool for 3mm x 100m coil =====
+//
+// A 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
 //
 //     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.
+// ===== Light duty 3-armed spool for 3mm x <=30m coil =====
+//
+// A light duty 3-armed spool suitable for up to around 30m
+// of Faberdashery 2.85mm PLA.
 //
 //     Set
 //           fdia=2.85
@@ -64,6 +68,8 @@
 //     (note that the light duty and heavy duty CupSecuringClips
 //      are slightly different)
 //
+// ===== Notes regarding both the above spools =====
+//
 // When mounting either spool on the TAZ-5 spool arm, put the `pointy'
 // end of the hub towards the printer - ie, put put the spool on
 // `backwards'.  This ensures that the spool's arms will clear the
 //
 // 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.
+// ===== TAZ-5 feed tube adjustment kit =====
+//
+// With a TAZ-5 I recommend using this kit to improve the feed
+// reliability:
+//
+//       Set
+//           fdia=2.85
+//     And print following parts
+//           FilamentGuideSpacer (ideally, at `high detail')
+//           FilamentGuideArmPrint (optional; `high detail' or `standard')
+//
+//     And possibly also
+//           t-nut_jig_0.2.stl
+//     from Aleph Objects - look here:
+//           http://download.lulzbot.com/TAZ/accessories/tool_heads/version_2/Dual_Extruder_v2/production_parts/stl/
+//
+// The spacer clips onto the filament guide tube holder arm, on the
+// inside, with the pointy flanged end towards the filament guide
+// tube.  It stops the filament guide tube angle (and so the
+// filament's natural pickup location) changing as the print head moves.
+//
+// The FilamentGuideArm[Print] is a replacement for the arm supplied
+// with your TAZ-5.  It's longer, so that the filament pickup point is
+// closer to the middle of the coil.  Use the t-nut_jig to stop the
+// T-nuts in the aluminium channel from annoyingly sliding down to the
+// bottom while you swap out the arm.
+//
+// (Faberdashery coils, and therefore both the above spools, have a
+// larger diameter than the flat-walled spools often supplied by other
+// vendors.  And the spools above have individual arms rather than a
+// continuous disc.  If the filament `unhooks' from the arm, it can
+// pull taught around the hub and stop feeding properly.)
+//
+// ===== Spool storage arm, for mounting on walls =====
+//
+// A 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
 // 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.
+// ===== Spools for 1.75mm filament =====
+//
+// 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
@@ -749,7 +792,7 @@ module FilamentGuideSpacer(){ ////toplevel
 guidearm_armslop = 0.25;
 guidearm_armlenslop = 0.25;
 
-guidearm_hookprotr = 4;
+guidearm_hookprotr = 3;
 guidearm_hookprotrflat = 1;
 guidearm_hookslope = 0.3;
 
@@ -757,12 +800,14 @@ guidearm_totallen = 60;
 
 guidearm_screwplatesz = 12;
 guidearm_screwplateth = 4;
-guidearm_screwhole = 4 + 0.5;
+guidearm_screwplatewd = 15;
+guidearm_screwhole = 5 + 0.5;
 
-guidearm_bendlen = 50;
-guidearm_bendslot = 5;
+guidearm_bendlen = 40;
+guidearm_bendslot = 4.5;
 
 guidearm_stopthick = 4;
+guidearm_protrslop = 1.0;
 
 // calculated
 
@@ -800,12 +845,14 @@ module FilamentGuideArmShaftPositive(){
 }
 
 module FilamentGuideArmBase(){
-  translate([0,0, guidearm_base_z0]){
+  translate([0,
+            (guidearm_screwplatewd - guidearm_armwidth)/2,
+            guidearm_base_z0]){
     difference(){
       translate([0,0, guidearm_screwplateth/2])
        cube(center=true,
             [guidearm_armdia + guidearm_screwplatesz*2,
-             guidearm_armwidth,
+             guidearm_screwplatewd,
              guidearm_screwplateth]);
       for (ts=[-1,+1]) {
        translate([ts * (guidearm_armdia/2 + guidearm_screwplatesz/2),
@@ -827,6 +874,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,