Here’s something that I have to do a lot: “model a piece of antique machinery whose equipment is driven by a cam.” It is oddly-shaped, sometimes a disc but sometimes three-dimensional. And, right now, I’m having to carefully set up actions. But, I wonder if there might be a better way for me. (Blender 2.8, and I’m a fluent Python programmer …) Yes, I’m willing to invest some time into a better solution.
What I’d like to be able to do is to trace a three-dimensional curve, bound (parented?) to the cam, which describes the exact path which should be followed around the cam by some “follower.” Then, I would specify the follower, and indicate which of its local axes is the one around which it is free to rotate. Then, I’d probably designate an Empty, parented to the follower, which describes the point of contact.
Of course, one reasonable solution would then be to “bake an Action,” doing so automagically.
Another approach would be procedural.
One factor in favor of a “procedural” approach is that I really want to specify only the rotation of the shaft, and to have everything else follow-suit even when the shaft rotates backwards or stops. Another is that “shafts sometimes drive other shafts,” so a procedural solution would have to somehow cascade.