I am rigging a set of gears (a car - wheels driving through a differential), and am taking the input as the wheel rotation. I've used parenting and constraints to link the gears. All goes well until I reach the point where I need to have the next gears rotation at 1/3 of the previous gear. Each method I have tried (transformation constraint, rotation constraint, and others, drivers, etc) all result in the correct rotation for only 120 (or 1/3 of a full rotation) before it flips on it's local axis and starts again. This is true for other fractions of the original rotation also. On a rotationally symmetrical gear this may not be a problem, or even visible, but my gear is not. It can easily be seen by selecting the target gear and turning on the local axis view. Does anyone now of a solution to this, to achieve a fluid, full, scaled rotation?
To get an object rotating at a constant rate you need to set two keyframes to define the speed of rotation then set the keyframe interpolation type to linear and the channels extrapolation mode to linear. This gives a constant rotation without speed variation.
To get another gear rotating in time with the main gear it is easy to setup a Transformation constraint. This constraint allows you to copy a rotation proportionally.
Here I have the source rotating
-120 and the destination rotating
360. The key to having it rotate continuously is to tick the extrapolate check box.