Deluxe pulley for strings and ropes (openscad / parametric)

by MoonCactus, published

Deluxe pulley for strings and ropes (openscad / parametric) by MoonCactus Nov 16, 2012
1 Share
Download All Files

Thing Apps Enabled

Order This Printed View All Apps


Liked By

View All

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

9289Views 2751Downloads Found in Household


This is an openscad script to generate a pulley for strings and ropes. It uses a 608 ZZ bearing (the cheapest and most common ones, used for skateboards and rollers, about $1-2 on ebay).

With the source, you can tweak most of the properties, or use another kind of bearings.

The groove cover, attachment leg and top housing are optional.

I use these to lift bags of bird seed in my garage, out of reach of mices!

The pulley is to be screwed or nailed to a support on its own axis. However, the optional top cover makes it possible to hang it. The last picture show how I reinforced one that lifted about 50Kg.


-- Either --

Use one of the provided set, eg:

  • pulley608_common.stl
  • pulley608_nail3_leg3_cover75_bottom.stl

You'll find diameters of 3mm, 4mm or 3(leg)+4.8mm(axis), and optional top covers. The latter was for my own use with a big axis screw (4.8mm) and a smaller cover attachment hole (3mm).

-- Or --

Download the small and free openscad (www.openscad.org) if you don't have it yet. Open the scad file with openscad, and tune the source code on the left of the screen:

1) Measure "nail_d" as your nail or screw diameter, and fix it in the source (default here is 4.2mm). This nail is the pulley axis, so chose one strong and long enough!

2) You can have a "leg" to prevent the cover from rotating, even though it should not occur if your nail/screw is tight and your string/rope is thin enough not to pull the cover when moving. Set cover_leg_inner_d to the size of a secondary screw (hole diameter), and cover_leg_outer_d for the leg width. The hole is 3mm by default. Set cover_leg_outer_d to zero to hide the leg.

3) Set cover_angular_size to zero to disable the cover, else set it to an angle that will match your pulley usage. Eg. specify 170° for a U-turn or 80° for a right-angle...

4) you may want to change the pulley diameter, "pulley_cable_d". Make sure to be larger than the bearing diameter though!

4) On the end of the script, comment the combined view "show(...)", and uncomment the different parts of the pulley, only one after another.
You need at least two parts: pulley() and cover_bottom().
Finally, cover-top() is optional. It may be useful when you want to hang the pulley by the leg hole (the result will be less robust than securing the pulley by its axis of course, but I added some very thin longitudinal tubes for the slicers to make it more solid).

After enabling a part, press F5 (refresh) followed by F6 (render), and Design/Export as STL.

How to mount the bearing into the bottom part?

Either use a vice, with two pieces of hardwood for example to make sure you you not damage the plastic and that the force is applied correctly.

Or you can use a screw, big washers and nuts as illustrated by the provided picture. Screw slowly after making sure the bearing is very flat against its casing. Use another bearing to push it further in place.

Last resort is a hammer and two pieces of wood. I do not recommend it though as you can damage the bearing casing without seeing it!

Tolerance and printing

If your printer is not properly calibrated, you may tweak "brg_tightness" in the source code. Positive values make a tighter fit, negative values give some free play. This settings impacts both the inner and outer of the bearing (in the correct direction of course).

Default is zero tolerance, and it worked fine on my printer.

Finally, I printed the pulleys with 0.2mm layers, 0.4mm nozzle, 60mm/s and 100% infill. I think it took about 30 minutes at all to print the pulley and bottom part.

More from Household

view more

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

Print through a distributed network of 3D printing enthusiasts from across the US, at a fraction of the cost of the competitors. We want to change the world for the better through technology, an...

App Info Launch App

Quickly Scale, Mirror or Cut your 3D Models

App Info Launch App

3D Print a wide range of designs with Treatstock. Easy to use tools to get the perfect result. The global 3D printing network that connects you with high-quality and fast working print services nea...

App Info Launch App