Community Tip - Want the oppurtunity to discuss enhancements to PTC products? Join a working group! X
I am using CREO 2
---------------------------------
I posted a question on this issue back on Feb. of 2016, when working at another company, and we did contact PTC about it.
They were working on it, but I left there 3 months later, before it got resolved, and I have no good way to contact the old company, and frankly wouldn't want to.
So, here I am again, with the same problem, and posting again, just to see if anyone has anything on this.
---------------------------------
Just like the title says,
I have a dimension of .0625 that that is set, in properties, to 3 decimal places.
When I do and "EDIT" and check the dimension, it show .063, just like it should (.XX25) rounds up to (.XX3).
However, when I enter this dimension into a family table, it rounds down to .062.
Further, the instance that is of the same dimensions as the generic(I do not use generics as an instances) says .062 as well.
OK, Now the really odd thing is that the drawing still shows .063 like it should.
I thought, at first, that what is going on here is that in the family table truncating the dimension, and then .0625 becomes .062.
However, this can't really be the case because, if so, the drawing would have to show .062 as well, because it gets the dimension from the family table instance.
Any ideas out there?
The standard for rounding engineering drawing dimensions is to always round to an even number, so the Creo drawing is wrong and does not follow standards. This is defined in an ANSI standard. I found this explanation in another forum.
Maybe we need an enhancement request to PTC for Creo to follow industry standards!
Rules for Rounding Off
--------------------------------------------------------------------------------
Ever since the calculator replaced the slide rule, people have been able to get results to six or more places, therefore it's critical that we know how to round the answers off correctly. The typical rule taught back in elementary school was that you round UP with five or more and round DOWN with four or less.
SORRY, BUT THIS RULE IS WRONG!
However, please don't rush off to your elementary school teacher and read 'em the riot act!
The problem lies in rounding "up" (increasing) the number that is followed by a 5. For example, numbers like 3.65 or 3.75, where you are to round off to the nearest tenth.
OK, let's see if we can explain this. When you round off, you change the value of the number, except if you round off a zero. Following the old rules, you can round a number down in value four times (rounding with one, two, three, four) compared to rounding it upwards five times (five, six, seven, eight, nine). Remember that "rounding off" a zero does not change the value of the number being rounded off.
Suppose you had a very large sample of numbers to round off. On average you would be changing values in the sample downwards 4/9ths of the time, compared to changing values in the sample upward 5/9ths of the time.
This means the average of the values AFTER rounding off would be GREATER than the average of the values BEFORE rounding.
THIS IS NOT ACCEPTABLE.
We can correct for this problem by rounding "off" (keeping the number the same) in fifty percent of the roundings-even numbers followed by a 5. Then, on average, the roundings "off" will cancel out the roundings "up."
The following rules dictate the manner in which numbers are to be rounded to the number of figures indicated. The first two rules are more-or-less the old ones. Rule three is the change in the old way.
When rounding, examine the figure following (i.e., to the right of) the figure that is to be last. This figure you are examining is the first figure to be dropped.
If it is less than 5, drop it and all the figures to the right of it.
If it is more than 5, increase by 1 the number to be rounded, that is, the preceeding figure.
If it is 5, round the number so that it will be EVEN.
Keep in mind that a zero is always considered to be EVEN when rounding off.
I was just coming in to edit my post to state that back in 2016, in my original thread on this issue, aanother gentlemen brought up this same theory, and he actually sited it as ANSI Z210.1.
However, I tested it, and this does not seem to be what is happening.
I set the number to .0625, and it rounded down to .062, OK so far.
I then set the number to .0615, and according to the above, it should have rounded to the even .062.
However, it rounded down to .061, disproving the theory of the ANSI standard being the cause.
Again, at first blush, it seems that the 4th decimal is being truncated, but when I go into the drawing it is always rounded properly.
.0625 shows as .062 in the family table, but .063 on the drawing.
.0615 shows as .061 in the family table, but .062 on the drawing.
Obvously, I am happy with the drawing showing the correctly rounded dimension.
However what if I had a dimension of .0625, and .0620, set to 3 decimals?
They should show up in the family table as .063 and .062, but they would, in fact, would both show up as .062
It does not happen with Creo because PTC programmers do not utilize ANSI Z210.1 in their standards or in their programming code.
I set the number to .0625, and it rounded down to .062, OK so far.
I then set the number to .0615, and according to the above, it should have rounded to the even .062.
However, it rounded down to .061, disproving the theory of the ANSI standard being the cause.
Your above comment proves that PTC does not follow the ANSI standard! PTC programmers are always truncating instead of rounding because it is easier.
As I said in my original comment:
Maybe we need an enhancement request to PTC for Creo to follow industry standards!
"It does not happen with Creo because PTC programmers do not utilize ANSI Z210.1 in their standards or in their programming code."
"Your above comment proves that PTC does not follow the ANSI standard! PTC programmers are always truncating instead of rounding because it is easier."
I am in complete agreement, and I offered my test results, only, to prove the point.
"As I said in my original comment:
Maybe we need an enhancement request to PTC for Creo to follow industry standards!"
Again, I agree.
Truncating like that is simply, well, STUPID!
In an Engineering Cad system, dimensions should always follow drafting standards, and I am dumbfounded that we actually have to tell PTC this, especially at this stage of the game.
Yes, it is powerful, but the bugs and issues like this can be absolute time killers.
So, what is the best way to go about conveying this to PTC?
Also known as the area where good ideas go to die.
Ben did make a product idea for this.
The rules in the current version of the standard don't always round to an even number although in the case you are discussing it should. Maybe it has changed but the farthest I could get access to was 1992 and it has the same rules as the current ones which is from 2016. Then again maybe I'm not reading this in context.
No, No, No, I pray that we don't convince PTC to use this ANSI standard.
I, for one, do not want dimensions to round per ANSI Z210.1 or any other such specification that does anything other than to round a number from .XX5 to .X1., or.XXX5 to .XX1, and so on.
I want my dimensions to follow standard rounding rules, whether they are even, odd or otherwise:
If I have a 5/8" dimension that is, in reality, .625", I want it to be .625 or round up to .63.
If I have a 3/8" dimension that is, in reality, .375, I want it to be .375 or round up to .38.
Example:
Lets say I nave a part that begins its life as a casting:
I would make the casting drawing and machining drawing from the same model via a Family Table.
The casting would have a 2 decimal .62 dimension, and would be noted to the caster to add chip for machining
The machining drawing would have a 3 decimal .625 dimension.
I realize that I need two dimensions to do this, but that is not a problem.
The 3 decimal .625 dimension would be the strong dimension, and would be used on the machining drawing.
The 2 decimal .63 dimension would be a reference dimension, and would be used on the casting drawing, with the parenthesis removed.
I want it to round properly. I don't care a lick about adding up myriads of numbers and having them average out. I can do those statistics in other ways.
I need my dimensions to be correct, rather than to be good for averaging tolerances.
Many of you seem to think otherwise regarding the issue of rounding.
I am not a high level engineer, but simply a designer, drafter, documentation coordinator, etc.
However, I believe that I know how a dimension is supposed to act.
What am I missing?
Comments
If I have a 5/8" dimension that is, in reality, .625", I want it to be .625 or round up to .63.
If I have a 3/8" dimension that is, in reality, .375, I want it to be .375 or round up to .38.
You have hit on the reason for the rounding rules right there!
.625 + ,375 = 1.000
.63 + .38 = 1.01
Following the 'always even rounding', you would have:
.62 + .38 = 1.00
Now do you see why the rule exists and PTC should create dimensions to the spec.
Sorry, but you're cherry-picking your example.
How about .375 + .875?
Or .125 + .625?
Personally, I prefer a consistent upward rounding to one that could go either way...
This is why I dislike rounding on engineering drawings at all. If the feature is modeled at .625, the dimension should be displayed as .625. If you want 2 places, change the dimension to the one you want; don't leave .005 discrepancy between what the model is and what the drawing says.
That way the model adds up exactly the same way as the drawing says it will.
"This is why I dislike rounding on engineering drawings at all. If the feature is modeled at .625, the dimension should be displayed as .625. If you want 2 places, change the dimension to the one you want; don't leave .005 discrepancy between what the model is and what the drawing says.
That way the model adds up exactly the same way as the drawing says it will."
I understand you point, but it is just not that cut and dry.
You may not have thoroughly comprehended the example that I gave in my earlier post?
Just to be clear, here it is again with some added information to help see the point of it.
Example:
Lets say I nave a part that begins its life as a casting:
I would make the casting drawing and machining drawing from the same model via a Family Table.
The casting, requiring less accuracy, would have a 2 decimal .63 dimension, and would be noted to the caster to add chip for machining.
The machining drawing would have a 3 decimal .625 dimension.
BTW, I incorrectly typed .62 rather than .63 in my earlier post.
The main reason for ding it this way is to allow the tolerance standards in the title block of the drawing to do their job (Tighter for 3 decimals, looser for 2 decimals) however a company sets it up.
Setting all casting dimensions to 3 decimals would force the designer or drafter to tolerance each and every dimension that did not require the tighter tolerance. That can get into a lot of wasted man hours, in extra work up front, and down the road in extra dimension management.
I used to work for a company that manufactured high performance pumps for the oil and gas industries. All of the pump bodies, heads, impellers, and many other parts were made as castings, then machined.
Setting every dimension on a casting drawing as 3 decimals, and then having to tolerance them, would have eaten them alive in detailing time.
I guess that there is a case to be made both ways.
Again PTC should simply let us choose.
1) Round Even
2) Round Up
3) If they insist - Round Down
We all know that we are paying enough for their software for them to fix this.
Haha, You'll never get agreement on rounding/tolerancing/etc...too many variables, too many company standards, too many individual opinions.
You probably should try to re-direct back to the original problem, the dimension shows /rounds differently when shown as a dimension than when shown in a table.
I think this is a real problem. There should be no discrepancy between these too.
Have you submitted support ticket to PTC. I think they really need to explain this particular aspect.
If 2 places is good enough then it's good enough, casting or machining.
The final part requirements didn't change with the manufacturing method.
You can override the title-block tolerances.
At this point it's not an engineering problem, it's a company internal political one.
Both of your examples add .01 to the design intent dimensions.
I agree with Dave, dimension it the way it is modeled! If you want 2 places on the drawing, model it at 2 places.
If this is implemented then it should definitely be an option.
Do similar rounding rules exist in other (non-US) standards? I wasn't aware of it in ISO.
"Sorry, but you're cherry-picking your example.
How about .375 + .875?
Or .125 + .625?
Personally, I prefer a consistent upward rounding to one that could go either way..."
Excellent point to show that "even" rounding is still not consistent.
I simply believe that numbers ending in 5 should always, and forever round up.
I would be OK with it if it were a option.
That way either side of the argument could win.
The one for ISO is ISO 80000-1. The rules are found in Annex B.
The even rounding rule is stupid for a number of reason.
There are 2 huge issues here that no one has touched on.
A great example of #2 is that we built relations into some of our start parts to automatically right descriptions. One of those is for pipes. Based on the OD and schedule we assign to the part, the relations set the wall thickness and then write the description. After writing these relations we spent hours trying to work through what it is rounding, what it is truncating, and how to accurately get the results we wanted. It was the same issue point out above... in some cases numbers were rounded, in some places they weren't at all, and in others they might have been truncated but we never could tell for sure. We finally got what we needed, but that was because we had a limited amount of data that we had to troubleshoot. If you're using family tables and/or relations there could be a unlimited number of results and we should be able to know what the system is doing to take full advantage of this. That isn't currently possible without knowing how PTC is handling every number it deals with, and it is extremely difficult since numbers are handled differently depending on where they are being used.
And I work for a company where generally 1/32" of an inch is extremely tight tolerancing. I cannot imagine what it would be like where thousandths matter.
Another side note... I just saw another thread that posted ASTM E29.6.4.3 as a standard for rounding.
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 non-zero digits
beyond this 5.
I found this here: http://www.galvanizeit.com/uploads/ASTM-E-29-yr-13.pdf
The ASME standard currently references ASTM SI10 for conversion and rounding.
Which ASME standard references ASTM SI10? Also, this document appears to be completely about the use of SI units. We're talking about imperial units (in general) in this thread.
Y14.5M-1994 references ANSI 268 and Y14.5-2009 references ASTM SI10. I thought someone had mentioned it before but it's in section 1.6.4.
From ASME Y14.5-2009:
1.6.4 Conversion and Rounding of Linear Units
For information on conversion and rounding of U.S.
Customary linear units, see IEEE/ASTM SI 10.
The funny thing to me is, ASME Y14.5 examples are ALL in metric units.
Maybe you work with fractions and 1/32 is a 'tight' tolerance, but I have worked in industries where some parts are +/-.001 or finer in inches. Other places the 1/32 would be fine for our big weldments of road construction equipment. But for the drive assemblies, they are tightly tolerance.
In the pump business, we used no fractions ever, and went to 4 decimals on some very critical parts.
The point is that if you put a standard tolerance specification chart on your drawing format, then its nice to actually let it do its jobt, rather than to be forced into actually entering the standard tolerance on each dimension.
I am referring back to my Casting/Machining drawings example
I will say, again, that, if I need 3 decimal dimensions on my Machining drawing, and all dimensions are to be given in 3 decimals, rather than letting them round up, then any two decimal dimension would be displayed as a 3 decimal number, and would have to be manually toleranced per the 2 decimal dimension,s or the feature would be machined the tighter 3 decimal tolerance, which would add unnecessary cost to the part.
Submit a support ticket so PTC can tell you why the dimension rounds one way as a dimension and differently in a table.
The whole tolerancing thing is a distraction to the real problem of a rounding error on PTC's part.
I submitted a case, regarding the family table rounding numbers down rather than up, late this morning, as follows:
We use CREO2 Parametric, Build M090.
The issue for this case regards Rounding, and we have our default decimal places set to 3.
When I enter dimensions such as .625, .375. etc., then change those specific dimensions to 2 decimals places, they round up to .63, . 38, etc., just like they are supposed to.
The problem comes when entering these dimensions into a Family Table, where they round down instead of up. This causes us a lot of heartburn, along with many other users that I have been in contact with, over at PTCUSERSCOMMUNITY.COM.
We would like an explanation of why this anomalous behavior exists, especially in software as mature as ProE, Wildfire, CREO, etc.
We also hope that you would, very heavily, consider correcting this anomaly in the family table section of the system, so that these dimensions will, properly, round up, just like they do everywhere else in your own software.
We pay a lot of money for your software, and for the support packages that we need, so we believe that you really should consider this, to the end of correcting it sooner rather than later.
Please update me as you proceed.
Thanks for your consideration,
Signed my name and company etc.,..
I'm agreeing with you Ben. When I worked for Roots Blowers we often used very tight tolerances, but where I am now, 1/32" is tight. Creo's rounding "policies" cause me issues, so I am sure it can be much worse for companies that require the tighter tolerances.
As Roger stated, there's a reason why title blocks have tolerances. If you aren't going to let them do their job (which generally requires rounding) then you might as well get rid of them and tolerance every single dimension.