My most recent knot idea is the 3D print a fid handle in steel which can then be attached to a traditionally lathe turned fid spike. I spoke with my knot buddy, Shane Marks, who does metal and lathe work to create awesome marlin spikes (check out his site, Rhino Ropework). He said if we were going to join a 3D printed knot with a spike that he turned on his lathe, he’d have to tap threads into the knot. What a great idea! I had no way to test it, though. I knew I wouldn’t want to 3D print the final threads, but I wanted a plastic prototype printed with my Makerbot Replicator 2. I set aside the threads idea for the time being, while I first figured out the knot piece.
I had done 3D printed globe knots in steel before like the one below, so I knew it was doable.
To make it a handle, though, I wanted it to have a tapered end. In Freakin’ Sweet Knots, the globe knots are simulated so the spacing of the knot resolves well around the entire globe. I needed something similar for arbitrary shapes. I adapted my globe knot code to project the knot onto an arbitrary Unity mesh collider (though, being roughly convex is really necessary) and simulate over it instead of a sphere. The result was very promising!
To get the handle shape I wanted, I started in blender. Starting with a cube, a couple extrusions and a subdivision surface modifier I quickly had a reasonable handle shape.
After a bit of refining, I had my finished handle shape.
After bringing it into Unity, assigning it a mesh collider and feeding that to my newly minted relaxed collider code. I had a knot in the rough shape that I wanted it!
This is the same knot as the 3D printed stainless steel globe at the top, just mapped to a fid handle shape. This isn’t quite what I wanted as I still needed something to tap the threads into. I relied on my knot tying experience to choose the ideal knot for this situation. The type of knot that knot tyers commonly tie around a fid handle is an asymmetrical pineapple Turk’s head knot (or something like that). You might see this kind of knot tied around a gear shift as well. I pulled out my handy Advanced Grid Maker to design the knot I needed.
This knot will mostly close up at one end with a pentagon shape and have a large circular hole (or at least a 15 sided shape) on the other. That was what I was hoping for at least. I ran it through Freakin’ Sweet Knots and I was right!
This knot started to taper down and allowed for an extra piece to be added which could have threads in it. I cut up my original fid handle shape in blender and added a section on to the end of the knot. Here are a couple test renders.
The next step was getting threads into it. I knew this piece would be handled by the machinist anyway, but I still needed to make my own prototype! I did a search online for 3D models of screw threads and found a few OpenSCAD solutions that were very slow and I didn’t really know what size threads I wanted so I wanted something responsive and fast that I could experiment with. Those OpenSCAD solutions linked to the ISO metric screw thread standard on Wikipedia, which was exactly what I needed to get started on stl_threads. After a couple days of hacking, I had it, my latest addition to stl_cmd.
Several months ago I started putting together a git repository called stl_cmd. stl_cmd is a suite of command line tools for generating and manipulating binary STL files, a very common file format for 3D models when 3D printing. The format is so simple because it’s essentially a list of triangles. To avoid any complicated conversions or high memory overhead, the stl_cmds deal only with binary triangle data (the stl_cmds never need to read in the entire file into memory as it can assume its dealing with a stream of triangles). I started the repository as a way to teach basic command line usage in the 3D printing space. It’s still in its infancy, but I think it could be a handy tool in many 3D printers’ belts. I bring up stl_cmd because stl_threads is its latest addition.
stl_threads generates 3D models of both male and female screw threads of any size (standard or otherwise). This was exactly what I needed to prototype my fid handle. After my couple days of hacking, I needed to test it. Of course my first test had the same dimensions for male and female, which of course didn’t work. I needed some tolerances in there. After a couple tests I decided 12.5% larger female threads gave decent results with the scale I was working with on my Makerbot Replicator 2. Also, the ISO standard defines the thread angle as 60 degrees, which could cause overhang issues on the Makerbot, so stl_threads can change that angle. I used 90 degrees, which results in a 45 degree angle with the ground plane, rather than a 30 degree angle by default. Here’s my first successful threads print, which you can download from thingiverse here.
They were pretty snug after I screwed them together that far in the picture, but now that I have it in my pocket just about everywhere I go to fiddle with it screws nicely together all the way.
I downsized the threads a bit and incorporated them into my fid handle design and gave it a shot on my Makerbot Replicator 2.
Worked great! Now my order is in for the steel version and will be shipped to Shane Marks over in Australia to see what he can do with the spike. If anyone has information about a machinist local to Bozeman willing to try out cool projects like this, let me know! I’ll keep you updated. Can’t wait!