Debugging Solver Errors
When you're confronted with a solver error, first look at the error message posted to the prompt line. It will usually tell you whether the problem occurred because of too few constraints or because of conflicting constraints.
If the error message is something like:
Not enough constraints to solve for all elements
your drawing does not have sufficient constraints for the solver to generate a variation.
To quickly correct this situation, select Complete to extract the missing constraints. If for some reason Complete is not applicable to your situation, use the Display functions to highlight the problem areas and manually assign additional constraints to the offending elements. Start by highlighting all partially solved elements (click Hide All and then Show All and Partialy Determined in Display), and then use Inquire Element to see what constraints are there. You may also want to examine the constraints between the partially solved elements and any completely solved elements they border.
If the error is due to conflicting constraints, the error message may resemble one of the following:
Encountered violated constraints
Could not constrain without violating n constraints
These messages indicate a violated user or system constraint.
Use the Display functions along with Inquire Element and Show Violated to help identify the cause of a constraint violation. Whenever a constraint is violated and the reason for the violation is not clear, first concentrate on those entities that are tagged as completely solved. The solver preview mode shows how these entities are getting modified. Are they being modified as you expected? If so, next look at the solved and partially solved entities involved in the constraint that is being violated. Remove or re-assign the problem constraints to eliminate the conflict.
Another possibility is that the error message will resemble:
Inconsistently constrained elements found
Unable to constrain all elements
These messages indicate that an internal constraint has been violated. Examples of an internal constraint violation include:
The implicit point that resides at the intersection of two or more elements constrained so as to move off of one or more of those elements.
The endpoints of an arc constrained so as not to be equidistant from the arc center.
In this case, you need to identify and re-constrain the elements that are causing the conflict. For example, to isolate all elements that caused an inconsistency in the last solve, use Hide All to hide the entire drawing, then use Show All and Inconsistent to display only the elements that caused the inconsistency.
If the solver problem is due to a violated expression, the displays described above will be used, plus the entry for the offending expression in the parameter definition table is highlighted. To correct this situation, examine the highlighted expression carefully. You may need to rewrite it to avoid the conflict. It is also possible that the expression conflicts with geometric constraints on the part that can be removed or re-assigned.
A final class of error messages indicates problems with rigid bodies. A message of the form:
Unable to keep rigid body 'name' rigid
Unable to constrain while keeping rigid body 'name' rigid
indicates that competing constraints on the named rigid body are attempting to change its shape. This generally indicates that there are too many constraints assigned to the rigid body. Concentrate your debugging efforts on the named rigid body and eliminate all unneeded constraints.
Was this helpful?