I'm trying to rig a Walschaerts valve gear, which looks like this:

enter image description here

I've got some of it working, but I can't figure out how to get the combination lever (the mostly vertical bar between the wheels and pistons) to be influenced from both sides while attached to the valve stem (the upper piston) which it rotates about. The point where the valve stem attaches to the combination lever must not move vertically on the z-axis, but does need to move horizontally along the y-axis, which is what controls the valve stem.

enter image description here

I've got one IK constraint on the large yellow bone + the two bones guiding the lower piston. I have another IK constraint on the small yellow bone all the way through the two bones controlling the upper piston. I just don't know how to influence that from the top as well.

I've tried adding another IK constraint to the bone beneath the highlighted radius rod, but I can't get it to work. I basically have one rod, and each end needs to be acted on by a different IK constraint.

In case it is of use, here is my blend:

  • 4
    $\begingroup$ Hi, pasteall will remove your file after a few months, it is preferred to use Blend-Exchange for uploading .blends to the site, as files are not removed and questions/ answers don't eventually lose relevant information for future users. $\endgroup$ – Timaroberts Nov 18 '17 at 4:11
  • $\begingroup$ I believe you should simplify the question since the circumstance is very complex and difficult to understand. By the way, have you tried drivers? $\endgroup$ – Allosteric Nov 20 '17 at 23:19
  • $\begingroup$ I am confused because scrubbing your animation seems to show that the point where valve stem bone attaches to the combination lever low bone is not moving in the z direction. I suspect I don't understand your question. $\endgroup$ – Marty Fouts Aug 10 '18 at 21:58

I think the problem is that you have the valve stem and crosshead rigged to move together. In an actual valve, the motion is more complex

I'm not good at drivers, but what I think you need to do is match the actual cycle more closely.

Using the animation from wiki starting with the valve stem all the way to the right end of its cylinder, the piston end of the cross head in the middle of its cylinder

  1. Steam enters, pushing the piston to the left end of its cylinder
  2. As the piston approaches the end of the cylinder the various mechanical linkages pull the valve stem to the left.
  3. Once the valve stem is all the way to the right, the direction of steam reverses. This reverses the direction of the piston.
  4. The piston moves all the way to the right
  5. Mechanical linkages pull the valve stem to the left

end of cycle.

A driver that causes the cylinder head to move as if it were driven by steam and a set of bones that match the actual mechanical linkages, down to parenting, should cause everything to behave properly.


I reversed the IK on the lower linkage near the piston, created the bones and an IK system for the switch (plane.001) at the top of the system, You'll notice that I doubled some of the bones. In order to deal with the IK being calculated last in the modifier stack I had to parent the IK bone to a double of the actual target with a copy transforms modifier.

I know that I'm explaining this horribly, so here's the blend file.

Is this what you intended?


Have you looked at Damped Track or TrackTo? I looked at the blend file. I'm going to try to do something with it. It looks like the armature is parented incorrectly. Have you considered having two different armatures? I remember when I animated a wishbone suspension system I had a lot of parts that moved together but separately. I used 3 armatures per system. One to control the strut, one for the upper control arm, and one for the lower control arm. I think your upper, what I'm assuming is the exhaust and intake, piston needs to have a separate armature but link them with tracks. If I have time I'll try to edit this to make it work. This does look like a complicated setup. But one thing to note in the future is power flow. Just add in bones to act as force transmitters. Then you can have one driver "pushing" the whole thing.


Your Answer

