Trouble with constraints for door movement

(Dan Rockstreet) #1

Hi all,
I’m not getting the constraint of a rod on a door with v-arm correctly. See below an image of a real door closer with the corresponding real-life proportions.

To easen the complexity, I’ve tried to make a scheme with three cylinders, where two cylinders move on two individual circumference directions.

  • The main cylinder to activate the movement is Cylinder.010.
  • When this cylinder is turned, Cylinder.009 begins moving according to circle circumference Circle.005.
  • Cylinder.009 in turn “pushes” then Cylinder.008, which in turn moves according to the circle circumference Circle.004.

In the screenshot you can see the parenting and constraint information.
I used limit location (to keep object always on z axis) and limit distance constraints (to keep the same distance of the cylinders to the circles‘ origins).

Cylinder 8 and 9 should always have the same distance. When I begin moving Cylinder.010, all begins good and Cylinder.009 moves along its circle circumference. The same applies to CYlinder.008. Strangely (or for some of you obviously :wink: ), at a certain point, the distance between them gets shorter (red arrow).

Thanks for your expert advice!


(Dan Rockstreet) #2

Apparently a not so easy question :wink:
or is it so obvious? I’d love any help, thx!

(RNavega) #3

Use an IK constraint for arm-like behaviour:

  • The IK target, 008, is parented to the Hinge bone. Rotating the Hinge bone around Z rotates everything else.
  • Make sure the “limbs” of the “arm” are leveled at the same height, or they will bank (rotate around their aim directions) while trying to reach 008.
    You can still embelish this as if it were an actual door-closer where the limbs are at different heights, but the internal bones controlling them need to have the same height.

(Dan Rockstreet) #4

Thank you for your tips!
I haven’t tried IK yet, but I will give it a try now that you demonstrate how to do it.
Have a good weekend :slight_smile: