Question

IFC wall geometry with windows: how to prevent the holes from being closed?

  • 7 September 2017
  • 4 replies
  • 8 views

Badge

I'm having trouble with FME closing up window holes. The holes don't disappear completely, but are instead covered up (randomly?) on either side by, as far as I can tell, a flat (triangulated) polygon. This problem exists when simply viewing the IFC in the inspector as well as writing it to Esri multipatch. The behavior doesn't show in all walls either, as you can see on the right grey side, where the window holes are as expected. Any ideas how I could remove the coverings?

The bottom screenshot is the building viewed in Solibri Model Viewer.


4 replies

Badge

If I'm not mistaken, FME "secretly" triangulates the geometry before displaying it in the Data Inspector or writing it to an Esri Multipatch. I once experienced similar problems in FME 2016 and contacted Safe for this. They told me that this issue also exists in the Triangulator transformer (that probably calls the same functionality?) and that they are/were working on a fix. If you're using a version < 2017, chances are that it's fixed already! I'm currently not working with 3D anymore and I don't have a good example file, so can't test that for you unfortunately...

Either way, they proposed a workaround using the GeometryValidator. Insert it right before you write or visualize your features (make sure that they have a Surface geometry first!) and set it up as follows:

So, believe it or not, but you'll have to select "Self-Intersections in 2D" and make sure that "Check Self-Touching Polygon" is set to "No" if it wasn't already. The set "Attempt Repair" to "Yes".

This did the trick for me!

Badge

If I'm not mistaken, FME "secretly" triangulates the geometry before displaying it in the Data Inspector or writing it to an Esri Multipatch. I once experienced similar problems in FME 2016 and contacted Safe for this. They told me that this issue also exists in the Triangulator transformer (that probably calls the same functionality?) and that they are/were working on a fix. If you're using a version < 2017, chances are that it's fixed already! I'm currently not working with 3D anymore and I don't have a good example file, so can't test that for you unfortunately...

Either way, they proposed a workaround using the GeometryValidator. Insert it right before you write or visualize your features (make sure that they have a Surface geometry first!) and set it up as follows:

So, believe it or not, but you'll have to select "Self-Intersections in 2D" and make sure that "Check Self-Touching Polygon" is set to "No" if it wasn't already. The set "Attempt Repair" to "Yes".

This did the trick for me!

Unfortunately that didn't work. Do I have to convert the fme_solid to surfaces? I tried the various surface transformers and the Triangulator but with no luck. I attached a sample of the wall in FFS format, maybe that helps.

 

 

ffs-ifcwallsample.zip

 

 

Badge

Hi again @clickingbuttons,

Normal solids (e.g. Breps) do not need to be converted before the GeometryValidator. However, CSG (Constructive Solid Geometries) are not supported (see the blue warning "Cannot yet detect 'Self-Intersections in 2D' in IFMECSGSolid"), so you need to use the CSGEvaluator first.

However, I tried all that and it didn't matter at all. Seems to me that something else is happening here and that the window openings are not properly cut out of the wall. This could be a CSG evaluation issue, but it can also be caused by an issue in the IFC model. Unfortunately, BIM/3D applications are often quite tolerant to mistakes (so you don't notice them), whereas FME isn't.

The IfcWall FFS file you attached only contains 1 material for the entire wall (set to both sides) and is fully opaque, whereas the Solibri shows light blue transparent windows. If you want to see that as well in the Data Inspector or your output multipatch, this can only be achieved if the window openings are cut out properly of the IfcWall and if the IfcWindow features (with a semi-transparent material) are present as well.

You could play a little with the IFC reader parameters maybe to see if that solves anything? Especially try the settings in the red squares:

Otherwise, contact @DaveAtSafe. He's always helped me out with a lot of these strange 3D issues.

Userlevel 2
Badge +17

Hi @clickingbuttons,

We have had cases in the past where the window Openings were slightly smaller than the Wall they were cutting, and so a skin was left over one side of the Wall. We modified the newer versions of FME to adjust the Opening size to fit the Wall, much like the other IFC viewers do, but it doesn't appear to be fully working with your file. Please send me a copy of your IFC file, and I will file a problem report for our development team.

Reply