The swing bar on the right in this image is fairly obvious. I can just use a bone to control how it swings (cyan).
The part I'm stuck on is the actual spring itself. The axle will be about where the 3D cursor is, and it will move up and down (magenta). As it does this, the spring will become more, or less curved. As the spring becomes less curved, it will extend along the y-axis, which is why you need the swing-bar, to accommodate this movement.
It should be noted that the actual movement of the axle will be at a slight angle (yellow). The spring is fixed at one end, so the 'center' will move back and forth along the y axis while the spring expands and contracts.
How can I rig this leaf spring so that the spring retains the same length, and bends/flattens evenly across its length?
Note: I am not concerned about the individual leaves of the spring. In a real spring, the leaves would slide against each other as the spring bends so that they each maintain their length, but I don't need that level of detail.
The first problem is that the deformation across the bones of the IK constraint isn't even. Is there some way to ensure all of the deformation is spread equally across all of the bones? Or to put it another way: The angle between each two bones should be the same.
The second problem is that this is really being driven the wrong way around. What I really want is for the position of the axle to drive the spring, which pushes the swing bar. Here, I've got exactly the opposite: The swing bar pulls the spring, which moves the axle.