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
261 stars 133 forks source link

XbimGeometry with OCC 7.8 #498

Open r-silveira opened 3 months ago

r-silveira commented 3 months ago

Is there a branch that integrates with OCC 7.8?

I have an IFC model that is taking a long time to load (hours). With the OCC 7.6.1 branch it seems to load quite quickly (~3min). I would like to compare if it is something from OCC.

andyward commented 3 months ago

The feature/netcore branch is on OCC7.7 if that helps. We're shortly looking to complete an update on Geometry netCore and I guess it's possible we'll pick up the later OCC at the same time.

r-silveira commented 3 months ago

Thank you very much. I will keep an eye on the new versions.

I am trying to open a model with boolean operations of approximately (770MB). I have tested several branches with several versions of OCC. It seems that only 7.6.1 can open in 2 minutes. The rest take more than an hour.

Specifically in the XbimGeometryCreator.cs, the part:

IIfcTriangulatedFaceSet^ tfs = dynamic_cast<IIfcTriangulatedFaceSet^>(faceSet);
if (tfs != nullptr) return gcnew XbimCompound(tfs, logger);

takes hours.

Without this code, it runs in 5 minutes and I can't see any differences in the geometry. I will try to investigate the possible cause of the slowness.

r-silveira commented 3 weeks ago

I tried the branch 5.1.762 and now it loads fast as I expected. I think the problem was solved in some version. Thanks!