Automatic Constraint Generation
To extract constraints from an existing part, Complete uses the Parametric Design solver to apply a set of extraction rules to the geometry in the zone. Understanding how these rules work will help you to anticipate what kinds of constraints are generated by Complete.
When you select Complete, the solver first scans the geometry for existing constraints. If these fully constrain the part, Complete is done. If the existing set of constraints does not fully constrain the part, the solver then starts to evaluate the under-constrained members of the part and assign new constraints to them according to the rules listed below. Each time a new constraint is extracted, it is added to the list of known constraints and the part is checked again to see whether or not it is now fully constrained. As soon as it is, the process stops. Otherwise, the solver continues to go down the list of rules, adding constraints and checking until the part is fully constrained. The solver will not go on to a new rule until all possible constraints have been extracted according to the current rule. A rule will not be applied to elements that have the Ban flag set for the constraint type assigned by the rule. The rules and their basic functions are (in order of application):
Rule
Action
Special Symmetry lines
If PD_AUTO_SYMMETRY is on, find all lines that have the auto-symmetry linetype and color and assign them Symmline constraints.
Collinear Lines
Find collinear lines and assign them Collinear constraints.
Coincident Points
Find coincident points and constrain them together.
Points On Geometry
Find suitable elements and assign them Point on constraints.
Mirrored Elements
If symmetry lines are defined, find mirrored elements and assign them Mirror constraints.
Dimensions
Constrain any free dimensions to their current value.
Fillets
Find arcs that qualify as fillets and assign them Fillet constraints.
Parallel Lines
Find parallel line elements and assign them Parallel constraints.
Perpendicular Lines
Find perpendicular elements and assign them Perpendicular constraints.
Tangent Elements
Find tangent linear or circular elements and assign them Tangent constraints.
Horizontal Lines
Assign Horizontal constraints to horizontal elements.
Vertical Lines
Assign Vertical constraints to vertical elements.
Mirrored Points
If symmetry lines are defined, find mirrored points and assign them Mirror constraints.
Same Radius
Find circles with the same radius and assign Samesize constraints.
Free Angle
Find elements with free slopes and assign Angle constraints.
Free Slope
Find elements with free slopes and assign Slope constraints.
Free Radii
Find circles with free radii and assign Size constraints.
Free Length
Find lines with free lengths and assign Size constraints.
Free Elements
Find any remaining free elements and constrain them with Distance and/or Refelem constraints.
Free Parameter
Look through the parameter table. For all parameters that do not have a set value, assign the current value.
When extracting constraints from the part, the solver must determine the location and connectivity of each element in order to decide if that element is a suitable candidate for the constraint type currently being assigned. The user can specify several tolerances for the solver to use when determining an element's location and connectivity. These tolerances, described in detail in Geometry Cleaning above, allow the solver to handle minor inconsistencies that may occur in the part.
Finally, after all the geometry has been examined and all new constraints have been extracted, Complete goes back through the part looking for redundant or unused constraints. These are removed. For example, if a line element is found that is constrained horizontal and is also constrained collinear with another line that is constrained horizontal, the horizontal constraint can be freed from the first line.
Was this helpful?