Laser Cut Adaptable Wire Dispenser in OpenSCAD

I wanted a wire dispenser that wasn’t fixed in place so I could move it to where I was working. To my surprise, such a thing doesn’t exist (I couldn’t seem to find fixed ones either, other than using a kitchen towel rail). Keen to put my new found love for OpenSCAD to use, I set about making such a thing.

The `projection()` command in *OpenSCAD* allows one to easily create 3d objects that can be exported as 2d .dxf for printing
The projection() command in *OpenSCAD* allows one to easily create 3d objects that can be exported as 2d .dxf for printing

OpenSCAD really suits this type of design requirement; something that is going to need to scale user defined variables (the wire reel in this case). I didn’t want to create a design for 6 wire reels from a specific manufacturer, then find they change their spindle, or I decide I need more reels. It’s particularly hard scaling a laser cut box because of all the teeth/dents that slot it together. With a GUI based CAD program, you’d send hours fiddling around with the spacings/length or trying to create patterns – then still ending up with bits that don’t fit together! This is actually my second project in OpenSCAD that I’d bashed together quickly. I’ve got another more complex project to document too.

Well designed OpenSCAD code allows distances to be created exactly the right size by defining the laser kerf – vital for creating slotted designs with glueless tolerances – and for the whole thing to scale gracefully to the new conditions.  I’m not saying mine is necessarily that well designed (i’m still learning!) but it does the job. The header of my wire dispenser code looks like this:

A wire dispenser to these requirements is then created. I’ve created one for the lab and will also created one for my own wire requirements. I’ve listed the code on github if you want to make one/have a look. The real party trick of OpenSCAD is projection(), which creates 2d silhouettes of 3d objects, allowing the code to have a mode which creates an assembly to visually check, and one that creates the .dxf for printing.

For further reading, Matt Venn documents making a CNC cut box with OpenSCAD, which orginally inspired me to look at it.


Leave a Reply