Visual Diff

Technical discussions
Post Reply
Malcom Whited
Posts: 1
Joined: Wed Dec 18, 2013 2:19 am

Visual Diff

Post by Malcom Whited »

Hi
We have been using Boolean Operations to compare surfaces imported via vrml. The idea is to present visually deviation of a scanned object from the designed exact surface.
We get exceptions in Boolean operations regularly. Is there a better way to do this?
Thank You
Malcom

nickz
Site Admin
Posts: 236
Joined: Fri Jul 26, 2013 3:58 am

Re: Visual Diff

Post by nickz »

Hi Malcom

To be brief, comparing surfaces like you do needs a specifically designed algorithm. Boolean Operations are too complicated and hence not robust enough for the purpose. See below. The diff on the other hand is not that complicated and can be very robust.

Most likely you are trying to compare objects which have close geometry, nearly coinciding. This is very difficult case because the first thing Boolops do is calculation of the intersection curve(s). When surfaces simply (nearly) touch one another the calculation becomes unreliable simply because the intersection is not well defined: very small change in angle can make them coinciding completely, where normal intersection does not work and another algorithm is executing.

This should be handled, but situation is very complicated and there are situation which we did not catch yet. If you see something happening consistently we would like to see it.

Generally Boolean Operations are very complicated to handle any arbitrary input. We have spent a lot of time handling the coplanar situation above and the case when intersection curves actually merge into a bunch. My guess is that to get it working without an error in say 1000 operations in a row in your satiation can take about two years. Will this investment pay off for us? I am not sure at the moment.
Nick

Post Reply