Jehannum
Well-known member
Got tired of gridfinity socket holders that almost fit what I needed, so I started rolling my own. I'm about 2/3rds of the way to a full-up parameterized setup where you just put in a list of sockets, their diameters, an overall length, their names, a desired spacing between them, and a name for the tray, and then the code just works its magic to spit out an STL. Work left to do is to get the gridfinity base to auto-size to the height (to the nearest whole grid).
The parameters supplied here are for a set of 3/8" C'man metric deep 6 point impact sockets:
socketDiameters = [18, 18, 19, 21, 22.5, 22.5, 24, 24, 26, 27];
socketNames = ["10", "11", "12", "13", "14", "15", "16", "17", "18", "19"];
binTitle = "3/8\" Metric Deep 6 Point Impact Sockets";
spacing = 1.5;
socketHeight = 67;
(units are in mm)

I got to use recursion to space the socket bodies out, which was fun (I haven't used recursion since I was in graduate school, lol).
The parameters supplied here are for a set of 3/8" C'man metric deep 6 point impact sockets:
socketDiameters = [18, 18, 19, 21, 22.5, 22.5, 24, 24, 26, 27];
socketNames = ["10", "11", "12", "13", "14", "15", "16", "17", "18", "19"];
binTitle = "3/8\" Metric Deep 6 Point Impact Sockets";
spacing = 1.5;
socketHeight = 67;
(units are in mm)

I got to use recursion to space the socket bodies out, which was fun (I haven't used recursion since I was in graduate school, lol).
Code:
function getSpacing(n) = n == 0 ? 0 : (spacing + socketDiameters[n] + getSpacing(n - 1));
Last edited:




