Skip to main content

I have 3 questions with regards to converting ifc to citygml

  1. I did a conversion from ifc to citygml, but when I look at the converted citygml model, I only see some attribute information displayed. Is this a proof that converting ifc data to citygml will definitely eliminate some semantic aspects?
  2. How to display volume information of each converted room from ifcspace ? Is it because the space modeled in lod4multisurface cannot be determined in volume? (The conversion scheme I made refers to the conversion scheme found on the fme website and the experiment that has been carried out by the geobim project). previously I also converted ifcspace to Room element. The room is modeled in lod4solid on fzk software and I can see the calculated volume result
  3. I converted the ifcslab element into a citygml model, but when making a conversion scheme to citygml, the element must be modeled on the floor surface element. If it is not modeled on the floor surface, the conversion results cannot be displayed. Whereas as we know that the slab is an element that limits the room both on the bottom side of the room and above it (ground/floor, ceiling/roof). Is it also included in the category of semantic errors?

 

Best Regards

I'll answer these 3 questions as best I can here, but for more detailed explanations on how to convert your specific dataset, its probably best if you submit a support request to safe.com/support and click 'submit a case'.

 

In regards to Q1, yes you are generally correct. IFC is more detailed than CityGML, so there is necessarily loss of detail when you go from IFC to CityGML, including loss of some semantic details. That said, CityGML has some optional fields such as gml_name and gml_description which you can use to store IFC specific information that you may want to preserve.

 

For Q2, not sure I fully understand the question. Is your goal to preserve the volume information from ifcspace? You can certainly calculate the volume with a VolumeCalculator before you convert the geometry to a multisurface, and store this value in an optional comment field such as gml_description. You could also try preserving your room solids by writing out your room features as lod4Solid in addition to floor, all and roof surfaces.

 

Q3. 1 IFC floor slab typically becomes the ceiling of the room below and the floor of the room above. Since the slab is a solid, you typically need to break it apart into component surfaces and calculate the surface normal. The surface normals for the faces pointing up are for the floor surfaces, the surface normals pointing down are from the ceiling surfaces, and the surfaces pointing neither up nor down are typically from the wall surfaces. In the attached example, I used a PlanarityFilter to generate normals and then normalZ < -.2 to capture the ceilings (with the normals pointing down).

 

For some examples of IFC to CityGML conversion see:

https://community.safe.com/s/article/bim-to-gis-intermediate-ifc-lod-300-to-lod-4-cityg

and

https://community.safe.com/s/article/bim-to-gis-advanced-ifc-lod-200-to-lod-3-citygml

 


Example IFC to CityGML workflow from the Indoor Pilot


Reply