//
// 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
// (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
guidearm_armslop = 0.25;
guidearm_armlenslop = 0.25;
-guidearm_hookprotr = 4;
+guidearm_hookprotr = 3;
guidearm_hookprotrflat = 1;
guidearm_hookslope = 0.3;
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
}
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),
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,