xBimTeam / XbimGeometry

XbimGeometry contains the CLR interop libraries and the c++ engine used to compute the 3D geometry of models.
https://xbimteam.github.io/
Other
259 stars 129 forks source link

Revit IFCs: Very slow processing and Out of memory exceptions #176

Closed andyward closed 5 years ago

andyward commented 5 years ago

Revit exporter 17.3.0.0 is outputting some IFC Geometry in a manner that's causing model processing to take hours & consume a lot of memory (resulting in crashes)

Assemblies and versions affected:

V5 Geometry v5.0.118

Minimal file to reproduce the issue:

See mp101-sw02-03-zz-a-mdi-xxxx-0100-0002.ifc provided privately by BT.

... which took 4 hours before crashing.

image

SteveLockley commented 5 years ago

This was caused by a huge polygonal mesh (representing louvres for a wall) with an opening cut into them. This is beyond the reasonable limits of Opencascade boolean operations and takes a considerable and unreasonable length of time. The operations are not really sensible, it has been trapped and a warning issued, the mesh geometry has been preserved to give some indication of location but the boolean has been aborted to allow the rest of the model to complete

andyward commented 5 years ago

Confirmed fixed in Geometry 5.0.216-develop.

Took 16 mins, and memory usage was reasonable.

image