Problem Rigging cylinder with 4 Stages

Hi guys!

I am following this forum for a long time. The community is great. I am using blender to make some images and very short animations of superstructures like refuse collectors, tippers etc.

Because I am very new to the rigging and constraints and could not find any solution (there are some good tutorials but not for multy stage cylinders), there is a problem when I try to rig cylinder with four stages. You can find the blend file at the link below.

When moving the top empy there is a delay between stages and also the cylinder rotates around his axis. How can I fix this? Is there a solution with armatures?

I will be grateful for your help. Thanks.

A solution using bones in a nondeforming armature.
The large wire cube is a custom bone shape whose scale controls the piston action. Be careful not to scale in pivot to 3D cursor mode! All other bones are hidden. There are no empties and you are free to drag or rotate the anchor end of the cylinder and everything should go with it.


here’s the file…


Piston_Rig_BA.blend (657 KB)

DruBan thank you very much. But I need to hook the top and the bottom ends as shown on the picture below. Also that red inlet must not swap around cylinder axis when the cylinder passes -x/+x when closing or opening. The application will be same as in the picture.

For this application - where the range of motion is fixed and there’s really no option in the movement except how much raising and lowering is going to happen the best choice is going to be an action constraint, just carefully do a frame by frame positioning of the pieces from full to minimum extension and save it as an action. Then give a bone or object an action constraint and use it to play the action to the degree necessary.

Thanks for your answers DruBan. It seems that I will use the way I did as on the picture with “Copy Location” constraints with frame by frame influence control and some empties. It is working for now till I find out some usefull way.(Still learning constraints :))

For “Track to” constraint; I think that there is some kind of bug, because when target passes from (-) to (+) side on the rotation axis, target and source are rotating 180 degrees.

For “Copy Location” constraint; When you apply this for the object in the middle of two other objects, the first object should stay right at the middle of these objects when influences for side objects are 1.0. But you get that with changing the influence to 0.5 in the Copy Location of the second object. (It can be seen in blend file that I sent at first)

The constraint stack is prioritized so later c’s are applied last.
Therefore if you have a constraint with 100% influence added after another constraint with 100%, the second constraint completely takes over from the first. It’s designed that way.

Think of it as laying layers of image over each other in Photoshop. If you lay a 100% opacity layer over another one you won’t see anything from before, right? On the other hand if the first layer is 100% and the second layer is 50% it will have the desired blending effect.

But you have to consider this: if the first constraint only affects the y rotation and the second one only affects the x rotation then both will be seen at full effect. If later the first one influences x and y, the x influence will be moderated by constraint number 2, but the y influence will still come through unchanged…

@@DruBan … very cool set up nice in effecient… I like it…