How could I rig this with just Constraints?

Hi guys, I’m hoping someone can help me specifically because when I look up rigging, I am mostly finding things about bones and IK etc.
I’m hoping this file can be rigged with just Constraints? I have read about some of the important constraints and I’ve been trying lots of combos but can’t get it to work exactly how I want.

I want to be able to lift the middle “block” and have the 2 side blocks slide inward and the “arms” rotate up so everything stays connected.Rigging_Practice_A_01.blend (1.1 MB)

Thanks in advance!

Transormation constraints should do the work.

Thanks for the reply! :smiley:
I did try those out a little bit, I left my ones on there so you guys could see what I did. I’m just not sure how to make it work exactly, I am having problems where the pivot of the arm moves upwards as the middle piece does. How might I fix that issue?

Actually I am getting somewhere with this but it needs to be finessed as the hole isn’t staying over the cylinder. I will reupload. Rigging_Practice_A_01.blend (1.0 MB)

Hey, Using constraints alone will not get you what you want, this type of animation movement is not a 1 to 1 linear curve but a sine wave. At the minimum you will have to create a driver or a keyed frame movement so you can modify the curve to be sine. Here is a link to a modified file with a couple different ways to accomplish this. Post back if you have any questions.

https://drive.google.com/open?id=11MH8Q1Xm-pc39cL67XM-tLR8MeCZt7y_

Wow, those looks like some really elegant solutions, thank you so much! I like the layer 5 one, how did you make that a sine wave animation exactly? It seems like you used Damped Track on the arm? (it took me ages to even find that! :D)

Hey, I just added a ‘damped track’ const to your part (link) which is ‘parented’ to “Empyt.001” which has a ‘driver’ (delta X loc) pointing to “Empty” (Z loc). As far as the drivers ‘curve’ goes, I modified it manually.
When you add a driver, 2 points are created, I add points to it with CTRL + CLICK, move the point to desired location, repeat.
NOTE: I did this very quick which resulted in a bit sloppy - I should of spent a little more time adjusting it - sorry for that.

Thank you very much, I’m learning a lot. I have started again and I have the 2 empties set up with the Damped Track (which I will read about exactly what that is soon) and the parenting. Now I put the driver in on the Delta X:
Screenshot%20from%202019-03-13%2011-35-48
I just need to fix the curve now, I’ll read about drivers more later.
Thanks again!

Your welcome
I’m just going to elaborate on a few things here - Delta Transforms = I use this over the regular transform field on ‘Emptys’ because if you clear the location (Alt + G) it will go to the ‘global’ 0,0,0 and that’s not what we want, if you zero out the ‘delta’ field it goes back to where it was placed.
Adding points to the curve must be done with in the 2 that were created otherwise they have no influence.
How to get the correct ‘curve’ ? I used an armature set up with 3 bones (vertical (parent of link), link, horizontal), every time I moved (Z) the vert_bone 1bu up, I rotate link_bone to keep its tail on the same plane as horz_bone and add a point to the curve of horz_bones driver.
Well I have rambled on enough I think …