Animating along odd angle?

Specifically this:

The outside motion of a steam locomotive, the 2 long ones (The coupling rod and the con rod) are simple enough, except for the smaller one:

This is the crosshead, it’s what goes in and out of the engine’s cylinder, some are at 90 degree angles but most, like this, are at an odd angle. It’s simple enough to animate one if it’s 90 degrees along one of the axis, but I’ve found it absolutely irritating to try and animate one like this.

To do so I’ve had to animate it one frame at a time, creating new Loc keyframes each time, or as I’ve discovered going for LocRot for the conrod, which gives it it’s animation, but for some reason screws up it’s timing and positioning in the animation.

I’ve never seen anyone ask about this kind of thing before and I’m stumped, is there an easier way to animate something like this?

Set the object so it aligns with an axis
Add an empty at the location you want to rotate the object
Parent the object to the empty
Rotate the empty to the correct angle
Animate your object

How are you rigging the cylinder? Normally you would use an IK chain with a stroke bone, that can stretch but is constrained in the bone’s Object > IK panel so it cannot rotate, then pull on the target bone with the crank. That way the rig can be at any angle you chose. The motion is then all controlled by rotating the wheel, which moves the IK target, which in turn moves the piston. The piston bone is parented to the stroke bone, but does not inherit scale or your piston will scale as it slides. I am away for three days now, but if you cannot solve it, I will post a simple steam engine cylinder rig when I get back.

Cheers, Clock.

I forgot to say there is a undercarriage tutorial on my website that shows you how to rig cylinders.

Cheers, Clock.

AsI have not heard anything from you I presume you have not solved it yet so…

OK here it is - almost everything you ever wanted to know about rigging a steam engine. :eek:

First a picture. I like pictures:

Some things to note:

The wheel connecting rods on any x-6-x steam loco MUST be in two bits to allow the wheels to move in the Z direction over uneven track, or it will bend.
The middle drive wheels do not have any flange - it would b****r the track and wheels totally!
The mid point of the piston stroke should point towards the centre of the driven wheel to which the con rod is connected, so you get even drive.
The two sides should be 90 degrees out of phase - remember steam cylinders are double action, effectively a “1 stroke” engine!

Here’s the blend file, I will answer any questions you may have. You should know from this how to rig any wheel combination and how to rig the body parts. I have included a curved bit of track. To drive the rig, simply move the “Empty-control” object (hint - it’s on one of the undisplayed layers) or just press Play to see it operating. The valve gear is pretty straight forward once you have got your head around this bit, so that’s your homework. :ba:

Enjoy! :smiley:

steamtrain.blend (1.28 MB)

Cheers, Clock.

PS. play close attention to bone parenting and driver values…

PPS, Curiously enough, someone else had the same problem, so I posted the same answer in his thread!