Skip to main content
Solved

Converting a multisolid (Building in cityGML) to roof, ground and wall surfaces


mahbouberezaiee

Hi. I am searching for a solution to convert the result of my workflow which is a multi solid to different surfaces including ground, wall and roof. Is it possible in FME? I have searched a lot but it seems to be impossible.

Best answer by virtualcitymatt

You can use a GeometryPartExtractor to extract the IFMEFace Geometries. This will give you the surfaces. You can then use a PlanrityFilter to extract the surface normals, once you have the surface normals you can filter based on the Z normal - Positive Z should be a roof, 0 Z should be a wall and -1 Z should be a ground. Sometimes the normals are not quite so perfect for wall or the ground so check is they are close.

View original
Did this help you find an answer to your question?

4 replies

virtualcitymatt
Celebrity
Forum|alt.badge.img+35

You can use a GeometryPartExtractor to extract the IFMEFace Geometries. This will give you the surfaces. You can then use a PlanrityFilter to extract the surface normals, once you have the surface normals you can filter based on the Z normal - Positive Z should be a roof, 0 Z should be a wall and -1 Z should be a ground. Sometimes the normals are not quite so perfect for wall or the ground so check is they are close.


mahbouberezaiee

@virtualcitymatt, thanks for your Reply.

I added them to your last workflow but it doesn't work well. can you please take a look at that and correct it?​ 


virtualcitymatt
Celebrity
Forum|alt.badge.img+35
mahbouberezaiee wrote:

@virtualcitymatt, thanks for your Reply.

I added them to your last workflow but it doesn't work well. can you please take a look at that and correct it?​ 

You just need to switch the test in the GeometryPartExtractor to be IFMEFace (not Brep) You want to extract the Face geometries from the Solid


mahbouberezaiee

Thanks @virtualcitymatt​ . It was really helpful.


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings