Hi @fransknibbe, have you set Yes to the Read IfcSpace Geometries parameter of the IFC reader?
Thank you! I had not set "Read IfcSpace Geometries" to "Yes". It makes me feel rather stupid, but I did not know of that parameter.
The transformation is producing geometry in PostGIS now, although it is not 3D. The output is a GeometryCollection containing 2D MultiLines and 2D Polygons. I will have to find out what those geometries represent and if I can obtain the height of the IfcSpace from somewhere to make a 3D shape based on the 2D footprint.
The IfcSpace output from the IFC reader is a complex aggregate geometry that includes the solid geometry of the body, along with Null geometries containing the Property Set information.
To convert the IFC feature into one suitable for PostGIS (or any other GIS), please use the following three transformers:
GeometryPropertyExtractor: this will promote the Property Set traits up to feature attributes. Set Prefix Extracted Trait with Geometry Name to 'Yes' in order to retain the property set name on the attributes.
GeometryPartExtractor: this will extract the body geometry of the Space, discarding the Property Sets. Click on the ... button for the Geometry XQuery and add the test This Part - Geometry Name = Body. The result will be an Extruded Solid geometry with all attributes.
GeometryCoercer: may not be needed, but this will convert the solid to a surface geometry. Set the output Geometry Type to fme_composite_surface.
I am attaching a workspace illustrating the use of these transformers: extractspacebody.fmw
Alternatively, you can use the Revit reader to read the IFC file, choosing Building Spaces for the Revit Data View. The IFC and Revit readers can read both RVZ and IFC files - the difference is that the Revit reader has Data Views to pre-process the data for simplification. The Revit reader will also expose the attributes it extracts from the Property Sets.