Question

Roof is not exporting while converting ifc to citygml

  • 22 January 2019
  • 4 replies
  • 1 view

I have ifctoCityGml template (no idea how it is working) and its working fine and convert my ifc to citygml but the only problem i am facing is that it is not exporting roof while it successfully exported WallSurface, FloorSurface and window. And here is its transformation snap:

As you can see there is no output from FeatureMerger_2 Transformer. I guess Merged, is not producing any output.


4 replies

Userlevel 1
Badge +11

Hi @007fkj,

Glad to see that you're making progress on your IFC to CityGML project! It's possible that no features are coming out of the Merged port in the FeatureMerger since nothing is going into the Supplier port from the Tester. Try running that part of the translation with feature caching enabled (you can find that by going to the toolbar and selecting Run > Run with Feature Caching On). This will give you a bit more information on where features are coming out of the transformer and let you inspect it in the Data Inspector. If the data comes out of UnMerged, then you can swap the connection over to that port, or else if it comes out rejected there are some parameters in the FeatureMerger that set rejected features that you could take a look at. (More info on the parameters for the FeatureMerger can be found here). Please give that a try and let us know how that goes for you.

Hi @007fkj,

Glad to see that you're making progress on your IFC to CityGML project! It's possible that no features are coming out of the Merged port in the FeatureMerger since nothing is going into the Supplier port from the Tester. Try running that part of the translation with feature caching enabled (you can find that by going to the toolbar and selecting Run > Run with Feature Caching On). This will give you a bit more information on where features are coming out of the transformer and let you inspect it in the Data Inspector. If the data comes out of UnMerged, then you can swap the connection over to that port, or else if it comes out rejected there are some parameters in the FeatureMerger that set rejected features that you could take a look at. (More info on the parameters for the FeatureMerger can be found here). Please give that a try and let us know how that goes for you.

Sorry but there is only play (Green button) no else information about feature caching.

Userlevel 1
Badge +11

Sorry but there is only play (Green button) no else information about feature caching.

No problem! There's actually two ways to turn it on, one is using the inspection glass icon, or by going to Run > Run With Feature Caching. Please note that it will slow down the translation/ workspace performance because it is caching the output of every transformer, but it's a useful tool to have for when you are authoring your workspace

Userlevel 2
Badge +17

Hi @007fkj,

In the IFC file the example was built from, the IfcRoof had no geometry, instead having a child IfcSlab containing the geometry, which is why we needed to merge the two.

In your file, it appears that the IfcRoof has no child IfcSlab. This may mean it has its own geometry, or that it has a different child feature. The simplest way to check this out is to right-click on the input IfcRoof feature type and choose Inspect. This will open the IFC file in the Data Inspector, where you can turn off all features except IfcRoof to see if it has its own geometry.

If the IfcRoof does have its own geometry, you can either bypass the FeatureMerger, or also connect the UnMerged output to the GetGrandparentID transformer.

If the IfcRoof does not have its own geometry, then you will need to do a little detective work to determine what the child feature containing the geometry is. In the Data Inspector, click on the IfcRoof in the Display Control window, then click on one of the IfcRoof features in the Table View window. In the Feature Information window, right click and copy the gml_id attribute.

Turn on all the feature types in the Display Control window, then pick Tools - Filter Features from the menu. Create a filter for gml_parent_id = <paste gml_id of the IfcRoof> . This should display all the children of that IfcRoof, so you can see which child has the roof geometry.

In the workspace, please connect the appropriate child features to the Supplier port of the FeatureMerger.

Reply