Annoying bugs when working with big coordinates

Use this forum to talk about enhancements and fixes.

Annoying bugs when working with big coordinates

Postby abottero » Thu Jan 19, 2017 8:35 am

Hello,
I am working on meshes at a geological scale (several hundreds of kilometers). I have discovered a very annoying bug when working with big coordinates. For example:

_This is OK:
create surface rectangle width 2000000 height 1000000 yplane
volume 1 move x 1000000 z -500000
webcut body 1 with plane xplane offset 1000000

_This is not OK:
create surface rectangle width 2000000 height 1000000 yplane
volume 1 move x 1000000 z -500000
webcut body 1 with plane xplane offset 1010000

-> INFO: Cutting Tool overlaps the original volume, Or cutting plane does not pass through volume.

_This is still not OK:
create surface rectangle width 2000000 height 1000000 yplane
volume 1 move x 1000000 z -500000
webcut body 1 with plane xplane offset 1050000

-> INFO: Cutting Tool overlaps the original volume, Or cutting plane does not pass through volume.

_This is beyond understanding:
create surface rectangle width 2000000 height 1000000 yplane
volume 1 move x 1000000 z -500000
webcut body 1 with plane xplane offset 1100000

-> ?????

What strikes me the most is that the following commands work fine...
draw plane xplane offset 1010000
draw plane xplane offset 1050000
draw plane xplane offset 1100000

It is possible to get around by explicitly creating the webcut plane but I wanted to signal that however.

Regards,

Alexis Bottero
abottero
 
Posts: 5
Joined: Mon Feb 23, 2015 3:06 am

Re: Annoying bugs when working with big coordinates

Postby csimsoft Moderator » Thu Jan 19, 2017 10:41 am

The answer here is that the solid modeler (ACIS) is sensitive to scale. When you play around with number this large, especially during intersection calculations (booleans) there may be numerical instability. ACIS says that it can accurately represent 10 digits away from its smallest value, which is 1e-6. That means that anything larger than 10,000 is suspect to accuracy issues.

The solution is to scale down the model into ACIS's sweet spot, so the number is somewhere between 10,000 and 1e-6. Things should work just fine in that band. After everything is meshed, scale everything up or even just set the mesh to scale on export with this command:

Transform Mesh {Input|Output} [Scale <factor> [<factor> <factor>] ]
[Scale {X|Y|Z} <factor>] [Translate <dx> [<dy> [<dz>]] ]
[Translate {X|Y|Z} <distance>] [Rotate <degrees> about {X|Y|Z}]
[Reset]
csimsoft
csimsoft Moderator
 
Posts: 239
Joined: Tue Feb 14, 2012 5:59 pm
Location: American Fork, UT


Return to Feature Requests and Fixes

Who is online

Users browsing this forum: No registered users and 1 guest

cron

Search / Mark

User Control Panel

Login

Who is online

In total there is 1 user online :: 0 registered, 0 hidden and 1 guest (based on users active over the past 5 minutes)
Most users ever online was 58 on Mon Jun 26, 2017 4:19 pm

Users browsing this forum: No registered users and 1 guest