What's new

Constraints incorrectly reporting "Over constrained"

I have a hinge assembly that is constrained properly, and operates correctly. I insert multiple copies of this hinge into a larger assembly consisting of two boards and four hinges. In this higher-level assembly, the hinges are set to "make flexible", and "Minimum Motion" is turned off.

One half of each hinge is constrained to the first board. I can constrain the second half of ONE of the hinges to the second board. Motion of the two boards is correct, but the other three hinges do not move (of course), because their second half is not constrained to the second board.

When I try to constrain the second half of the three remaining hinges to the second board, Alibre INCORRECTLY reports that the system is over constrained. This would be true if the hinges were not "make flexible", but in the case that the hinges are flexible it is not correct -- nothing is binding the second half of the hinge.

And to preemptively quash the arguments -- No, there are not any problems with the alignments, etc. in the hinges, nor the boards. Every indication is that things are co-planar, parallel, perpendicular, etc. The behavior is that Alibre is only looking at the degrees of motion of the two boards, and not considering the flexibility of the hinges.

Is there a workaround for this behavior? I would consider this a bug, but don't know where to file it.
 

netcp

Member
Difficult to say without Seeing the Assembly. Could you Upload it as a Package?
Have you tried to constrain the 3 remaining hinges to the second half of the first hinge?
 

HaroldL

Alibre Super User
Is there a workaround for this behavior?
The way I have gotten around this issue is to install all the hinge assemblies. Then mate all of the moveable hinge blades so they move together without the second board or panel. Then mate the moveable board to only one of the moveable hinge blades.

Another method would be to spit the hinge assembly and install the fixed blade on the "body" and the moveable blade on the moveable panel. Then mate teh panel assembly to the body assembly. This method will likely not populate the BOM table with the hinge assembly but with the individual hinge blades.
 
  • Like
Reactions: JST

oldfox

Alibre Super User
Here is an old project of mine that uses many hinges in different manners. Open the assembly and feel free to slice, dice and just generally take it apart to see how the constraints work with the different hinges. Which constraints were used, which part was constrained first, etc. etc.

This 'box' will open up into a storage space plus pegboard hangers plus a work bench with vices (not now present) and dog holes.

Play with it, have fun and maybe garner a better understanding of how Alibre works. I've been using it for 15 years now and I'm still learning. ;)

I remember uploading it to the gallery. If it's still there, you can see the different phases of it's operation.
 

Attachments

  • Exercise in hinging.AD_PKG
    6.7 MB · Views: 22
Have you tried to constrain the 3 remaining hinges to the second half of the first hinge?
Yeah, I thought of that, too. It still reports being over-constrained.

One detail I failed to mention in my original post -- If I don't make the hinges "flexible", they all mate just fine with no errors. The panel won't move, of course, but all the constraints pass. The "over constrained" error only happens when I try to make the hinges flexible.

Could you Upload it as a Package?
I hope this is right. I haven't exported a package before. Let me know if it does or does not work.

In the file, I've got the full set of constraints, but some are suppressed. You'll get the "over constrained" error if you try to enable any of them with the hinges flexible.
 

Attachments

  • BackLeafAssy.AD_PKG
    340.6 KB · Views: 11
Here is an old project of mine that uses many hinges in different manners.
Thanks, oldfox. I appreciate the example. I opened it up and had two initial observations.
The first is that you tend to use edge constraints to position your hinges. In my file I'm using face constraints to position them. Do you find that there are differences in the way Alibre behaves when comparing the two methods? When I try to do my file with edge constraints, I have the same problem.
The second observation is that the main assembly doesn't seem to move (drawers and doors don't open, etc.). The subassemblies seem to work just fine if I open one of them separately. Is the main assembly locked somehow, like a puzzle box? Just thought I'd ask before I try to puzzle it out... :)
 

DavidJ

Administrator
Staff member
One hinge is enough to mathematically define how 'door' relates to 'frame'. In real life it's typical to have more than one hinge - but if we do that in an assembly the door to frame relationship may be duplicated when the constraints are added.

Think of it another way, its very easy to create a circular loop of constraints (like a snake eating its own tail).

The constraint solver doesn't like these situations.
 
