Walschaerts Valve Gear

I am hoping someone can give me some pointers on rigging this valve gear. I’ve got a start on it, but now I’m stuck. For the non-train people, this is what all the parts are called:

I’m having trouble with the radius bar and everything it interacts with. One end connects to the combination lever, the other end to the lifting link, and a connection point in the middle moves with the expansion link.

This video shows the final result. Importantly, around the 3:50 minute mark you can see him adjust the lifting link so that the radius bar touches on a different part of the expansion joint.

It seems like I need two IK constraints interacting with each other in order to get the valve stem guide moving correctly, but I’m not sure about it.

The bone parented to the expansion link sticking out to the left roughly orthogonal to it is along the radius of the expansion link. I’m fairly certain I’ll need a bone there (maybe flipped the other way?) for shifting the radius rod up and down the link.

Where is the combination Lever and the wheel it’s supposed to be attached to in your model?

This is the combination lever. It isn’t attached to a wheel directly. It is attached to the union link at the bottom, the radius bar at the top, and the valve stem just below the top.

I decided to upload the valve gear part of my model. Nobody has had a clue how to rig this on 8 or so forums I’ve asked on, so it seems like it’s probably really complicated.

http://pasteall.org/blend/index.php?id=48427

I do, and have downloaded your model, give me some time to work on it.

Cheers, Clock.

Well, without the benefit of an accurate drawing this is my first shot at it, there is a discrepancy in your geometry that means the mechanism doesn’t flow smoothly, i.e. the rod to the control lever pulses slightly.


In order to refine it I will need an accurate drawing, BTW have you looked at the video you posted closely, they have “fudged” the mechanism for the valve stem, i.e. not rigged it properly. I also have fudged this area a little, given the level of accuracy from your model, sort that out for me and I can refine the rig. You need to think about putting the LH bones on the left of the model for when you get to rigging the RH side, remember the two sides are 90 degrees out of phase.

So to the blend file: WVG Demo.blend (1.22 MB) :slight_smile:

You need to check “Autorun Python Scripts” in User Prefs => File Tab as I have added a driver in there to rotate the wheels. The odd shaped bone is used to set the speed and reverser, just press Play and move this bone up and down to see the effect. Any questions, just ask.

Cheers, Clock. :eyebrowlift:

I’m glad you took this on, Clockmender. I think I figured one of the issues with my own train rig by checking yours. I had some difficulty with the expansion link and control links. Luckily, I was not going for complete accuracy and was able to fudge it enough to make it look plausible. Your solution shed some light on where I went wrong.

Good stuff! Thanks!

Thank you so much guys. I’m going to take some time to study this and see if I can fix those issues. I modeled it right over the blueprint, but I’ve found most of the blueprints are crap.

This one works better, even better if the Combination Lever swings equally either side of vertical as shown in the top armature:

WVG Demo.blend (1.26 MB)

I wil look at other solutions, but I cannot get it “perfect” owing to the nature of Blender Bones. If we had one with a midway turning point it could be made perfect!

Cheers, Clock. :slight_smile:

PS. Thanks for the kind words @DanPro, pleased to help…

I find with a lot of blueprints, particularly ones like the first post, that they are not accurate and are designed for clarity rather than function - this is a major problem for riggers in that they will not work in practice, but show the principle nicely.

I found this guy who rigged it on youtube in an odd way. He sort of faked the movement of the pistons by having them rotate at the ends of very long bones instead of having them slide in and out.

He rigs the combination lever such that it does rotate about the midpoint, but I’m not sure what he did exactly. Does his method only work with the rotating pistons compromise?

He begins talking about the part in question at 31 minutes.

I am not sure if bones and IKs are the right solution here. With complex mechanical rigs like this it is often better to use a bunch of empties that interact with each other via expressions in drivers.

You cannot make that sort of comment without providing the goods :slight_smile:

So, we eagerly await your blend file Sir!

Cheers, Clock.

EDIT:

@Rekov:

I am not sure the mechanism stands up to scrutiny if the combination lever rotates about its mid point, I think it should rotate near to the top end, or the valves won’t work properly. I too tried letting the valve stem rotate slightly, the distance to the fulcrum is largely immaterial since the stem is still rising at the combi-lever end. There is no need to let the piston rotate at all, BTW. What I attempted to do was to minimise this rise and fall so it looks almost right, this required that I move the combination lever so it rotates equally either side of vertical for the best result.

This can be done with complex geometric calculation, but it is very complex and does not really add significantly to the rig’s look at feel. I tried to leave the IK trains almost as is and then manually (via a driver) move the valve stem to where it should be. The maths was pretty horrendous, taking account of the speed control and reverser, so I abandoned the idea. Interestingly enough, this is really easy to build with Meccano and for it to work properly, but sadly, Blender is not Meccano…

If we had a bone that could rotate about a point in-between head and tail and stay straight, with two IK chains pulling it sideways from each end, that would work perfectly, but we don’t have such a bone. Two bones parented together inheriting rotation, or two bones with Copy Rotation Cons won’t work because the IK chains ignore them completely BTW. I will investigate whether one could put an object in an IK chain, its a very long shot though.