What's new

Round off errors on dimensions - What's up?????

siggy

Senior Member
Round off errors on dimensions - What's up?????

I have uploaded an example file to the binaries section that demonstrates my problem. When I have my precision set to 3 digits I get inconsistent rounding of dimension values. For example, the attached file has all segments dimensioned at 1/16 (.0625). If you change the precision to 4 or more digits you can verify that the dimension values are, in fact, 0.062500. However, when you change the precision to 3 digits the values get rounded off to either 0.062 or 0.063 - seemingly in a random fashion. This is unacceptable behaviour - I need the values to be consistently rounded to .063 as they should be. Is this a bug or is there a setting that I can adjust to fix this? BTW, these random round-off values transfer to a 2D working drawing too.
 

mr.ska

Senior Member


I have found the same thing happening. Not as big a deal for our shop, but it would still be nice to have some consistency.
 

Cameraman

Senior Member


hmmm . . . I haven't noticed that because I typically model my parts using the same number of places with which I intend to dimension them . . . I would imagine that the problem only occurs with a 5 as the last digit and is a relic of calculations or binary value storage out in a very deep decimal place (i.e., if you could go out enough places, one of your numbers would be 0.0624999999999999, even though you entered 0.0625) . . . but thanks for the heads-up, I will keep an eye out for it . . .

Regards,
Greg :D
 

siggy

Senior Member


Got a response from Alibre Support on this issue this morning. They confirm this is apparently a bug in the software and they have escalated it to their development team for action.
 

mr.ska

Senior Member
Re:

Cameraman said:
(i.e., if you could go out enough places, one of your numbers would be 0.0624999999999999, even though you entered 0.0625)

Well, there's another issue I don't like. I have my increment value set at .125", but at times when I'm incrementing a dimension it suddenly explodes in a shower of decimal places (and nines or ones). I don't understand why this has to happen.
 

Cameraman

Senior Member
Re:

mr.ska said:
Well, there's another issue I don't like. I have my increment value set at .125", but at times when I'm incrementing a dimension it suddenly explodes in a shower of decimal places (and nines or ones). I don't understand why this has to happen.

I have seen this in Inventor also (although it's been a few years since I used Inventor) . . . and I've seen it in general programming as well . . . even Excel Spreadsheets . . . must be a decimal-to-binary-to-decimal conversion thing :?

Regards,
Greg :D
 

moyesboy

Alibre Super User


Can you confirm if Alibre uses engineering/scientific rounding (0.125 is rounded to 0.13 0.115 is rounded to 0.12) rather than banker's rounding where odd 5s are rounded up and even 5s are rounded down.
The bean counters use this bankers rounding so that on average their total doesn't increase slightly and it creeps into scientific and engineering software against our conventions. You will find it in excel, and a lot of cad programs like proE.
The original post doesn't mention lots of extra decimal places, only his 5s rounding up and down inconsistently. Maybe its bankers rounding on odds and evens - 0.125 becomes 0.12 while 0.115 ALSO becomes 0.12 Moyesboy
new_picture.gif
 

mr.ska

Senior Member


That still would not explain why multiple dimensions of 0.625 come out as either 0.63 or 0.62. By your explanation they should always come out at 0.62, which isn't the case.
 

dbukovec

New Member


First, Alibre Development has implemented an improvement to the round-off algorithm that will be in 8.0 SP1 which is due-out in a couple weeks.

This change is at the user interface level only. The underlying values represented in the core data model will remain unchanged.

Second, the discussion about numerical accuracy, precision, and significance in the context of CAD software is an interesting one. There are many factors at play. (Had it not been Friday night, and had my wife not just called :lol: , I might have offered a few thoughts for discussion.)

Nevertheless, I will offer one thought for your consideration:
I'm pretty much convinced it is better to set your precision to 6 in all design workspaces (parts, assemblies) and to set your detailing precision only in drawing workspaces. This way, you will avoid the situation in which the displayed (and intended) value is 0.625 when the stored value is 0.625215. This is especially important when the 3D model directly drives a manufacturing process.

Thanks,
Dave
(VP of Development at Alibre)
 

Gaspar

Alibre Super User
Re:

dbukovec said:
(Had it not been Friday night, and had my wife not just called :lol: , I might have offered a few thoughts for discussion.)

Sounds so familiar :D

Anyway, I want to understand that rounding of happens only at GUI level. I mean, internally the digits allways retain their full 6 decimal digits regardless of how you want them displayed.

If so, why is it important to see the full 6 digits when a model drives a manufacturing process? Did I get something wrong?

Thanks Dave. Its allways nice to have AD directly getting involved in the group :wink:
 

jemmej

Senior Member


I'm running SP1 and I just ran into the same issue.

The entered value is .561250

One time my constraining dimension reads of .5613, another time it reads .5612. Regardless of design philosophy, this should not happen. Rounding should be consistent.

Jim
 

siggy

Senior Member


Jim's right. SP1 has not resolved this problem. Maybe dbukovec (Dave, Alibre Development VP) can confirm if the fix he spoke of a few responses up in this thread was actually implemented. If so, "it ain't working." If not, what is the new target to implement the fix?

Robert
 

dbukovec

New Member


You are correct, 8.0 SP1 has not resolved the problem.

A fix was implemented in 8.0 SP1, but in final whole-system usability testing, an adverse side effect was identified and we decided it was better to pull the fix. (The side effect was a slight but noticible change in behavior while adding sketch dimensions.) I recall thinking at the time that I needed to follow-up on this discussion thread; sorry about the delay.

We have scheduled a task to identify an alternate solution for the next release.

---

Responding to Gaspar's question about displaying 6 digits in all design workspaces: My recommendation is intended to avoid situtations in which the precision setting truncates the stored value (in the display only.)

For example: Say a dimension is to have the nominal value 0.625. But also say that the precision is set to 3 and the stored value of the dimension is 0.625215. In the display, the dimension is truncated at precision 3 and appears as 0.625 implying that the stored value is 0.625000. If the 3D model drives a manufacturing process, problems with stack up might result. With the precision set to 6, the actual value of 0.625215 would be evident in the display, alerting the designer to potential problems downstream.

Thanks,
Dave
 
Top