@DavidJ: Yup. I understand completely. I want to know how to (effectively) tell Alibre that the four hinges should all behave the same. The only way to do that (mathematically) is for Alibre to include the subassembly flexibility in its equations. It needs to recognize that the second half of the hinge is not constrained due to its flexibility.
 

DavidJ

Administrator
Staff member
Stefan - Harold reported that his method works, that's good enough for me. It is also logical as it avoids creating the 'loop of constraints' mentioned earlier.

Did you have a point to make?
 
I am seeing this (with V21) as well. I have a "SubAssembly" that keys everything within the "Assembly." It is constrrained using the "Z-Axis," the "XY-Plane," and the "Y=Axis." It reports as being "Over Constrained" as well. It worked fine with V20. -- Lew
 

oldfox

Alibre Super User
One hinge is enough to mathematically define how 'door' relates to 'frame'.

True.

It needs to recognize that the second half of the hinge is not constrained due to its flexibility.

True.

Do you find that there are differences in the way Alibre behaves when comparing the two methods?

2 face constraints won't produce a solid constraint. It will still be free in that 3rd vector. 2 constraints will produce a locked constraint.

The way I have gotten around this issue is to install all the hinge assemblies. Then mate all of the moveable hinge blades so they move together without the second board or panel. Then mate the moveable board to only one of the moveable hinge blades.

This idea works. Takes a lot of constraints.

Another method would be to spit the hinge assembly and install the fixed blade on the "body" and the moveable blade on the moveable panel. Then mate teh panel assembly to the body assembly.

I don't think you will be able to move the movable panel with respect to the fixed panel.
 

Attachments

  • BackLeafAssy V.2.AD_PKG
    406.4 KB · Views: 4

oldfox

Alibre Super User
It is constrrained using the "Z-Axis," the "XY-Plane," and the "Y=Axis." It reports as being "Over Constrained" as well. It worked fine with V20. -- Lew

The 2 edge constraints to the axes would be enough to lock the assemblies. The face constraint to the plane would be the culprit that would trigger the "Over Constrained" message I'm thinking.

I've been using the 2 edge constraints for a long time, through a few versions and it always works for me.
 

idslk

Alibre Super User
Hello Chris,

well done. I've added the limited angle constraint for the hinge angle (0-180°)...;)
I also knew this "work around" (and have to use it to get things constrained), but this isn't obviously for a "beginner" and not user friendly. May it could be optimized some day...

Regards
Stefan
 

Attachments

  • BackLeafAssy V.3.AD_PKG
    406.2 KB · Views: 5

oldfox

Alibre Super User
Hi Stefan,
Thanks. I'm still working on learning the new constraints. Just another step on the learning ladder.
 

HaroldL

Alibre Super User
Well this disappointing, I did have an assembly, built in v 2019, that had a couple of hinged doors that did work with the method I described. Now when I open it in v21 I cannot get it to move at all let along like it did before. Not sure what, if anything, changed in the constraint tool but it seems more sensitive now and will over-constrain a lot easier.

The best I could do, short notice, is recreate an assembly that has the hinge split between the frame and the door panel.

You didn't mention that you had a hidden hinge. My example is just a simple leaf hinge. That design has a lot of constraints just to keep it together. :eek: Splitting that hinge design is impossible.
 

Attachments

  • SeparatedHingeExample.AD_PKG
    274.7 KB · Views: 3
Thanks to all for your help!

As best I can tell, the final example from @idslk has two primary differences from my original:
1. It uses a coaxial edge constraint instead of coincident face constraints.
2. It deletes the angle limiting constraint from the hinge and puts it in the assembly instead.

It still seems like there's a hole in the constraint solver equations for the Alibre folks to resolve. The new constraints (which work) and the old constraints (which didn't) *should* have resolved to the same conclusion. And the quirk that the new limit constraint on the angle needs to be applied at the master assembly level instead of the sub-assembly level seems like something isn't quite right somewhere. Regardless, I appreciate everyone taking the time to have a look at this for me and providing a workaround.

That design has a lot of constraints just to keep it together. :eek: Splitting that hinge design is impossible.

*Laughs* Yes, it is complex. Not quite impossible to split, but definitely ugly. :)

Thanks again!
 

NateLiquidGravity

Alibre Super User
My first instinct and the simplest thing to do with multiple things in a line was to do a linear pattern on the hinge assembly but that did not work - the 'make flexible' positions were not carried through the pattern. o_O
 
Top