What's new

Constraint Over Defined

Art K

Member
I have been having problems constraining parts in an assembly. I have a cover that gets mounted by screws onto a case. I constrained one hole and mated the two surfaces BUT I can't seem to constrain another set of holes on the opposite side so that the cover doesn't rotate on the other holes I have aligned. If you grab it right you can rotate the cover on the holes that are aligned. I did manage to constrain one pair of holes on the opposite side cover after leaving it alone most of the week. But this side eludes my efforts. I did see on the forum that this has been a "math problem" that is ongoing, and sometimes trying them in the reverse order solves this but, reverse order on 6-8 sets of holes deleting each fail in between is a bit much.
Art
 

oldfox

Alibre Super User
Let's assume that you are mounting a blind flange on a pipe flange.

1. Mate the mating faces.
2. Align the circular faces of the flanges.
3. Align ONE set of holes.
More aligns of holes is not necessary.

The blind flange should now be constrained in place. You can anchor the "pipe flange" and see that the blind flange is in fact constrained.

In the case that you have a square box, for example, with a hole in it that you want to cover, do the same thing but use the "reference Planes and Axes and not the circular faces (step 2 above). The rest is the same.

This is not a math problem.
 

Art K

Member
The two parts are a crankcase and a finned cover that has 12 holes mounting it in place. Clearance holes in the cover drilled & tapped in the crankcase. Yes it remains in the same plane but pivots on the align constrained holes. Granted if I don't click on the cover and shift it around it stays put but....
Art
 

oldfox

Alibre Super User
Hi Art,

OK. I understand that you have a mate constraint between the crankcase and the cover for the 2 mating faces. Correct?

Also you have ONE bolt in crankcase and cover with an align constraint. Correct?

If that is all of the constraints you have in place then you haven't constrained the cover in any rotation about the crankshaft for example.
It is free to turn about the bolt just like you are seeing. A second bolt constraint would hold it in place. Do you actually have threads drawn in the crankcase holes with a helix?

Can you package the 2 parts and upload it so we can see the constraints and other features to figure out what is going on?
 

JST

Alibre Super User
Most important thing to do when you have that problem is to check concentricity.

1) set dimension resolution to 6 places

2) measure the distance between the hole in the cover you have aligned already, and the hole you want to align. Do the same with the two holes in the case.

If it is possible to align them, those distances will be the same. I have found in repeated cases, that the holes check out to 6 places as the same distance apart, but they will not align.

Then you have to determine if there is an angle (to 6 places) different between the cover holes and the case holes.... they COULD possibly be at different angles, in which case they likely should not have measured as the same, but check anyway.

If they check out as the same distance, and do not have an angle problem, then you have run into the math or decimal place problem that I claim exists, despite the fact that many deny this.

In that case, you may need to re-make whichever of the parts is easier, or at least delete the holes, and probably put the holes in again by a "project to sketch" procedure. That SHOULD make holes that are in perfect alignment.

However, I have a couple times seen holes that were aligned by project to sketch, and measure the same distance to 6 places (all you can see), but which Alibre still claimed were not possible to align. I say it must be a problem in that the software is using more decimal places for determining alignment than are visible. That or the routine for finding that alignment has a math error in some circumstances.

First check that they are supposedly in the same relative place. I find that about 99.9% of problems are legitimate misalignments that have occurred for some (usually a stupid oversight) reason.
 

oldfox

Alibre Super User
If they check out as the same distance, and do not have an angle problem, then you have run into the math or decimal place problem that I claim exists, despite the fact that many deny this.

My post above tells how to make the constraints work. Not a denial of your math/resolution claim. If for example the crankcase and cover use
the same reference for the parts, (e.g. crankshaft centerline) then any bolt hole pairs on the same distance and angle from that reference will constrain.

There are ways to draw parts that do not rely on displayed nor entered dimensions. I let the Alibre geometry work for me rather than entering
numbers. Copy/Paste between 2 parts has always worked and never failed in my experience. This is at the drawing stage, not after the parts are
already drawn and dimensioned.
 

DavidJ

Administrator
Staff member
You could use 'side' faces of cover, or it's reference geometry to either do all the positioning, or maybe fix one hole then place an orient constraint to prevent it rotating. That way you aren't reliant on hole positions being exactly consistent between cover and case.

It'll also avoid accidentally creating circular dependencies (a common cause of 'over-constrained').
 

JST

