I'm looking to model a very basic servo-based robotic arm using IK in blender. I have an armature with two bones (1 joint where the bones meet). I've enabled IK as an Empty on the tip of the last bone, as per the Blender guides.

What I'm struggling to do is limit the rotation of the 2 bones in the armature to the 1-axis that represents the servo at the joint. The first bone should only be able to rotate around the Z axis and always be standing straight up. The second bone should only be able to bend around one axis (either X or Y), based on the current rotation of its parent, the Z axis.

The solution here looks like it would do what I want it to do, but it's an older version of Blender and I'm on 3.6.2.

I've tried IK constraints, but taking the tip of the armature and moving it around, there is no rotation constraint demonstrated. The first bone folds in any direction I pull it, and the second bone appears to have no constraint either.

no constraint

Based on the Z Locked/Track Axis, I would expect the first bone to be standing straight up along the Z axis and only rotate.

  • $\begingroup$ Your linked answer is still accurate, even though the interface has changed slightly. Select a bone and look on properties/bone/inverse kinematics. You will want to lock, rather than limit, the axes you don't want used. Your IK constraint should have a chain length of 2 and no pole target defined. Remember that the axes in IK section are in bone local space not global space. $\endgroup$
    – Nathan
    Sep 6, 2023 at 4:04

1 Answer 1


The locked track constraint is for making an object point towards another object. A solution is to use the limit rotation constraint set to local space.
(edit) I tested this, and it doesn't work with IK. Sorry about that.

Top bone and constraint

Bottom bone and constraint


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .