Archive for August 6th, 2011

Thing-O-Matic: Overhead Filament Spool Holder

Three spools of filament just arrived and needed a home; up to this point, I’ve been using the Lazy Susan Filament Spool for loose bundles atop the Thing-O-Matic. Until I use the last of the loose filament, which could take a while, I figured I could tack the spools to the floor joists.

It turns out 1-1/2 inch PVC drain pipe fits perfectly through the spool bore, so I squared up the ends of a chunk long enough to span the floor joists at a convenient distance from the printer. That steady rest doesn’t see a lot of use, but when I need it, I need it bad:

Turning spool axle

Turning spool axle

The endplate solid model looks about like you’d expect:

Filament spool axle endplates

Filament spool axle endplates

I could turn those things from two chunks of plate, but this is much neater; a 3D printer makes short work of custom-sized parts.

The two pegs of yellow filament keep the axle endplate from turning on the central screw (and, inevitably, unscrewing themselves); add glue in the blind holes and trim to fit with a flush-cutting nipper. The aluminum brackets come from a pile I’ve been using for years: as almost always, the holes were in exactly the right places.

Filament spool axle endplate

Filament spool axle endplate

With all that in hand, up it went:

Overhead filament spools

Overhead filament spools

I bent some coat hanger wire into a guide bar with three eyelets for the filaments, plus another chunk to hold the guide in position. Three small (color coordinated!) clamps prevent the unused filament from unwinding.

I’m not completely happy with this arrangement, because there’s not enough control over the filament energy: the coil around each spool wants to expand into a tangle exactly the size and shape of the Basement Laboratory and there’s not a lot preventing that. I think a variation on tbuser’s Spool Guard theme might be in order: let the filament expand within a tightly enclosed space around each spool.

The OpenSCAD source code:

// Filament spool shaft adapter
// Ed Nisley KE4ZNU July 2011

include </home/ed/Thing-O-Matic/lib/MCAD/units.scad>

Layout = "Show";					// Show or Build

//-- Extrusion parameters

ThreadThick = 0.33;
ThreadWT = 2.0;
ThreadWidth = ThreadThick * ThreadWT;

HoleWindage = 0.1;			// enlarge hole dia by this amount
Protrusion = ThreadThick;

//-- End Plate dimensions

PlateOD = 51.0;
PlateThick = ThreadThick * ceil(3.0 / ThreadThick);

AxleID = 40.0;
AxleThick = ThreadThick * ceil(5.0 / ThreadThick);

HoleSpacing = 0.75 * inch;

StubDepth = ThreadThick * ceil(2.5 / ThreadThick);
StubDia = 3.0;

ScrewDepth = PlateThick + AxleThick;

PrintOffset = 0.8*PlateOD/2;			// fraction of dia to offset objects for printing

Tap6_32 = 0.1065 * inch;
Clear6_32 = 0.1495 * inch;
Head6_32 = 0.270 * inch;
Head6_32Thick = 0.097 * inch;
Nut6_32Dia = 0.361 * inch;		// across points
Nut6_32Thick = 0.114 * inch;

//----------------------
// Useful routines

module PolyCyl(Dia,Height,ForceSides=0) {			// based on nophead's polyholes

  Sides = (ForceSides != 0) ? ForceSides : (ceil(Dia) + 2);

  FixDia = Dia / cos(180/Sides);

  cylinder(r=(FixDia + HoleWindage)/2,
           h=Height,
	   $fn=Sides);
}

PegSize = 1.0;

module ShowPegGrid(Size) {
	for (x=[-5:5])
	  for (y=[-5:5])
		translate([x*10,y*10,Size/2])
		  %cube(Size,center=true);

}

//----------------------
// Single endplate

module AxleEndPlate() {

  difference() {
	union() {
	  cylinder(r=PlateOD/2,h=PlateThick,$fa=10);
	  translate([0,0,PlateThick])
		cylinder(r=AxleID/2,h=AxleThick,$fa=10);
	}

	translate([0,0,-Protrusion])
	  PolyCyl(Tap6_32,ScrewDepth + 2*Protrusion);

	for(y=[-HoleSpacing,HoleSpacing])
	  translate([0,y,-Protrusion])
		PolyCyl(StubDia,StubDepth + Protrusion);

  }

}

//----------------------
// Lash it together

if (Layout == "Show")
	ShowPegGrid(PegSize);

translate([-PrintOffset,-PrintOffset,0]) AxleEndPlate();

translate([PrintOffset,PrintOffset,0]) AxleEndPlate();

,

5 Comments