Gravity on Patch Cords

I am modeling a modular synthesizer, and I need to create patch cords. Patch cords come in varying fixed length – 6 inches, 12, 18, 24, 36, etc. In real life, the conductor and insulator create a somewhat stiff wire. The longer the cable is, the more gravity should overcome its innate stiffness and cause it to hang. A 6-inch cable plugged in to neighboring sockets forms a near-perfect U and is unaffected by gravity, but a 24-inch cable plugged into those same to sockets droops down eight inches or so.

Photo of a real synthesizer with patch cords of varying length:


I want to place patch cables onto my model, attaching the two ends wherever they go easily, and let the physics simulation handle the gravity and stiffness. I want the cables to be as simple as possible (few objects, easy to duplicate, attach) because I need to create and place many, many cables. I only need to take still shots and the cables do not need to be animated.

I have tried a lot of things but nothing successful. The closest I’ve come (.blend attached) is to use an edges-only mesh, assigning both ends to a vertex group, using soft body and pinning the group as the soft body goal:
patch_cord.blend (1.85 MB)


I can then use the Soft Body Edges – Bending parameter and the Soft Body Self Collision settings to tweak this mesh to behave sort of naturally. There are two problems here though – the first is that this mesh has no geometry, and the second is that different lengths of cable behave differently with the same settings (maybe it’s based on the distance between vertices? when I scaled the mesh up the vertices grew further apart – does the mesh density affect self-collision ball size and stiffness?). My longer cables appear more stiff than my shorter cables and I’m not sure how to address that so that they behave realistically.

I can’t figure out how to make curve with a soft-body modifier attach to a goal. I can hook the curve endpoints, but the soft body simulation apparently ignores the hooks and my curve-based cable just falls away. If I could make a curve behave like these meshes, I think the geometry problem would be solved.

What’s the tidiest approach to these problems?