I think I found a setup that will work. (Kind of hard to visualize what you’re saying.)
Try watching the linked video and reading this post together.
12mb video, .mp4
You want the top and bottom to stay parallel, and the left and right to stay parallel, while the left and right bars rotate.
First I added a bone, (the left bar), then duplicated that, making a right bar. Then, I added a Copy Rotation constraint to the right bone, that copies the rotation of the left bone.
Which means, wherever the left bone rotates, so does the right bone. That solves problem #1.
Next, you wanted a top bar that stayed parallel to a bottom bar that stuck between the left and right bars. I added a top bone, and parented it to the left bone. Which kind of solved our problem: the top bone stuck with the left. But what about the right? I added a Stretch To constraint on the top bone, the target being the right bone.
But if you do that, you get a problem. Notice the top bone will jump to the bottom of the right bone. That’s because Stretch To will stretch the bone to the base of the target bone-that’s a problem. Flipping the right bone 180 degrees won’t solve this problem-because the rotation will be screwed up when the left bone rotates. So how do we fix this?
First remove the Stretch To constraint. Then, by duplicating the right bone, rotating THAT 180 degrees, and parenting it to the regular right bone. This creates a bone that moves wherever the right bone moves, but with the base at the top.
Which is perfect, because now if you do Stretch To on the top bone, targeting the inverted right bone, it will work nicely. Solves Problem #2.
(Explanation: Stretch To makes the constrained bone’s tip stretch TO the base of the target bone. By parenting the constrained bone to another, the base stays with the parent, while the tip goes with the target.)
Last problem: bottom bone moves everything, often referred to as a “Root” bone, or master bone. Just create a bone where you want the bottom bar to be, then parent the left and right bones to the bottom, and now the bottom will move everything. You don’t have to parent the top bone to the bottom because that’s already parented to the left.
Now if you create vertex groups with the respective bone’s names, you can deform a mesh with this armature setup. Ta-daa!
Anyway, I know you don’t want to read all that text. So I linked a video and attached the .blend file.
Hope I helped!
(A tip: If you name the vertex groups the exact same name as the bones, they will automatically deform respectively, if the object is parented to the armature.)
Solution.blend (257 KB)