Alibre Super User
....... If for example the crankcase and cover use
the same reference for the parts, (e.g. crankshaft centerline) then any bolt hole pairs on the same distance and angle from that reference will constrain.

........

It would be good if that were in fact true. It "USUALLY" is true.

It is not "always" true. Sometimes Alibre just seems to decide that they are not "constrainable", and that's all she wrote, you need to start over,

You may get away with making some sort of edit to one of the parts, just to get the numbers to change a bit, at which time it may constrain, even if there was no actual change (edit distance, then edit back to prior value). Deleting the part from the assembly and re-inserting it may work.

If the part being constrained rotated around another part, freely, there is no angle problem, and the features involved in the constraint are coaxial, then yes, it SHOULD constrain.

Some times it just is not going to work and you need to use different features. It is rare, but it happens, even with features literally projected from one part to the other.

This is assuming there is no issue with an anchored part, or other non-obvious prior constraint that conflicts.

Also, make certain that the resolution on distances is set to 6 places. I have seen cases where I entered a number, like 100mm, and when I look at the actual number Alibre is using, for some unfathomable reason, it actually shows 100.000041 or some other tiny amount different from what was entered. I can guarantee I never put in the number, but there it is.
 

oldfox

Alibre Super User
If for example the crankcase and cover use
the same reference for the parts, (e.g. crankshaft centerline) then any bolt hole pairs on the same distance and angle from that reference will constrain.

It is not "always" true. Sometimes Alibre just seems to decide that they are not "constrainable", and that's all she wrote, you need to start over,

Could you show us an example of that following the conditions I stated?
 

JST

Alibre Super User
I did some time ago, I do not have any examples right now. It generally happens when the work needs to be gotten out for a client, so I do not carefully save things.

I have satisfied myself that there is absolutely no reason for a problem... The measured distance between the holes, studs etc is the same to 6 decimals, and there is no angle between them.

If you are requiring more than that, well, I dunno. If it is as I say in last paragraph, there is no excuse for it not fitting.

Sorry you do not believe I am telling the truth, can't do anything about that, don't care to try.

The typical case is a diagonal brace.

Measure distance.
Create brace, using that distance between holes.
Attempt assembly.

Generally, it will assemble. Nearly every time it is fine.

Sometimes it does not work. In those cases, Alibre reports the exact same distance between holes in both parts. Alibre reports the hole bores are parallel and at 90 deg to the surfaces. All reports are to 6 decimals, i.e. the maximum resolution reported, and the maximum resolution you can specify.

There is, and can be, no excuse for that behavior, because everything has been done right.

The only explanations that seem applicable (other than a plain user error) are that:

Alibre is using more decimal places to assess alignment than can be viewed or entered (this is, of course, stupid and unacceptable if true).

or

Alibre is not directly comparing the dimensions, but instead is doing some sort of sequence of mathematical operations to evaluate the equality of distance, and is coming up with a number that is different from the measured number, or the entered number. That could be a rounding problem, or any of a number of other possible causes. (in that case, the program has a mathematical fault).

You may feel free to come up with any other theories that you wish to, but it does happen, and it is a problem. I have had to resort to "faking" the alignment, knowing that any misalignment that is 6 or 7 digits out cannot be measured accurately, let alone affect an actual physical alignment for just about anything. Doubly so, as I am usually doing some steel construction model and drawing, with tolerances of 1/16".

One way to avoid this would be to allow the user to SET the number of places, or the minimum absolute distance, to which the program will check the alignment in assessing a constraint. Obviously, with steelwork, a setting of 0.001" would be perfectly acceptable for nearly any structure, even including possible resulting errors.

Another option would be for slotted holes, where the alignment could be specified in one direction only.... since such slots are usually used with a round hole alignment. The round hole locates the part, and the slot secures it against rotation, and so the slot would only need to constrain across the long dimension.
 

oldfox

Alibre Super User
The Horiz, and Vert, braces were dimensioned in length by simply arbitrarily punching in some random numbers.
The "Measured Diagonal Brace" was dimensioned with the inputted MEASURED distance to the corners.
The other Brace was dimensioned with the Copy/Paste MEASURED distance to the corners.
Both methods constrained. So I don't know what to say.

The next time you have an instance of a diagonal not constraining and you have the time to save it, package the 3 pieces and post them
here in the forum, please. I'd like to play with them.
 

Attachments

  • Square Corner with Diagonal Brace.AD_PKG
    176.8 KB · Views: 5

JST

