What is ISO 2768? A guide to tolerance standards for CNC manufacturing
Producing a part without deviations from the original design is extremely complicated. Even if you can get an instance similar to the design intent, it is almost impossible to always achieve the same exact dimensions in a batch process. That said, you can decide how much a made part may deviate from the original design to be accepted. In manufacturing, this acceptance range is determined by limits called tolerance limits. These tolerances represent the variations between nominal dimensions (original intent of the design) and the maximum and minimum values of a dimension that still guarantee an appropriate design; or in simple terms, a controlled margin of error. Suppose you specify a round solid bar 100 mm long by Ø50 mm that fits into a hole in another part. You place an order to manufacture 200 of these Ø50mm round bars, and when you receive them, you realize that they do not all measure Ø50mm, but you get values like Ø53mm, Ø47mm, Ø51mm, Ø49mm, with a lot of variation. The rods also vary in length and if you look closely, you realize that they are not perfectly circular. Can you still use them? If not, can you reject them and ask the supplier to remanufacture at no cost? How close to Ø50 mm should it really be?
ISO 2768: an international standard
There is an international standard that not only helps answer these questions, but also helps minimize inconsistencies while taking into account production costs. Best of all, since it was created by an international committee, you can be on the same side as companies around the world so there are no misunderstandings. That standard is ISO 2768. To explain the content of this standard and its components, let’s use a real technical example. Figure 1 shows a vehicle engine with an AC compressor. The part that supports the compressor and connects it to the engine is at the center of our work; we call it the “compressor base.” We start with a prototype made from an aluminum, then machined and drilled.
Once a 3D model with nominal dimensions is defined, we proceed to determine which features require close tolerances and which are allowed to deviate more, so that we can specify these requirements on the 2d work drawing. The reason for differentiating tolerance levels is simple: if all dimensions require close tolerances, the cost of the part will increase significantly due to more demanding tooling / fixtures, operator skills and scrap / rework requirements. Delivery time will also increase, since each part in the batch requires strict quality control to confirm each dimension, and as shown in this example, some components have complex composite geometries that are not easily quantified. When designing a part, it is important to ask what the main function of each feature is. Some dimensions may be critical because they are intended to align with other parts, therefore the margin of error must be controlled. On the other hand, there are features with dimensions and locations that are not as critical, so they can be more flexible during manufacturing. As you would expect, it is a trade-off between accuracy and cost. For our compressor base example, Figure 2 shows which features should actually have close tolerances and which are allowed to vary more. Keep in mind that the classification illustrated is intended as an example, so it may differ from other designs. It is your responsibility to develop a proper classification based on the function of your product. In our case, the drilled holes to connect to the block of the motor and to the compressor must be aligned and correctly positioned, therefore their tolerances fall into the fine category (see #1 and #2 in Figure 2). The contact surfaces between components are also important for alignment (#3 and #4), but for this particular example we could use an average tolerance because a more accurate machine roughness than the one we got from the supplier did not benefit from sufficient alignment to justify the extra cost. On the other hand, the purpose of the ribs is to add strength, so their wall thickness can be defined with an acceptable minimum value with a less stringent tolerance, as long as it meets the lower limit (#5, coarse tolerance). The main part of the base was defined as very coarse tolerance (#6) and finally we define reference surfaces or datums to control the rest of the dimensions (#7, fine tolerance since we dimension from these surfaces). Keep in mind that for other designs, features such as ribs, fillets and chamfers may be crucial depending on their function.
ISO 2768 is divided into two parts, and both help simplify drawings by defining levels of precision as general rules:
- General tolerances for linear and angular dimensions (part 1) with precision levels defined as: f-fine, m-medium, c-coarse, v-very coarse
- Geometric tolerances for objects (Part 2) with precision levels defined as tolerance classes: H, K and L
For example, a 2d working drawing can be specified as ISO2768-mK, which means that as a general rule it must meet the tolerance ranges for “medium” in Part 1 and tolerance class “K” in Part 2. By including the ISO2768 specification, you simplify the drawing and avoid writing tolerances for each dimension and function. We mentioned the general rule because there may be exceptions when a dimension needs a tighter tolerance than that of ISO2768. This is normal and common, so always keep an eye on the title block of the drawing for general tolerance requirements and stay tuned if there is a special part specification or project requirement. You should also be aware that there are several other standards that work with similar dimensional concepts.
ISO 2768 Part 1: Linear and angular dimensions
Table 1 shows the accuracy levels or tolerance classes for linear dimensions. One application is the dimension between holes for our example of a compressor base (see Figure 3).
Table 1: Tolerance classes – linear dimensions
Permitted deviations in mm | ||||
Basic size range in mm | f (fine) | m (medium) | c (coarse) | v (very coarse) |
0.5 to 3 | ±0.05 | ±0.1 | ±0.2 | – |
from 3 to 6 | ±0.05 | ±0.1 | ±0.3 | ±0.5 |
from 6 to 30 | ±0.1 | ±0.2 | ±0.5 | ±1.0 |
from 30 to 120 | ±0.15 | ±0.3 | ±0.8 | ±1.5 |
from 120 to 400 | ±0.2 | ±0.5 | ±1.2 | ±2.5 |
from 400 to 1000 | ±0.3 | ±0.8 | ±2.0 | ±4.0 |
from 1000 to 2000 | ±0.5 | ±1.2 | ±3.0 | ±6.0 |
from 2000 to 4000 | – | ±2.0 | ±4.0 | ±8.0 |
Similarly, Table 2 shows the tolerances for external radii and chamfers.
Table 2: Tolerance classes – External Radii and Chamfers
Permitted deviations in mm | ||||
Basic size range in mm | f (fine) | m (medium) | c (coarse) | v (very coarse) |
0.5 to 3 | ±0.2 | ±0.2 | ±0.4 | ±0.4 |
from 3 to 6 | ±0.5 | ±0.5 | ±1.0 | ±1.0 |
from 6 | ±1.0 | ±1.0 | ±2.0 | ±2.0 |
And to complete Part 1 of ISO 2768, we have Table 3 that defines the tolerances for angular dimensions. Note that the tolerance units in Table 3 are degrees and minutes, as expected for an angular dimension. In Part 2, we will define a new concept called “perpendicularity” whose units are actually length (mm), despite the fact that it controls two surfaces at an angle.
Table 3: Tolerance classes – angle dimensions
Permitted deviations in mm | ||||
Basic size range in mm | f (fine) | m (medium) | c (coarse) | v (very coarse) |
up to 10 | ±1º | ±1º | ±1º30′ | ±3º |
from 10 to 50 | ±0º30′ | ±0º30′ | ±1º | ±2º |
from 50 to 120 | ±0º20′ | ±0º20′ | ±0º30′ | ±1º |
from 120 to 400 | ±0º10′ | ±0º10′ | ±0º15′ | ±0º30′ |
from 400 | ±0º5′ | ±0º5′ | ±0º10′ | ±0º20′ |
ISO 2768 Part 2: Geometric tolerances for features.
Part 2 defines three tolerance ranges H, K and L. These are different from assembly and clearance tolerance classes that also use letters and numbers. As in Part 1, we have nominal ranges and deviations, but the difference is how we define those deviations. An example is shown in Figure 4: instead of defining an upper limit and a lower limit, we define an area between two references (i.e., parallel planes), so the fabricated surface must lie in that area. This may sound more complicated, but it actually makes sense if you measure a part and realize that if you place a caliper to measure two rough surfaces, you will get different readings because of the roughness of the surfaces. We define datums to use as a reference for dimensions and to determine how much deviation is acceptable. As illustrated in Figure 2, we chose three perpendicular surfaces for the base compressor (datum A, B, C in Figure 1).
Table 4 defines the tolerance classes for flatness and straightness. A surface may have excessive roughness. In our compressor base, the contact surfaces between the compressor and the base and the contact surfaces between the base and the motor are important, so their flatness will be specified in the drawing. Straightness determines how much a surface varies within a given line on that surface. Another use of straightness is for the axis of a part to determine how much bending or rotation is allowed.
Table 4: Straightness and flatness tolerances.
Permitted deviations in mm | |||
Basic size range in mm | H | K | L |
up to 10 | 0.02 | 0.05 | 0.1 |
from 10 to 30 | 0.05 | 0.1 | 0.2 |
from 30 to 100 | 0.1 | 0.2 | 0.4 |
from 100 to 300 | 0.2 | 0.4 | 0.8 |
from 300 to 1000 | 0.3 | 0.6 | 1.2 |
from 1000 to 3000 | 0.4 | 0.8 | 1.6 |
As mentioned earlier, perpendicularity has distance units in mm. Similar to flatness, we define two planes separated by a gap equal to the allowable deviation in Table 5. We control the 90-degree angle indirectly, as we measure whether the surface is in the allowable area (see Figure 6)
Permitted deviations in mm | |||
Range of nominal lengths in mm (short side) | H | K | L |
up to 100 | 0.2 | 0.4 | 0.6 |
from 100 to 300 | 0.3 | 0.6 | 1 |
from 300 to 1000 | 0.4 | 0.8 | 1.5 |
from 1000 to 3000 | 0.5 | 0.8 | 2 |
Table 6 shows symmetry tolerances – allowable deviations for two objects on a part that are uniform across a reference plane.
Table 6: symmetry tolerances
Permitted deviations in mm | |||
Range of nominal lengths in mm | H | K | L |
up to 100 | 0.5 | 0.6 | 0.6 |
from 100 to 300 | 0.5 | 0.6 | 1 |
from 300 to 1000 | 0.5 | 0.8 | 1.5 |
from 1000 to 3000 | 0.5 | 1 | 2 |
And the last table in Part 2 corresponds to Run-out, which is the total variation a surface can have when the part is rotated around the axis of a zero point. Note that the highlighted surface is at tolerance despite not being perfectly cylindrical.
Table 7: Outlet tolerances
Permitted deviations in mm | |||
Circular Run-out | H | K | L |
– | 0.1 | 0.2 | 0.5 |
You may have noticed that there is no table defined for parallelism. This is because ISO2768 Part 2 defines parallelism as equal to the numerical value of the dimensional tolerance or the flatness/straightness tolerance, whichever is greater. Both tolerances are covered earlier in the article.
Conclusion and next steps
ISO 2768 covered some of the tolerance and geometric characteristics used in industry and this is a great place to start. However, there are more standards and these extend into the concept of geometric dimensioning and tolerances (GD&T), the symbols of which are shown in Table 8. Several companies have implemented a method called Model Based Definition (MBD) with the goal of increasing collaboration by including all GD&T, tolerances and date information in 3D models instead of 2D drawings. In theory, this is possible because some CAD software have tools to include these symbols and values as parametric information. I personally think that replacing 2D drawings with 3D models should be implemented as a standard, but who knows if and when this will happen? Engineering is constantly evolving.
Table 8: GD & T terms
Type of control | Geometric characteristics | Symbol |
Shape | Straightness | |
Shape | Flatness | |
Shape | Roundness | |
Shape | Cylindricity | |
Profile | Profile of a line | |
Profile | Profile of a surface | |
Orientation | Perpendicularity | |
Orientation | Angularity | |
Orientation | Parallelism | |
Location | Symmetry | |
Location | True position | |
Location | Concentricity | |
Runout | Runout | |
Runout | Total Runout |