Being the domain expert for adapters between a new vacuum cleaner and old tools, this made sense (even though it’s not our vacuum):

The notch snaps into a Dirt Devil Power Stick vacuum cleaner and the tapered end fits a variety of old tools for other vacuum cleaners:

Having some experience breaking thin-walled adapters, these have reinforcement from a PVC tube:

A smear of epoxy around the interior holds the tube in place:

Building the critical dimensions with a 3D printed part simplified the project, because I could (and did!) tweak the OpenSCAD code to match the tapers to the tools. Turning four of those tubes from a chunk of PVC conduit, however, makes a story for another day.
The OpenSCAD source code as a GitHub Gist:
| // Dirt Devil nozzle adapter | |
| // Ed Nisley KE4ZNU 2021-10 | |
| // Tool taper shift | |
| Finesse = -0.1; // [-0.5:0.1:0.5] | |
| // PVC pipe liner | |
| PipeOD = 28.5; | |
| /* [Hidden] */ | |
| //- Extrusion parameters | |
| ThreadThick = 0.25; | |
| ThreadWidth = 0.40; | |
| HoleWindage = 0.2; | |
| function IntegerMultiple(Size,Unit) = Unit * ceil(Size / Unit); | |
| Protrusion = 0.1; // make holes end cleanly | |
| //———————- | |
| // Dimensions | |
| TAPER_MIN = 0; | |
| TAPER_MAX = 1; | |
| TAPER_LENGTH = 2; | |
| Socket = [36.0,37.0,40.0]; | |
| LockringDia = 33.5; | |
| LockringWidth = 4.5; | |
| LockringOffset = 2.5; | |
| Tool = [Finesse,Finesse,0] + [30.0,31.1,30.0]; | |
| AdapterOAL = Socket[TAPER_LENGTH] + Tool[TAPER_LENGTH]; | |
| NumSides = 36; | |
| $fn = NumSides; | |
| //———————- | |
| // 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); | |
| } | |
| //——————- | |
| // Define it! | |
| module Adapter() { | |
| difference() { | |
| union() { | |
| difference() { | |
| cylinder(d1=Socket[TAPER_MIN],d2=Socket[TAPER_MAX],h=Socket[TAPER_LENGTH]); | |
| translate([0,0,LockringOffset]) | |
| cylinder(d=2*Socket[TAPER_MAX],h=LockringWidth); | |
| } | |
| cylinder(d=LockringDia,h=Socket[TAPER_LENGTH]); | |
| translate([0,0,LockringOffset + 0.75*LockringWidth]) | |
| cylinder(d1=LockringDia,d2=Socket[TAPER_MIN],h=0.25*LockringWidth); | |
| translate([0,0,Socket[TAPER_LENGTH]]) | |
| cylinder(d1=Tool[TAPER_MAX],d2=Tool[TAPER_MIN],h=Tool[TAPER_LENGTH]); | |
| } | |
| translate([0,0,-Protrusion]) | |
| PolyCyl(PipeOD,AdapterOAL + 2*Protrusion,NumSides); | |
| } | |
| } | |
| //———————- | |
| // Build it! | |
| Adapter(); | |
The taper in the code almost certainly won’t fit whatever tool you have: measure thrice, print twice, and maybe fit once …
Comments
2 responses to “Dirt Devil Vacuum Tool Adapters”
[…] the PVC tubes reinforcing the vacuum cleaner adapters required fixtures on each […]
[…] tool adapters for the Dirt Devil stick vacuum cleaner worked fine when inserted into the power unit, but got stuck in the floor brush extension […]