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
260 stars 132 forks source link

Wrong geometry with booleans #260

Open d-brunet opened 4 years ago

d-brunet commented 4 years ago

Hi, I have an IFC file with a geometric issue. When I'm loading it on BimCollab everything is fine, but when I'm using xBim some boolean operations are missing. It seems that the boolean operation is carried out but that the second operand is merged instead of being removed.

Assemblies and versions affected:

Xbim.Common 4.0.0.0 4.0.1911.29500 Xbim.Geometry.Engine.Interop 4.0.0.0 4.0.1912.28352 Xbim.Ifc 4.0.0.0 4.0.1911.29500 Xbim.Ifc2x3 4.0.0.0 4.0.1911.29500 Xbim.Ifc4 4.0.0.0 4.0.1911.29500 Xbim.IO 4.0.0.0 4.0.1911.29500 Xbim.ModelGeometry.Scene 4.0.0.0 4.0.1912.28352 Xbim.Presentation 4.0.0.0 4.0.2002.10344 Xbim.Tessellator 4.0.0.0 4.0.1911.29500

and

Xbim.Common 5.1.0.0 5.1.289.0 Xbim.Geometry.Engine.Interop 5.1.0.0 5.1.317.0 Xbim.Ifc 5.1.0.0 5.1.289.0 Xbim.Ifc2x3 5.1.0.0 5.1.289.0 Xbim.Ifc4 5.1.0.0 5.1.289.0 Xbim.IO.Esent 5.1.0.0 5.1.289.0 Xbim.IO.MemoryModel 5.1.0.0 5.1.289.0 Xbim.ModelGeometry.Scene 5.1.0.0 5.1.0.0 Xbim.Presentation 5.1.0.0 5.1.0.0 Xbim.Tessellator 5.1.0.0 5.1.289.0

Result expected: wall_good

Result obtained with xBim: wall_bad

File to reproduce: VAGNEY_WALL.zip

Best regards, Damien

SteveLockley commented 4 years ago

If I read you model correctly both results are wrong ans I have the same problem in Solibri, am I right that your model result should be nothing at all ? image

SteveLockley commented 4 years ago

If I read you model correctly both results are wrong ans I have the same problem in Solibri, am I right that your model result should be nothing at all ? image

d-brunet commented 4 years ago

No, I do the opposite.

This the body: XbimXplorer_aeYQZII11r

And I substract this: XbimXplorer_63cUxGAx9U

d-brunet commented 4 years ago

After more research, the problem appears when the depth of the hole made in the wall is the same as the depth of the wall.