# Animating a 3D parallelogram shape with pistons

I have a 3D model of a parallelogram type shape where I am trying to animate the movement the shape would make in case the pistons would be actuated.

The shape consists of a front and rear bracket, both connected with top and bottom axles to a top and bottom structure. The top structure is a fixed structure, and when actuating the pistons (one on each side), the bottom structure will start moving downward and forward, and finally slightly upward (due to the parallelogram shape).

I've been trying to rig this by using bones, but notice that I cannot find the right solution. is there anybody that can help me out?

• Commented Jan 27 at 15:16

It all depends on how you want to control it. Sounds to me like you want to control it from the piston length. I'll do that with two IK chains:

Rest at left, then two poses on right, created only by scaling the "piston" bone. Hierarchy shown on outliner.

The first chain, 3 bones long, goes from piston->ika2->ika3, with rotation enabled, targeting ikT which is parented to root. Rotation keeps this chain ending horizontally.

That leaves the other half of the parallelogram, which could be done in a number of ways. I've used a 2-chain IK targeting ika2. Rotation is not necessary on this chain because it's a fully determined triangle.

ika2 has "inherit scale" disabled because it is parented to piston and we're scaling piston to control the structure.

Note that when using IK with rotation, the IK target should be in the exact same rest pose as the IK constrained bone. Not just the Y axis, but the XZ axes as well. (When making a rotation IK target, I usually make it just by duplicating the final bone, unparenting, and snapping to a cursor to make sure I have exact axes.)

• Thanks for the quick response and solution. I've tried to recreate this but am running into an issue when enabling rotation on the first chain. The parallelogram works by scaling the piston when rotation is not enabled (although the top chain does not stay within the horizontal plane). But when enabling rotation the chain deforms and moves in along the Y axis. What am I missing here? Commented Jan 28 at 14:15
• If enabling rotation changes things, then you're probably missing that the ik target needs to have the exact same rest axes-- not just Y, but XZ-- as the IK constrained bone. Commented Jan 28 at 14:21
• Great, thanks, that solved it! I am now adding the parallelogram to the model and am unsure of the correct way of linking the lower structure to the parallelogram. I have tried parenting the lower structure to the piston bone, when then scaling the piston bone the lower structure does move forward, but "releases" from the front bracket. The lower structure needs to stay within its original vertical plane. Commented Jan 28 at 15:03
• Probably, parent to ikb2 in above picture. Doesn't remain in the same planes-- it needs to swing, it cannot!-- but it remains vertical. Commented Jan 28 at 15:07