I print with Simplify3D software, using ABS at 100% fill, using a raft, with the beveled screw-holes downward against the raft.
I find that if I print with the spring face down with no raft, the bottom layers spread slightly and that welds the coil's turns together.
The raft peels off fairly easily, after which I tweak the spring coils to crack it loose from its base, and make sure it's free.
I needed such a gadget for several things, but the main problem was a couch with a storage space underneath, where I wanted to store a thick foam pad. The pad will compress to fit, but only if someone keeps sitting on the couch!
So now I've anchored some paracord to the bottom of the couch seat, and screwed one of these to the face of the couch frame as shown in the photo (one right handed and one left handed). Problem solved! Now the couch stays usable all the time instead of creeping open as the foam relaxes.
I used Autodesk Fusion 360 for the design work, and NetFabb to generate the left/right versions by mirroring.
The purpose of the spring is to hold the ratchet wedge in a position where it can engage the string. You can't print a pre-tensioned spring, so it can't by itself do the gripping.
I experimented with the spring gap. It mustn't be much wider than this, because the design relies on the gap collapsing to transfer force from the spring hub to the ratchet that's wedging the cord.
And if it's too thin, you don't get enough space to allow the ratchet to jam against thicker cords.
This version added ratchet teeth to the stationary block too, and that makes it work with softer thinner strings, which formerly always slipped through.
I tried a thinner back piece, but for use on this couch the upholstery wants to bow the back, which lets the cord escape too easily.
The guide slot shown on the top protects from the string being pulled sideways enough to press against the spring and interfere with the grip.
To release the string, just pull it sideways, toward you (away from the couch) and it slips out easily.
To insert a string, pull it through the guide and downward along the edge of the ratchet, and the ratchet will move out of the way, winding the spring a bit, to let the string into the ratchet gap.
There should be simpler designs--please let me know if you think of (and test) improvements!
This was inspired by the NiteIze CamJam adjustable hooks, but that design didn't seem amenable to 3D printing and they don't offer a screw-down version.