General part tolerances

Methodology and discussion.

A tolerance block is a list of standardized tolerances embedded in the title block of a drawing. Dimensions on the drawing that are not directly toleranced default to some set amount based on the number of decimals in the dimension.

For example, you may see a tolerance block of:

X.X ± 0.3
X.XX ± 0.1
X.XXX ± 0.050

A dimension of 3.00 would represent 3.00 ± 0.1.

Typically, these tolerances are embedded in the sheet format and reused between multiple components and assemblies. Before 3D models, drawings had to be fully dimensioned to be useful, which is where tolerance blocks might have shined the most. The designer could then quickly tolerance a dimension without cluttering the sheet.

One issue I see with this approach now is that many times a single tolerance block is created that attempts to fit the needs of all types of parts, sizes, and manufacturing processes, which are all factors when designing. Additionally, the number of decimals for a tolerance and dimension must match, which makes in-between values a challenge.

Also, if you follow ASME Y14.5, this scheme is also only applicable to inch dimensions, and specifically prohibited for millimeter designs.

4.2.1 (c): Where the dimension exceeds a whole number by a decimal fraction of 1 mm, the last digit to the right of the decimal point shall not be followed by a zero. 1

4.3.2 (b): A dimension shall be expressed to the same number of decimal places as its tolerance. Zeros are added to the right of the decimal point where necessary.1

ISO 2768-1 provides some guidance on common-use tolerance classes.

Table 12 - Permissible deviations for linear dimensions except for broken edges (millimeters):

vvery coarse-±0.5±1±1.5±2.5±4±6±8

All of this to say that the use of tolerance blocks on modern simplified drawings, can be arbitrary. I think there’s a responsibility of the designer to understand each tolerance and dimension that makes its way onto the drawing, instead of relying on generic tolerances that are not scaled to form/fit/function.

My current approach to this is to apply a global all-over indirect profile tolerance and UOS3 using a frame or note on an orthographic view with a nice-number based on form/fit/function.

NOTE: UNLESS OTHERWISE SPECIFIED, APPLY ALL-OVER PROFILE TOLERANCE OF .020” FROM NOMINAL 3D GEOMETRY.* All Around Specification.1 When a profile tolerance applies all around the true profile of the designated features of the part (in the view in which it is specified), the “all around” symbol is placed on the leader from the feature control frame… The “all around” symbol shall not be applied in an axonometric view on a two-dimensional drawing. When the requirement is that the tolerance applies all over a part, the “all over” symbol may be used.

Then I apply direct tolerances wherever necessary directly to those features. This way you get the benefit of a global and assumed tolerance, while forcing the designer to apply specific tolerances to individual features, and really consider areas where it can be opened up for cost reduction and ease of manufacturability.

I’m interested to see how Table 1 might be incorporated into an ASME scheme. At the very least it seems like a good starting point for direct tolerances even if it isn’t referenced explicitly.


  1. ASME Y14.5-2018 Geometric Dimensioning and Tolerancing 2 3

  2. ISO 2768-1 1989 General Tolerances Part 1

  3. Unless Otherwise Specified or UOS, recognized by ASME Y14.5.