Crossed four bar linkage / knee joint


I’m trying to animate a (crossed) four-bar linkage to emulate a knee joint.
I had a look at the scissor arm tutorial, but it’s not fully representative as it seems.
In a four bar linkage, apart from the basic link (the one being fixed), all other links and hingepoints are moving and their movement is being determined by the other links. So I have no idea how to set the thing in motion with something that can be independently defined.

Example of a crossed four-bar linkage:
knee joint

Anyone has an idea or an example of how to approach this?


You shouldn’t worry about the fixed bar, it’s merely inert ballast.
Once you omit that, you are left with only 3 bars which can be linked in a chain by Hinges. That chain is “driven" (set in motion) by rotating the “head” (Object 0) and constrained by its end to the World by an auxiliary line (Object 3).

Arman’s knee.3dm (93.3 KB)

The terms “driver” and “head” refer to the ‘Whys of IK’ tutorial ( which I hope you’ve seen too.


PS For whoever is interested in Rhino’s Connections Arman’s knee 7-3.3dm (113.6 KB)
No longer worried on how to conceive a linear chain in a tetragonal structure!
Use Bongo WIP in Rhino 7

Hello Luc, thanks for your help.

yes I’ve looked at the “Why’s of IK” before. Thanks for that tutorial as well.

I managed to copy your setup to my geometry, however, the line which constrains the IK chain does for some reason still permit some movement in my setup. I have no idea why that is.

I tried constraining in position, as well as constraining in position, direction and scale. Both options don’t seem to fully constrain.

Included is my own CAD file, with my geometry right next to yours. maybe you can have a glance and find the difference?

Arman Knee joint.3dm (1.2 MB)

Your object 1658 is (probably by accident) marked ‘Joint and constraint’.
It should merely be a joint.


BTW magnificent mechanism!

Ok, thanks for pointing that out. I would have kept on focusing on the line to constrain the chain, not a link inside it.

The mechanism moves as it should, till keyframe 45, which is the end of the animation. However, there is still a bit of movement left between keyfame 45 and 46. (In the physical mechanism -in a real world- this last bit of movement is possible as well, but is blocked through some “stoppers” which are embedded inside the parts. (the red links butting up against the enveloping components)

Inside Bongo, I suspect these stoppers can’t be introduced. Any other way of preventing this?
It’s a small movement, but the linked components will be connected to much larger elements and the movement will be amplified and become very visible.

This animation will also become part of a longer animation, so there’s no option either to just cut off the rendered animation at keyframe 45.

I updated the CAD file to show this movement between keyframe 45 and 46.

Arman Knee joint.3dm (1.2 MB)

The freedom of a Hinge can be limited.

When for Object 1658 the limit is set to Max =135° the motion stops appropriately.


Ok, it works now, thanks!

1 Like