They actually might. Let’s say I modelled in meters and got a length in the editor of 100.00000 when the actual length is 100.0000099999999. So then let’s say I convert to millimeters. You’ll get a value around 100000.001 which is far less accurate now.
Edit: It appears that I reached my maximum number of replies on this thread for today but thought I would mention this before I am able to post here again. I’m interested in solutions. I don’t really feel like debating the practicality, we are working with a computer and if it can handle the operation I desire with 15 digits of accuracy, I would like to keep that.
Edit 2: Well it appears like your advice conflicts with the other solution which was offered here. I understand what floating point errors are, but if Rhino is using the full 15 digits in calculations which are only accurate up to 8 digits because of the extrusion I mentioned, then that will just be added to the inaccuracy. I understand operations like complex intersections aren’t going to use that full double precision and that’s fine. I am not doing something complex, it’s just an extrusion. Additionally, Rhino does support these 15 digit values, it just changes once the extrusion happens. That’s the issue, I am looking for a solution, deflections don’t help.
Edit 3: Replying to Raymond’s reply in this slowing growing mega message. I was under the impression that Rhino considers 15 digits as the maximum number of significant digits. This is backed up by a script I made that bypasses the maximum display precision and will display above 8 digits. That would mean the numbers aren’t technically equal, even though they fit within the tolerance, the curves internally aren’t. Rhino can be accurate up to 15 digits which I have tried many times comparing results from a high precision calculator to the length given by the script, it only changes it’s accuracy when an extrusion happens. Anything past 8 digits once extruded is just gibberish and doesn’t match the previous result from the script or high precision calculator. I have been using extract wireframe but I could try using that other command, maybe extract wireframe obeys only 8 digits of tolerance?
Edit 4: I thought I should give some ‘proof’ about the precision just to settle the debate. I recreated my example just for the fun of it. Not a rounding error, those numbers are definitely different and Rhino does use the full double floating point value in calculations.
As for extract wireframe; I will try the other method now.
Edit # who cares anymore: Good and bad news, I found the problem. The good news: the issue is with ExtrudeCrv + Cap it rounds whatever the 15 digit value is up to 8 digits and replaces the remaining 7 digits with noise (or whatever it really is
). The bad news is that this is a problem with the tool itself, are there any work arounds to force it to use 0.0 as the tolerance, I think it is built into the tool and doesn’t adopt the user set tolerance? Interestingly, this only happens with polysurfaces, solids are actually perfectly accurate. I tried it with a rectangle and the numbers check out for the solid, rounding is only with the polysurface.