ThatOpen / engine_web-ifc

Reading and writing IFC files with Javascript, at native speeds.
https://thatopen.github.io/engine_web-ifc/demo
Mozilla Public License 2.0
611 stars 186 forks source link

[Bug]: Incorrect geometry. IfcWall with IfcOpeningElement #1057

Open MyTh1c2L opened 1 week ago

MyTh1c2L commented 1 week ago

What happened?

Hello again.

I don't remember if this error occurred on earlier versions, but I don't think so.

The problem is as follows. If, for example, there is a hole in the wall described with IfcOpeningElement, the geometry of the wall becomes incorrect. If IFCRELVOIDSELEMENT for a particular wall is removed, then everything is fine.

Ifc file - trouble opening element.zip (I left only a few OpeningElements for the two Walls in the file)

Without IfcOpeningElement: without opening

With IfcOpeningElement: with opening

Version

0.58 & 0.59

What browsers are you seeing the problem on?

No response

Relevant log output

No response

Anything else?

No response

QuimMoya commented 3 days ago

We found what was causing this issue and applied a solution, but we still have to test it extensively. image

Br0wens commented 3 days ago

Hi everyone,

I want to add some research on similar cases.

If we use the "Edit Profile" option in Revit, everything works fine. However, if we use a void element for cutting, some issues appear. image image

When using a void element to cut walls, if we change the IFC Class from IfcWindow to IfcVoidingFeature and export using IFC 2x3, the openings are correct. However, if we use the IfcWindowClass or export in a version other than 2x3, the openings are incorrect. image image

Another problem occurs with non-wall elements. We have a floor with slopes, and one edge is very close to the floor boundary: image image

The result is: image

We edited the IFC file in Notepad, moving the point that was 3mm away from the floor edge, and everything was correct.

QuimMoya commented 3 days ago

If you can share these files, it will be useful to us.

Br0wens commented 3 days ago

Test IFC format files (from post above): IFC_formats.zip

QuimMoya commented 3 days ago

Which ones are supposed to be failing? I opened all of them, and nothing seems to be wrong at first glance.

Br0wens commented 3 days ago

IFC 2.2 even do not open :D All IFC 2.3 open and wall that i changed IFC Class are correct IFC 4 and other all walls are incorrect Any IFC file doesn't open the correct floor element.

robertbiskup commented 3 days ago

@QuimMoya which version are you using and is it ok? I'm testing on web-ifc https://unpkg.com/web-ifc@0.0.58 and "@thatopen/components-front": "2.2.2", "@thatopen/components": "2.2.11"

QuimMoya commented 3 days ago

The first model can't be opened because it is in an older version of IFC that we do not support. However, if you edit the IFC file and change FILE_SCHEMA(('IFC2X2_FINAL')) to FILE_SCHEMA(('IFC2X3')), the file should open normally.

To open these files, I'm using the demo:

https://thatopen.github.io/engine_web-ifc/demo

Br0wens commented 3 days ago

@QuimMoya which version are you using and is it ok? I'm testing on web-ifc https://unpkg.com/web-ifc@0.0.58 and "@thatopen/components-front": "2.2.2", "@thatopen/components": "2.2.11"

Thank you very much for answear :) Indeed all files show correct.

robertbiskup commented 3 days ago

@QuimMoya Hmm, what's the difference between this demo and components.get(OBC.IfcLoader) with default settings?

robertbiskup commented 3 days ago

@QuimMoya With version .59 I have the same issue using OBC.IfcLoader, what am I doing wrong? It could be something in components? image image

Br0wens commented 3 days ago

@QuimMoya With version .59 I have the same issue using OBC.IfcLoader, what am I doing wrong? It could be something in components? image image

The same.

QuimMoya commented 1 day ago

Hi, sorry for the delay.

Here we are working with the geometrical engine, but thatopen works with the latest release. This means you may encounter differences between the demo and the thatopen engine, but these differences will disappear over time.

QuimMoya commented 1 day ago

What’s important is that your models should open correctly with the demo.

If this is not the case, please share your models, if possible, so we can review and fix any bugs.

robertbiskup commented 1 day ago

@QuimMoya thank you, we are waiting for the release of components in version 2.3 ;)