Question

How could I incorporate a empty hole/opening for the doors in the wall when converting from IFC to CityGML?

  • 24 January 2022
  • 6 replies
  • 9 views

Hello everyone,

 

I am in the midst of converting a IFC building model to CityGML format with a modified version of the workbench from: https://community.safe.com/s/article/bim-to-gis-intermediate-ifc-lod-300-to-lod-4-cityg

 

At present, I am unable to create an opening for the doors in the interior wall surface in FME. Both are aggregate multi-surfaces but the interior walls are simpler with only 1 surface. I have tried various transformers and they do not work, partially due to how complicated the door's geometries are and the number of coplanar doors and walls.

 

Let me know if there are any more information you may need. Thank you for the help in advance!

Overlapping walls and doors


6 replies

Userlevel 3
Badge +13

Hello @hyanonymous​ , the IFC reader has an option to "Subtract Opening Geometries", which is enabled by default, and should clip the Openings out of the Walls when the file is read, producing the holes for the doors.

 

This option is enabled on the ifc-lod4city workspace from the example article, so I'd imagine there aren't existing openings in your models for door features? Would you be able to check?

 

Alternatively, if you're able to share a sample IFC I can try to help further. If the Openings aren't present, it might be best to edit or add them in the native application (used to create your model). Hope this helps, Kailin.

Hello @hyanonymous​ , the IFC reader has an option to "Subtract Opening Geometries", which is enabled by default, and should clip the Openings out of the Walls when the file is read, producing the holes for the doors.

 

This option is enabled on the ifc-lod4city workspace from the example article, so I'd imagine there aren't existing openings in your models for door features? Would you be able to check?

 

Alternatively, if you're able to share a sample IFC I can try to help further. If the Openings aren't present, it might be best to edit or add them in the native application (used to create your model). Hope this helps, Kailin.

Hello Kailin,

 

Thank you for the answer.

 

The Openings are enabled in the IFC file, but I forgot to mention that there is some discrepancy with the example article and the CityGML data requirements, especially for rooms and their walls, ceiling and floor, and I have made some changes. The IFC file is working as intended and does work well if I follow the workbench.

 

As there is this discrepancy, I have split the IfcSpace into individual surfaces comprising of Ceiling, Floor and Interior walls, and disabled the original workbench's Walls and Floors as they do not fit the LoD4 room definition. See the sample for the interior, barring furniture, installations and other interior items. Maybe I could rephrase my question, as I have gain some headway by converting my doors into one solid through their bounding boxes.

 

How could I cut a hole in the wall surface to replicate the opening? I have tried converting them to polygon, surfaces and solids through solid builder, surface builder and other transformers but none have work so far. Interiorwalls and doors

 

Room hierarchy

Userlevel 3
Badge +13

Hello Kailin,

 

Thank you for the answer.

 

The Openings are enabled in the IFC file, but I forgot to mention that there is some discrepancy with the example article and the CityGML data requirements, especially for rooms and their walls, ceiling and floor, and I have made some changes. The IFC file is working as intended and does work well if I follow the workbench.

 

As there is this discrepancy, I have split the IfcSpace into individual surfaces comprising of Ceiling, Floor and Interior walls, and disabled the original workbench's Walls and Floors as they do not fit the LoD4 room definition. See the sample for the interior, barring furniture, installations and other interior items. Maybe I could rephrase my question, as I have gain some headway by converting my doors into one solid through their bounding boxes.

 

How could I cut a hole in the wall surface to replicate the opening? I have tried converting them to polygon, surfaces and solids through solid builder, surface builder and other transformers but none have work so far. Interiorwalls and doors

 

Room hierarchy

Hello @hyanonymous​ , would it be possible to create a bounding box for the door features, and then use that to clip the walls? It may be a slow-running workspace if we go that route though! Best, Kailin.

Hello Kailin,

 

Thank you for the answer.

 

The Openings are enabled in the IFC file, but I forgot to mention that there is some discrepancy with the example article and the CityGML data requirements, especially for rooms and their walls, ceiling and floor, and I have made some changes. The IFC file is working as intended and does work well if I follow the workbench.

 

As there is this discrepancy, I have split the IfcSpace into individual surfaces comprising of Ceiling, Floor and Interior walls, and disabled the original workbench's Walls and Floors as they do not fit the LoD4 room definition. See the sample for the interior, barring furniture, installations and other interior items. Maybe I could rephrase my question, as I have gain some headway by converting my doors into one solid through their bounding boxes.

 

How could I cut a hole in the wall surface to replicate the opening? I have tried converting them to polygon, surfaces and solids through solid builder, surface builder and other transformers but none have work so far. Interiorwalls and doors

 

Room hierarchy

Hello Kailin, 

 

I am able to create the bounding box for the door features, which builds a 3D solid. However, I am unsure how to proceed with the clipping? The walls are currently surfaces while the doors are solid. I have tried various transformation into other types but have yet to work, which may be due to my inexperience with FME. Anyways, although I am unable to share the original IFC file, I have attached a simple example in IFC and CityGML format alongside my current workbench so that there is a clearer idea. Apologies for forgetting to attached a file.  

 

Thank you for the help so far!

 

 

Userlevel 3
Badge +13

Hello Kailin,

 

Thank you for the answer.

 

The Openings are enabled in the IFC file, but I forgot to mention that there is some discrepancy with the example article and the CityGML data requirements, especially for rooms and their walls, ceiling and floor, and I have made some changes. The IFC file is working as intended and does work well if I follow the workbench.

 

As there is this discrepancy, I have split the IfcSpace into individual surfaces comprising of Ceiling, Floor and Interior walls, and disabled the original workbench's Walls and Floors as they do not fit the LoD4 room definition. See the sample for the interior, barring furniture, installations and other interior items. Maybe I could rephrase my question, as I have gain some headway by converting my doors into one solid through their bounding boxes.

 

How could I cut a hole in the wall surface to replicate the opening? I have tried converting them to polygon, surfaces and solids through solid builder, surface builder and other transformers but none have work so far. Interiorwalls and doors

 

Room hierarchy

Hello @hyanonymous​ , I think this can be accomplished with 2 IFC Readers. One to read the Openings in walls, the other to obtain the Opening geometry. Please let me know if you have any further questions! See the attached workspace: OpeningsIFC.fmwt

Happy to help, Kailin.

Hello Kailin,

 

Thank you for the answer.

 

The Openings are enabled in the IFC file, but I forgot to mention that there is some discrepancy with the example article and the CityGML data requirements, especially for rooms and their walls, ceiling and floor, and I have made some changes. The IFC file is working as intended and does work well if I follow the workbench.

 

As there is this discrepancy, I have split the IfcSpace into individual surfaces comprising of Ceiling, Floor and Interior walls, and disabled the original workbench's Walls and Floors as they do not fit the LoD4 room definition. See the sample for the interior, barring furniture, installations and other interior items. Maybe I could rephrase my question, as I have gain some headway by converting my doors into one solid through their bounding boxes.

 

How could I cut a hole in the wall surface to replicate the opening? I have tried converting them to polygon, surfaces and solids through solid builder, surface builder and other transformers but none have work so far. Interiorwalls and doors

 

Room hierarchy

Hello Kailin,

 

Thank you for making the suggestion. Could I ask what do you mean by reading the openings in the walls? Do you mean that the workflow would be able to interpret that there is an opening in the wall via IFCOpening element and then extract the geometry through another reader? Also, should I be working with IFCOpeningElement or will I need to include doors, walls or other features?

 

And in the workbench, is the opening enabled referring to the geometry that is enabled? If not, what does it refer to?

 

Thank you!

Reply