November 24, 2025
Description
Updated 17 July 2024 - Support for Multi Colour printing
I was inspired by the concept of BuildBug's socket holders created in Fusion 360 https://www.thingiverse.com/thing:4696546 . But after a day messing around with Fusion 360 ( I'm not an experienced user ) I realised I wasn't going to be able to create my own Fusion 360 socket holders. I did find this OpenSCAD model https://www.thingiverse.com/thing:4853582 however it lacked some of the fearures of BuildBug's . So I embarked on creating an OpenSCAD model.
So, what is it
To use you need the socket diameter, depth and description. OpenSCAD then builds a model that can be exported as a STL file to your slicer.
You can find shortcuts for preview, render and STL on the menu bar
The Magnets are used to hold the sockets in place and if you want to make the socket organiser itself stick to a metal surface.
Use N35 or the stronger N50 Neodymium Disc Magnet. The files use 10mm, 15mm and 20mm diameter magnets, get whatever thickness you can e.g. 2mm or 3mm. The Magnets work best when they are about 1.5mm from the socket . Use some cardboard between a socket and the magnets to test how many and what size magnets you need.
Stack multiple magnets together if you find they are not holding the heavier sockets in place.
To make the organiser stick to a metal surface you will need to place some magnets flush with the base, to do this you may need to pack out the magnet holes.
This Magnet Placer helps get all the magnet poles the same way https://www.printables.com/model/485608-magnet-placer-parametric-remix
You print the socket holder and base by commenting out the one you don't want. Then Render using F6 and export the STL using F7
CreateSocketHolder(); // Create the socket holder
//CreateBase( 1.5 ); // Create the base 1.5mm thick
Comment out the CreateSocketHolder() module and uncomment CreateBase(). Then Render using F6 and export the STL using F7
//CreateSocketHolder(); // Create the socket holder
CreateBase( 1.5 ); // Create the base 1.5mm thick
You first need to work out where you want to split the model. If you have 2 ( or more steps ) you will probably need to add a some space between the sockets.
First create the left section by uncommenting SplitLeftJoiner( joinlocation), step_length/2 is the middle of the model and below I have added 5mm to avoid splitting a large socket hole.
joinlocation = step_length / 2 + 12;
//CreateSocketHolder(); // Create the socket holder
//CreateBase( 1.5 ); // Create the base
SplitLeftJoiner( joinlocation ); // Split the model, create the left section
//SplitRightJoiner( joinlocation ); // Split the model, create the right section
If you cannot split it easily, you may need to add a gap between sockets. To do this create a socket with 0 depth and no label. Below adds a 5mm gap.
I found the right side of the split imports into the Prusaslicer with a phantom empty bit of the left part of the model. I had to cut in the slicer before I can slice it. Maybe an issue with the way I'm splitting the model, or a problem with OpenSCAD .
I recommend using paint on supports for the joiner male and female side.
I also recommnend viewing the timelapse gcode built in the slicer to ensure the hidden part joiner is not encroaching on a socket hole.
You may have to file the joiners - which will help rough up the surface for the glue. Glue using superglue or Scigrip Weld-On 16.
Split the base using the slicer at different split location than the model, so the model and base are joined at different places.
I use
You can print the text and body in different colours by exporting them as seperate STL files and combining the STLs in PrusaSlicer
Refer to this part of the OpenSCAD file for your socket holder
// all , text , body
//multi_material = "all";
//multi_material = "text";
//multi_material = "body";
If you are getting an OpenSCAD error
The file structure looks like this:
In this example the socket config file Metric-0.5-Drive.scad expects the include file parametricsocket.scad up one folder ( include <../parametricsocket.scad> ) .
License:
Creative Commons — Attribution — Share Alike
7