Alibre Super User
OK.... it is certainly not something that happens often, I may have had it 4 or 5 times in the past year. Of course, each time it was a pain to deal with, but then I recalled what I had done before, and just "faked it". One I could not do that for, so I remade some things and it went away. I actually did not change any dimensions, just remade to same dimensions, and it worked

A fix would be good, since it calls into question some basic things about Alibre... There are several other features that exhibit a similar issue of every so often not working, but that can be made to work by changing the order of operations, or by remaking the same part the same way.

Fillets are one, lofts another, where order of operations can be changed and have it work. Makes me wonder if there are roundoff errors rippling up into areas where they are not expected to get to. You'd think that 19 decimal places would be enough to keep that down, but things like trig functions can make that sort of trouble, and co-incidentally, diagonals are a typical place for the constraint problems.
 

Art K

Member
Thanks guys it has been a busy weekend and I have not been able to spent much time on this. I have actually been using 3 place decimal. I can change that and try again. The Plate that mounts on the other side had the same problem and as someone on the forum suggested I tried reversing the order and in that instance it worked. I do think that most of what you're talking is over my head. This is the very first time I have tried to use the assembly feature. If I understand rather than placing each hole in the part, I should try copy and paste the holes in and just change the size? After of course I change the decimal place? Here is what I have now. I have no clue if I restrained things right I just did what worked, and fought with it when it didn't
Art
 

Attachments

  • offy.AD_ASM
    269.5 KB · Views: 0

DavidJ

Administrator
Staff member
An ASM file alone is not useful, either add the parts that relate to it, or (maybe simpler) create a Package file from the assembly and post that.
 

albie0803

Alibre Super User
just to elaborate a bit, an ASM file keeps a list of the parts and how they are constrained. Parts aren't copied into it, so when you post just the ASM file, Alibre opens it and then goes "where are the parts? they're not where the list says they are" and so it has nothing to show. The PKG option makes a sort of zip file which includes the parts as well.

If you make the pkg from the drawing level it will add any parts and assemblies needed to show the drawing.
 

Art K

Member
Sorry ignorance is bliss. I will just load the two files for the case and the cover. It is the same cover on both sides. I hope this is helpful. Although this doesn't show how I attempted to constrain them. but I kind of explained this earlier.
Art
 

Attachments

  • crankcase offy.AD_PRT
    2.7 MB · Views: 3
  • side plate Offy.AD_PRT
    1.8 MB · Views: 4

HaroldL

Alibre Super User
Art,
Here is a link to a short video showing how I would constraint the side plate to the crankcase. Note at the end of the video the measure tool to check hole-to-hole distances. That will show why you couldn't use two holes to align the side plate.
https://www.screencast.com/t/ZekrSvyaKa

Sorry, I didn't record any audio on this, but you should be able to see the steps.
Another hint: Fully constrain and dimension your sketches to make your parts more stable.
 

JST

Alibre Super User
How did the holes get so far out of line?

Did you originally get them by a project to sketch off the crankcase? Or were they dimensioned individually?
 

Art K

Member
Harold,
Thanks for the video, so if I understand this I have to use the "show reference geometry" to help align the two parts together on the same plane so I can constrain them properly. Or some such thing as that. I had no clue about that, I think I will start over on the whole assembly with that in mind.
JST,
I'm not sure I follow "How did the holes get so far out of line?" I took the dimensions off a print, and input the dimensions individually with the dimension function. I had the units set at 3 decimal places. If that is the problem I have gone through all the part files and reset them to 6 place. Not that I really want to look at all the extra 0's past 3-4 place, but...Do I have to go through all my part files and double check all of the dimensions to make sure they are all .250000 to the 6st place decimal?
Art
 

HaroldL

Alibre Super User
Art,
I make it habit to use the parts Reference Geometry when applying constraints just in case a feature gets changed on the model and the face that was used for a mate is no longer available. That's when you'll see constraint failures.

You may want to look at the video at about the 1:10 mark. That's where I use the Measure tool to check the distances between the holes in the block and the side cover. Also, that is a side view and does show some holes out of alignment.

When I checked your model there were a some dimensions in X-axis but not in the Y-axis to locate the holes. A practice that I use when creating hole patterns is to use the pattern tool instead of sketching every hole. Sometimes that is not possible because the pattern doesn't repeat evenly. That is, the spacing differs from hole to hole, but if the spacing is equal then I'd use the pattern tool.

BTW, which version of Alibre are you using? Is it Atom3D, AD PRo or AD Expert?
 
Top