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.