buildingSMART / IFC4.3.x-development

Repository to collect updates to the IFC4.3 Specification
Other
168 stars 84 forks source link

Potential issue with needing more than one precision value #31

Open Moult opened 3 years ago

Moult commented 3 years ago

I don't fully understand this, but perhaps others might be able to decide whether this is an issue or not which needs to be addressed.

Raised by lassi.liflander here and here

Ping @berlotti @aothms @TLiebich

aothms commented 3 years ago

This is probably handled most straightforwardly by introducing a tolerance on individual topological items in an advanced brep. The two cases described here can be seen as a tolerance on a vertex, so that two points can be slightly apart and still connect a loop. And the tolerance on a face, so that projected point on the underlying surface can be a certain distance away and still be part of the boundary of that face. It also makes quite a bit of sense to allow different tolerances on different kind of elements.

It's also really an interoperability nightmare though as the tolerance used during export might not always give the best results for the importing application, so what is the actual value except for certification? Part of me would be inclined to say, use the tolerance that works best in your tool for processing the import and triangulate non-planar polygonal faces if you have to.

Moult commented 3 years ago

I've pinged lassi to respond since this is way over my head :D