I've been trying to create a mechanical claw machine and decided it might be a good idea to start rigging. I've set up the bones too and I've got them parented to an extent but I can't figure out how to pin the blue points so that when I move the bone within the shaft (red bidirectional arrow), the claws grip inwards (green arrows).

EDIT: There is a piston within the shaft that would move up and down. Up to keep the claw open and down to close claw grip. to make it clear - there is no constraint contradiction.

aThe Claw in Question

Them Bones

Any help would be greatly appreciated. Rigging is somewhat new to me so guidance to appropriate tutorials would help.


  • $\begingroup$ the claw closes because of the movement on the piston on the center. The claw part only rotates. . $\endgroup$
    – susu
    Commented May 28, 2020 at 14:14
  • 1
    $\begingroup$ blender.stackexchange.com/questions/86804 blender.stackexchange.com/questions/78170 $\endgroup$ Commented May 28, 2020 at 15:25
  • $\begingroup$ @DoctorDe, please edit your post to make it clearer, does the piston push down the claws axis? ;) $\endgroup$
    – moonboots
    Commented May 29, 2020 at 4:28
  • $\begingroup$ @moonboots the piston within the metallic chassis moves up and down. The chassis would be fixed, as would the blue points in the image. $\endgroup$
    – DoctorDe
    Commented May 29, 2020 at 4:50
  • $\begingroup$ maybe show the 2 steps, because I still don't understand if 1) the piston pushes down the claws axis (blue points move down in global axis) or 2) the piston moves the arms (blue points stay at the exact same global coordinate). My solution was case 1. $\endgroup$
    – moonboots
    Commented May 29, 2020 at 5:08

2 Answers 2


I'm not a very sophisticated rigger, but this looks to me like a 2-bone IK Chain, like an upper and lower arm.

enter image description here

This is a single armature

  • B_Susp, B_Pole and B_IK_Tgt are parented to Root
  • B_Grab has an IK Constraint, target B_IK_Tgt, Pole B_Pole, Length 2, so as to include its immediate parent, B_Susp.
  • B_IK_Tgt has a Limit Location Bone Constraint in its Local (i.e Root's) space, so it can only move up and down Root's axis, with stops to prevent it from going too far.

enter image description here

  • Hunks of mesh are directly (Bone-Parent) parented to the bones:

The Cylinder to Root, its Piston to B_IK_Tgt, The Suspension Arm to B_Susp, and the actual Claw to B_Grab.

Once one arm of the claw is working, B_Grab, B_Susp, and B_Pole can be duplicated and rotated 120 degrees around the Root Axis in (Armature) Edit Mode. This may throw their roll .. ShiftN Recalculate Roll on X-tangent fixed it for me. My first arm was constructed Z-up, in front view.

The meshes can be AltD instanced round to follow, and re-parented to their respective bones.

I'm sure someone knows a way of taking the bones and meshes round together.. maybe they can suggest that, or an altogether better way.

enter image description here

As I said, I'm no expert in the bureaucracy of locking rigs down properly, creating good interfaces for animators, etc, but perhaps this is enough for a mechanism that works.

  • 1
    $\begingroup$ FWIW saw this as the outer piston having the movement. Much of a much-ness. Imagine it still works same moving root. Could you please add a blend? $\endgroup$
    – batFINGER
    Commented May 29, 2020 at 21:29
  • $\begingroup$ @batFINGER Ahh .. I think you're right ... that should just be a question of changing Root? Also, I just thought, I shouldn't be asking Blender to do IK calculations on every arm.. arms 2&3 should be copy constraints? Blend now attached, hope it's organised in an acceptable way.. as I said, no expert there, feel free to improve. $\endgroup$
    – Robin Betts
    Commented May 30, 2020 at 3:59
  • 1
    $\begingroup$ TBH Would take me ages to make this, modelling & rigging rusty rusty rusty. Deciding to go default settings (aka commando) on 2.8 release hasn't helped. Cheers for uploading.. $\endgroup$
    – batFINGER
    Commented May 30, 2020 at 7:57

It can be a challenge to set up such things. But it can also be a challenge to explain how. So I decided to upload a file. This exercise was partly for my own learning, and hopefully you'll learn something too. Maybe you, or someone else can even find where I could have improved upon my effort. That would be welcome.

As others here have indicated, the key to getting something like this working lies in the use of constraints. The biggest difficulty for me is understanding which evaluation space to choose (World, Local with Parent, etc.) However, I find that I can often make one work by playing with it for a while. What I do is, I set up the constraint, and then after it is already working, start scrubbing values back and forth for various fields in the Bone Constraint panel. What I find is that, even if I'm not clear on what space the constraint is evaluating in, I can figure it out by scrubbing through these values. Then I can set my limits, for example, knowing where they will need to be set, because I've already seen the needed values show up when moving objects in the viewport, and so I know what the constraint will do when those values are used. Maybe you could try that. Play with your file more, or play with this one, until you figure something out.


You must log in to answer this question.

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