Skip to main content

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.

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.


@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, 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


Thanks @virtualcitymatt​ . It was really helpful.


Reply