I am looking to model a rotational spring, e.g. a balance wheel of a mechanical clock. The [rigid body constraint/generic spring] only allow for translational springs. How could I do this?
This can be done using...
Shape Keys + Curve Modifier + Skin Modifier
Enable the Add Curves: Extra Objects add-on.
Add > Curve > Spiral
Adjust the spiral as you like. I recommend a high step count for a nice looking SubSurf.
Convert to Mesh (AltC)
Add > Curve > Circle
To your spiral object, add the following modifiers:
Curve - Set the object to be your BezierCircle
Skin - Smooth Shading
SubSurf - 3 Subdivision levels
Create two Shape Keys - a Basis one where the spring is fully squished, and a second one where the spring is scaled up on Z, fully sprung... [ahem].
You can then animate the Shape Key slider to make the spring extend.
I did this to model a roll of thick plastic - My way was to create a spiral in adobe illustrator , add a stroke to it, expand the stroke so it becomes one solid spiral shape and then exported it as an SVG file.
I then imported the SVG into blender and extruded it along a single axis.