Even when I was able to create rope meshes in Blender, I couldn't find a way to animate them without adding an excesive amount of bones to the armature. So I decided to generate the rope dynamically.

Helix
All starts with a helix. The radius, length, spacing between turns and direction of the helix is configured.

Vertices
The vertices are calculated around each control point of the helix. The resolution and thickness of the rope is configured.

Mesh and material
The mesh is created from the vertices and the material is assigned.

Load
A load point is added, so now it looks like the rope is pulling the load.

Multiple helices
Multiple helices can be added to simulate more complex mechanisms.

Animating
By moving the load and controlling the total length of the rope we can animate the motion.

Final result: Scorpion
Scorpion shoot animation.

Final result: Onager
Onager shoot animation.

Final result: Trebuchet
Trebuchet shoot animation.
