How to rig this simple machine?

So i was trying to make this “unique fan”. I provided the video sample below, it’s bit low res but i think the mechanism on that machine is still readable :

For anyone there still unclear or cant see much detail in that video, i just made a simulated rig by manually keyframing it to visualize better idea what im asking. Here :

Remember, this is manual keyframe, and i didnt want to keyframe it manually because its so inaccurate, and i wanted that ARM 2 is staying on that FAN ARM hole.

So i tried to recreate it, but I’m confused about how to rig it. I just did make the bones, parent the model to it. There are 2 armatures, 1 on FAN ARM, and 1 is the mechanical arm.
but i honestly no idea how to put constraints on it. Can anyone help me? this is my first rig i tried, for learning purposes.

here is the blend file : revolutionary fan rig.blend (1.1 MB)

here is the simulated rig blend file if you want to see it more clearly the mechanism : revolutionary fan rig simulated.blend (1.2 MB)

What do you want driving the action? What bone do you want to manipulate?

A few comments:

  1. It’s weird to have two armatures for this. You can make it work, but it’s more work (and more complicated than it needs to be) by using two armatures.

  2. Name your bones/objects so that we can talk about it. If I start talking about armature/bone vs armature.001/bone, are you going to have any idea what I’m saying?

  3. Avoid raw bone parenting. When parenting to a bone, choose “bone relative” so that you can change the bone positions.

Basically, what you want here is for the IK to be on Armature rather than on Armature.001.

For a simple animation just like that,
using Action Constraint is enough

don’t forget to add a Control Object with Driver to simplify the making of keyframe animation

Hello! thank you for commenting.

I just provided a simulated rig by using keyframes to see the mechanism I’m talking about more clearly. Here : (i just edit the post too!)

yeah my bad, I just named it in Simulated rig Blend file.

i’m very sorry this is my first time to rig, i actually didn’t catch “You can change the bone positions”, what it do? What’s difference between parenting the bone directly? I can move the bone as well in that bone parent mode. Can you point out the difference?

I’m very sorry for my noobness in this rig world. I’m trying to learn it! thank you.

i just edited the post and provided the simulated rig by using keyframes so can see the whole mechanism work clearly.

Btw, what is action constraint?

hmmm, are you suggesting i should use manual keyframes? I just did, it’s so hard to make that ARM 2 stay at the FAN ARM hole.

Sorry for my newbie level in this rig world. I just want to learn it!

Make two objects and two bones. Parent one with “bone” and the other with “bone relative”. Now move the bones in edit mode. Then leave edit mode. One object moves, the other doesn’t. So when you parent with straight “bone” mode, you can’t tweak the rig without changing the objects.

As long as you’ll be able to understand what I write:

Your updated file doesn’t have any constraints on either armature. What you want is for the IK to be controlling Arm 1 Bone and Arm 2 Bone, rather than Fan Arm like you had in the original file.

First, you need to know what this IK chain is going to track. You have a bone that doesn’t do anything, that’s handy for this purpose, in “bone strayers” (?). Unparent bone strayers. Then give it a child-of constraint targeting Fan Arm and set the inverse. Now it will follow Fan Arm’s action.

(Simpler would be if there was a single armature, then you could just parent bone strayers to Fan Arm. There’s no reason to have two armatures here, but I’m working with what you gave me.)

Next, give Arm 2 Bone an IK constraint targeting bone strayers and set the chain length to 2. Then, disable all the IK locks you put on Arm 2 Bone (in pose mode, properties/bone/inverse kinematics.)

Now, test it out by rotating Fan Arm. When Fan Arm rotates, regardless of its position, your IK chain does its best to rotate to meet Fan Arm.

Now, you may notice that it rotates, but it doesn’t necessarily rotate the way you want. Here’s where it is that you want bone relative parenting: you need to edit your armature to match the positions and axes of your actual mechanical bits:

After that, you can go back to properties/bone/inverse kinematics and place appropriate transform locks (not all locked) on Arm 2 Bone and Arm 1 Bone.