Rounding of numbers

This entry is part 8 of 8 in the series Dimensions and Tolerances

Some people have a rule that SolidWorks drawings should not have overridden dimension values (Override values).  I generally agree.  Yet, there are several legitimate reasons to use Override values.  One major reason is for proper rounding of linear dimensions for removed digits after the decimal.  Currently, SolidWorks offers no option that allows the user to automatically round dimension numbers in a way that is consistent with current industry standards and practices.

SOLIDWORKS 2015 now has several rounding options that follow the rules below.  More information, please see SOLIDWORKS What’s New Rounding article.

Rounding rule for dimensions

On most computer systems, decimal numbers that have 5 as the last digit are automatically rounded up when removing a decimal place.  For example, the number 1.425 rounds up to 1.43.  This creates a problem.  Most standards require that such numbers are rounded to the nearest even number in the last decimal place.  For example, that number 1.425 should be rounded to 1.42, and 1.435 should be rounded to 1.44.

ASTM E 29 states:

6.4.3 When the digit next beyond the last place to be retained is 5, and there are no digits beyond this 5, or only zeros, increase by 1 the digit in the last place retained if it is odd, leave the digit unchanged if it is even. Increase by 1 the digit in the last place retained, if there are digits beyond this 5.

NASA’s Engineering Drawing Standards Manual states:

When the first digit discarded is exactly 5, followed only by zeros, the last digit retained (i.e., the digit preceding the 5…) should be rounded upward if it is an odd number, but no adjustment made if it is an even number. For example, 4.365, when rounded to three significant digits, becomes 4.36. The number 4.355 would also round to the same value, 4.36, if rounded to three significant digits.  This procedure is known as odd-even rounding.

It is my understanding that this rule helps reduce statistical bias by allowing different numbers to be rounded up or down.  Using the computer default rule (5 is always rounded up) only allows for the upward rounding of such numbers.  This can create greater statistical errors, particularly when compounding rounded numbers to derive further rounded numbers.

Rounding as it affects tolerances

No rule is absolute.  There are other considerations when rounding.  A number should never be rounded so that it increases the original limits of a dimension.  Although this rule mostly applies to inspection techniques, it can also apply to specification.  For example, if there is a feature whose size limits are 1.255-1.275, the specification cannot be rounded so its limits are 1.25-1.28.  In such a case where rounding occurs, the specification limits should be 1.26-1.27.  Fortunately, this isn’t something that often occurs in mechanical design (though it does pop up when trying to apply dual dimensions).

Usually, rounding the limits is something that more often happens in quality assurance during incoming inspection of products.  In such cases, Interpretation of Limits rule from ASME Y14.5 declares limits are absolute.  For example, 12.25 MAX is the same as 12.2500000000000000 MAX.  If the feature measurement is 12.2540, that measurement should not be rounded to 12.25, as it is still out of tolerance because it exceeded 12.25.

SolidWorks should supports more rounding options

Right now, SolidWorks does offer one rounding option for dimensions.  In documents options, there is a setting to round numbers to the nearest fraction, but only if fractional numbers are in use.  I would like to see other rounding options supported, but not a document option.  SolidWorks should have a setting added to the dimension PropertyManager that allows the user to establish a rounding rule for a particular dimension.  For each dimension, users should have a choice to use the odd-even rounding rule, nearest fraction rounding rule (only when fractional numbers are in use) or always round 5 up rule.  This shouldn’t just be for drawings.  It should also be available in the model because they are often used as part of the product definition and because dimensions in the model can be inserted into a drawing.

For now, one can use Override values on the drawing.  The drawback to this is that Override values do not automatically update if there is a change to the associated model geometry.

So, this sounds like this issue should be yet another Enhancement Request.

As of SOLIDWORKS 2015, there are several options for numerical rounding which are available.

  • Round half away from zero, where the only digit being removed is 5, then round the last remaining digit away from zero.
  • Round half towards zero, where the only digit being removed is 5, then round the last remaining digit towards zero.
  • Round half to even, where the only digit being removed is 5, then round the last remaining digit so that it is an even number.
  • Truncate without rounding, where any and all digits being removed have no effect on the last remaining digit.

There is also an option to only apply alternative round methods to dimensions, with the setting Only apply rounding method to dimensions.  When this setting is checked, round half away from zero method is applied to all system and properties values, but the alternative rounding method (round half towards zero, round half to even or truncate without rounding) is applied specifically to dimensions.  Without this option checked, the chosen rounding method applies everywhere in SOLIDWORKS.

To account for dual dimensioning issues, tolerance rounding includes an option to fit the secondary unit’s tolerance range so that it does not extend outside of the primary unit’s tolerance range.  To use this capability, goto Tools > Options > Document Properties > Dimensions and click on Tolerance button. In the Tolerance dialog, check the option Inward rounding of secondary unit tolerance extents

Author: fcsuper

As a drafter, mechanical designer and CAD engineer, I've been in the mechanical design field since 1991. For the first 8 years of my career, I was an AutoCAD professional. I utilized AutoLISP and many other AutoCAD customization features to streamline drafting activities for 6+ drafters and designers. I authored several custom functions, one of which was published in the March 1997 issue of Cadalyst Magazine. Since 1998, I've been used SolidWorks non-stop. I've worked to utilize the SolidWorks' user environment to simplify drafting and design activities for 20+ engineers. I've created this website to provide current information about SolidWorks from a variety of contributors. More recently, I am now employed by Dassault Systemes as SOLIDWORKS Sr. Product Definition Manager to improve drawing, annotation and MBD related areas.

10 thoughts on “Rounding of numbers”

  1. Pingback: fcsuper
  2. There has a mix of using overridden dimension values. For some instance one may use it and for other one may not. Say I’m working on a precise dimension values, so I may not use it and would like the dimension to remain as such whereas in the same drawing while giving an overall dimension or a dimension which is not critical, I wouldn’t mind using overridden dimension value.

    Overall I second the thought that “SolidWorks should support more rounding options”.

  3. Pingback: fcsuper
  4. I would agree that SolidWorks should support the option for something other than standard computer rounding, but the thought of overridden dimensions scares me to death. I’ve see too much product wrong because of overridden dimensions that I would rather have a slight rounding difference rather than the possibility that the 12.032″ dimension on the print is an override that nobody updated when the customer required the part to be 16.0574″ long.

  5. I struggle with the idea modeling to the decimal equivalent of a fraction when you know the dimension of that feature will be rounded to 1 less decimal place. Example: in sheetmetal say I have a tab that is nominally 1/8th, and I know that the dimension on the drawing will read “.12”; Shouldn’t we make it a practice to model the tab to precisely .12(0000000)?

  6. Your article provided a wider view of rounding that was just what I needed to place “tolerance rounding issues” among a number of related issues. After reading the article, acceptance of the narrowed view comes easier.

    You hit the spot!

  7. There seems to be an error in SW. When round half to even is enabled, .0625 rounds to .062 as you would expect. However, .06251 also rounds to .062. This seems to violate ASTM E 29 6.4.3

  8. Nathan, your comment has been noted and SW was notified, and a bug report has been filed under your name. If you find other bugs within SOLIDWORKS in the future, please do not hesitate to contact your VAR directly.

Leave a Reply

Your email address will not be published. Required fields are marked *