Geometry Cleaning
Complete and Solve both have the ability to recognize and compensate for minor geometric inconsistencies in a part. Common problems such as lines which are slightly out of parallel, elements with zero length or radius, and small gaps between "tangent" elements can be recognized and corrected.
* 
The "cleanup" capabilities used by Complete and Solve are separate from the Clean command. See Working with Parametric Design for more information on the Clean options.
Parametric Design handles most geometric inconsistencies by incorporating tolerances into several of the rules used by Complete to extract constraints from a part. If an element does not precisely fit the requirements for a given constraint, but is within the tolerance, the constraint is assigned anyway. Once Complete is done, you need only Solve with the No Keep option to adjust these elements into the precise configuration given by the constraint.
For example, Complete can extract a Horizontal constraint for any line element with a slope that is 0 ± the current angular tolerance (given by PD_AUTO_ANGLE_TOLERANCE). If the tolerance is 0.5, then lines with slopes of 0 ± 0.5 can be assigned Horizontal constraints. When Solve is run, these lines will be adjusted as needed to become truly horizontal.
The following tolerances are used by Complete:
PD_AUTO_ZERO_DISTANCE_TOLERANCE Specifies the absolute tolerance used by Complete to compare a distance to zero. This tolerance is used to detect coincident points, collinear lines and Point on constraints. Must be greater than or equal to 0. The initial setting is 0.000001 mm.
PD_AUTO_SAME_DISTANCE_TOLERANCE Specifies the absolute tolerance used by Complete to compare two non-zero distances. Used in several areas; to check whether two circular elements have the same radius, for example. Must be greater than or equal to zero. The initial value is 0.000001 mm.
PD_AUTO_ANGLE_TOLERANCE Specifies the absolute tolerance used to compare angles. This tolerance is applied, for example, when checking whether two lines are parallel or a single line is horizontal. Must be greater than or equal to zero. The initial value is 0.000001 radians.
PD_AUTO_TANGENT_TOLERANCE Specifies the absolute distance tolerance used by Complete to check whether two elements are tangent. Applied only if one of the extracted elements is circular. The tolerance is used to compare the radius of the circular element to the distance from the circular element center point to the other element. The number supplied must be greater than or equal to zero. The initial setting is 0.000001 mm.
By default, these tolerances are set very small to ensure that Parametric Design only compensates for true anomalies in the part and does not remove or "adjust away" small details that are important to you. Setting a tolerance to 0 effectively eliminates its effect on Complete. Depending on the type of parts you normally work with, you may want to experiment with different values for each of these tolerances until you arrive at a set of tolerances that provides maximum cleaning without removing important details. Tolerances may be redefined on the Creo Elements/Direct Drafting command line, and the default values can be changed by editing the pd_def.mac file.
An additional tolerance, PD_RESOLVE_MERGE_TOLERANCE, is used directly by Solve to merge coincident points and remove very small ("zero length") elements from variations. Points that are within this tolerance are merged, thus removing duplicate points and eliminating elements that are smaller than the tolerance. The default, which is defined in pd_def.mac, is 0.000001 mm.
* 
It is usually a good idea to disable tolerance-based merging in motion-study or kinematics applications where several entities will be moved around in close proximity to one another. In these applications, it is often the case that two entities which are intended to remain separate will come into close enough contact that a point on each will fall within the merge tolerance. If merging is on, the two entities will be effectively fused together, preventing further independent motion. To disable merging, set the tolerance to -1.
Was this helpful?