Tolerance Variables
From DocR22
In order to maintain model integrity the modeler must work to specified tolerances. Applying tolerances ensures proper interpretation of positions, such as maintaining that the locations of vertices lie on the curves of the edges they bound, or determining if a position is inside or outside a volume.
ACIS uses the Tolerance Variables SPAresabs, SPAresnor, and SPAresfit to control modeling operations. These are defined as global variables in ACIS. All modeling operations in ACIS use these tolerance variables to maintain consistency of mathematical operations. Although SPAresnor should never be changed by the application, SPAresabs and SPAresfit may be changed, with great care, as explained in this section.
Note: If any of the tolerance variables need to be changed, this should be done before any modeling operations are performed and be sure to call bs2_curve_init, bs3_curve_init, and bs3_surface_init immediately afterward. This ensures that the B-spline library becomes aware of the change(s) you have made.
Contents |
SPAresabs
SPAresabs is named for resolution absolute. It is the smallest meaningful quantity representable in ACIS. This can be interpreted as the distance below which ACIS considers two points to be coincident. If two points, A and B, are separated by less than SPAresabs, they are considered to be the same point.
SPAresabs also represents the smallest feature capable of being modeled, since it is the smallest distance between two points.
The default value is:
The default value was chosen assuming that at least an order of magnitude guard band around SPAresabs is required. (For practical reasons, there can be ambiguity about distances that are close to SPAresabs, so this guard band is a safety margin to improve reliability.)
SPAresnor
SPAresnor is named for resolution normalized. This is the ratio of the smallest meaningful quantity representable (SPAresabs) to the largest. This reflects the precision to which numerical values are calculated and stored.
The default value is:
From the definition:
the largest quantity representable in ACIS is:
As the ratio of the longest to the shortest distance, SPAresnor also represents the angular tolerance in ACIS.
SPAresfit
SPAresfit is named for resolution fit. This is used as a guide to the fitting algorithms for the fit tolerance of an approximate curve or surface.
The default value is:
B-spline approximations are computed for some curves and surfaces in ACIS. The approximations are stored in the model together with their corresponding curve or surface definitions. The approximations are used:
- Alone when approximate geometry is sufficient (for example, when drawing).
- Together with the curve or surface definitions when more precise geometry is required. Using the two together can make algorithms faster than using the curve or surface definitions alone.
Some fitting algorithms are adaptive, and therefore may produce tighter fits than SPAresfit in certain circumstances; for example, in regions of high curvature.
SPAresmch
SPAresmch is named for resolution machine. When comparing numbers that are within SPAresmch of one another, we recognize that for some computations, these two numbers can be considered equal. In other words, SPAresmch is the precision at which the machine is operating.
All object space numbers are represented in ACIS as double precision, floating point numbers which contain roughly 14-16 significant digits. ACIS considers three of the least significant digits subject to numeric round-off errors that occur during lengthy calculations. Thus, there should be at least 11 significant digits in the calculation results, and the default value of SPAresmch is: