Tolerance Specifications and Calculations
How aP Pro Adjusts Cycle Times Based on Tolerances
For a given GCD and process, aPriori adjusts cycle times by a compensation factor that is based on:
-
Tolerances that you specify or import for the GCD
-
Tolerance ranges for the process and the GCD (see How aPriori calculates achievable tolerance ranges)
-
Compensation factor ranges specified by plant.gtolWorstAchievableFactor (0.75 in the starting point Digital Factories) and plant.gtolBestAchievableFactor (1.5 in the starting point Digital Factories).
The position of the specified tolerance within the tolerance range determines the position of the compensation factor within the compensation factor range such that:
-
If the tolerance specified for a GCD is at the midpoint of the tolerance range, then the compensation factor is 1.
-
If the tolerance specified is in the bottom half of the tolerance range, the compensation factor is between plant.gtolWorstAchievableFactor and 1.
Specifically, if the tolerance specified is a certain fraction of the way from the worst achievable tolerance to the midpoint of the tolerance range, the compensation factor is that same fraction of the way from plant.gtolWorstAchievableFactor to 1.
-
If the tolerance specified is in the top half of the tolerance range, the compensation factor is between 1 and plant.gtolBestAchievableFactor.
Specifically, if thetolerance specified is a certain fraction of the way from the midpoint of the tolerance range to the best achievable tolerance, the compensation factor is that same fraction of the way from 1 to plant.gtolBestAchievableFactor.
-
If no tolerance has been specified for a GCD, the compensation factor is 1.
How aP Pro Calculates Achievable Tolerance Ranges
Given a process and a GCD’s size, aPriori can determine the range of tolerances that the process can achieve for that GCD. The achievable tolerance range helps determine operation feasibility; the tolerance required for the GCD must be no tighter than the best achievable tolerance for the operation’s parent process.
The achievable tolerance range also helps aPriori adjust cycle times based on required tolerance ee How aPriori determines cycle time adjustment factors.
aPriori determines the best and worst tolerance that a given process can achieve for a given GCD as follows:
-
Determine the best and worst achievable tolerance grade for the process.
-
The lookup table tblGtolProcessCapabilities associates two International Tolerance (IT) Grades with each process, the best achievable tolerance grade and the worst achievable tolerance grade.
-
Some entries in the table refer to a group of processes rather than an individual process; in this case, every process in the group has the same best and worst achievable tolerance grades.
-
aPriori looks up the best and worst achievable grades by process (or group) in tblGtolProcessCapabilities. Note that IT Grades are independent of feature size but can be used together with size to obtain a literal tolerance range.
-
-
Determine a size value for the GCD as follows:
GCD
GTOL Category
GCD Size
Simple Hole
True Position, Tolerance (Co-ordinate)
Part length/2
Simple Hole Straightness
GCD Length
Simple Hole
All other GTOL categories
Diameter
Curved Wall
Diameter Tolerance, Runout, Total Runout, Symmetry, Tolerance (Co-ordinate)
Diameter; bend diameter if diameter is null; Sqrt(Finished area) if both diameter and bend diameter are null.
Curved Wall
Parallelism
Wall Height
Curved Wall
Position Tolerance
Part length / 2
Keyway
Tolerance (Co-ordinate), Straightness, Symmetry
Max of GCD length, width, and height
Remaining GCDs
Remaining Categories
Sqrt(Finished area)
Note: True Position in the GCD window = Position Tolerance in the cost model and the gtolProcessCapable table.
Note: Tolerance (Co-oridinate) in the GCD window = Tolerance in the cost model and the gtolProcessCapable table.
-
Use the size value from step 2 and the best or worst achievable tolerance grade from step 1 in the following formula to calculate best or worst achievable tolerance. This is the literal tolerance value that takes GCD size into account
Tolerance = 10^(0.2 * (Grade - 1)) * (0.45 * Size ^ (1 / 3) + 0.001 * Size) / 1000
-
Note that, unlike achievable tolerances, the achievable roughness for a process and GCD does not depend on the GCD’s size. Literal achievable roughness ranges are stored directly in tblGtolProcessCapabilities, and they require no conversion based on GCD size.
-
Note: Throughout the UI, all Rz and Ra specifications are clearly labeled. If you encounter a roughness specification with no Rz or Ra label, it is Ra. By default, if no Roughness Rz value is specified, the default “Best Achievable”/”Worst Achievable” values for Roughness Rz are 4.5 times the value of the specified Roughness Ra.
Besides GCD size and process, another factor that can affect best achievable tolerance is the GCD’s distance from some relevant datum feature, but aPriori does not currently take this into account.
Note: The Injection Molding process allows for significantly tighter “Best Achievable” surface roughness than machining processes such as those that might be used to make the mold. This is because the best tolerances in Injection Molding are achieved via hand polishing of the mold surface, which is not available in other processes. This results in Injection Molding being more capable than other processes relating to tolerance/surface finish.