three-way rope lock

by Doxin, published

three-way rope lock by Doxin Dec 2, 2012


Use This Project

Give a Shout Out

If you print this Thing and display it in public proudly give attribution by printing and displaying this tag.

Print Thing Tag

Thing Statistics

6951Views 1770Downloads


simple three-way rope lock, only locks once all three components are slid together. the top and bottom parts are held together using dovetail joints while the third part locks them and itself together. I probably should have made the slanty cube a dovetail as well to prevent it popping up.


to assemble
print using the correct settings for your printer. I used 10% infill and 0.2mm layers. get a ~3cm m3 bolt and screw it first through the loose eyelet, then pass it through the part with the female dovetails, then add a spring and finally screw it into the small slanted cube. make sure that the cube is still within its guide when the spring is fully extended.

to lock:
slide together the dovetails, then insert the locking pin from the bottom. you should hear a click as the pin mates.

to unlock:
pull on the eyelet connected to the locking pin and remove the pin. the dovetails are now free to slide out.

All Apps

Auto-magically prepare your 3D models for 3D printing. A cloud based 3D models Preparing and Healing solution for 3D Printing, MakePrintable provides features for model repairing, wall thickness...

App Info Launch App

Kiri:Moto is an integrated cloud-based slicer and tool-path generator for 3D Printing, CAM / CNC and Laser cutting. *** 3D printing mode provides model slicing and GCode output using built-in...

App Info Launch App
KiriMoto Thing App

With 3D Slash, you can edit 3d models like a stonecutter. A unique interface: as fun as a building game! The perfect tool for non-designers and children to create in 3D.

App Info Launch App

Quickly Scale, Mirror or Cut your 3D Models

App Info Launch App

added some holes for the bold:
add three cylinders as last lines in the difference() sections

modulde lock()

translate([2,5-play/2,5-play/2]) rotate([0,90,0]) cylinder(r=1.5, h=10);

module plate1()

translate([37,25,layersize*2]) rotate([0,90,0]) cylinder(r=2, h=10);

module unlock_eyelet()

cylinder(r=1.5, h=4);

I haven't tested this, but what does it do exactly?