Skip to main content

I am am trying to convert a IFC-file into a CityGML-file. For inspiration I am relying heavily on the intermediate guide for BIM to gis. Now when I am trying to convert the IFCDoors entities into CityGML doors i get the following error:

CityGML Writer: The 'IFMEMultiCurve' geometry is invalid for the 'lod4MultiSurface' citygml_lod_name, valid geometries for 'lod4MultiSurface' are: {IFMEMultiSurface}, convertible geometries are {IFMETriangleFan, IFMEAggregate, IFMECompositeSurface, IFMEFace, IFMEMesh, IFMEDonut, IFMETriangleStrip, IFMERectangleFace, IFMEBox, IFMEBRepSolid, IFMEExtrusion, IFMEMultiSolid, IFMEMultiArea, IFMEEllipse, IFMEPolygon}.
Storing feature(s) to FME feature store file `U:\Exjobb\FME BIMtoGIS my own\NyvångToCityGMLintermediat_log.ffs'
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Feature Type: `Door'
Attribute(encoded: utf-8)         : `GlobalId' has value `02R5wDVnfBGx4r_HlUhMUt'
Attribute(encoded: utf-8)         : `Name' has value `Door Opening SE:1010x2100:3673635'
Attribute(encoded: utf-8)         : `ObjectType' has value `1010x2100'
Attribute(64 bit real)            : `OverallHeight' has value `2100'
Attribute(64 bit real)            : `OverallWidth' has value `1010'
Attribute(encoded: utf-8)         : `Tag' has value `3673635'
Attribute(encoded: fme-system)    : `_gparent_id' has value `30517139736937767A334D505536556438464C3174305F323730333930'
Attribute(string)                 : `_parent_id' has value `303252357744566E6642477834725F475A55684D55745F373430303236'
Attribute(encoded: fme-system)    : `_parent_type' has value `IfcOpeningElement'
Attribute(encoded: utf-8)         : `areaunit' has value `square_metre'
Attribute(encoded: utf-8)         : `citygml_feature_role' has value `opening'
Attribute(encoded: utf-8)         : `citygml_lod_name' has value `lod4MultiSurface'
Attribute(encoded: utf-8)         : `electriccurrentunit' has value `ampere'
Attribute(encoded: utf-8)         : `electricvoltageunit' has value `volt'
Attribute(string)                 : `fme_feature_type' has value `IfcDoor'
Attribute(string)                 : `fme_geometry' has value `fme_aggregate'
Attribute(entangled: string)      : `fme_type' has value `fme_line'
          entangled to aifc_type]
Attribute(encoded: utf-8)         : `forceunit' has value `newton'
Attribute(encoded: utf-8)         : `frequencyunit' has value `hertz'
Attribute(encoded: utf-8)         : `gml_id' has value `02R5wDVnfBGx4r_HlUhMUt_460895'
Attribute(encoded: utf-8)         : `gml_parent_id' has value `0Qq9si7vz3MPU6Ud8FL1t0_270390'
Attribute(64 bit unsigned integer): `ifc_instance_name' has value `460895'
Attribute(encoded: utf-8)         : `ifc_parent_id' has value `02R5wDVnfBGx4r_GZUhMUt'
Attribute(encoded: utf-8)         : `illuminanceunit' has value `lux'
Attribute(encoded: utf-8)         : `lengthunit' has value `metre'
Attribute(encoded: utf-8)         : `luminousfluxunit' has value `lumen'
Attribute(encoded: utf-8)         : `luminousintensityunit' has value `candela'
Attribute(encoded: utf-8)         : `massunit' has value `gram'
Attribute(32 bit integer)         : `multi_reader_full_id' has value `1'
Atribute(32 bit integer)         : `multi_reader_id' has value `1'
Attribute(string)                 : `multi_reader_keyword' has value `IFC_2'
Attribute(string)                 : `multi_reader_type' has value `IFC'
Attribute(string)                 : `multi_writer_id' has value `0'
Attribute(encoded: utf-8)         : `planeangleunit' has value `degree'
Attribute(encoded: utf-8)         : `powerunit' has value `watt'
Attribute(encoded: utf-8)         : `pressureunit' has value `pascal'
Attribute(encoded: utf-8)         : `thermodynamictemperatureunit' has value `degree_celsius'
Attribute(encoded: utf-8)         : `timeunit' has value `second'
Attribute(encoded: utf-8)         : `volumeunit' has value `cubic_metre'
Attribute(string)                 : `xml_type' has value `xml_line'
Coordinate System: `SWEREF-99-13-30'
Geometry Type: IFMEMultiCurve
Number of Geometry Traits: 1
GeometryTrait(encoded: utf-8): `citygml_lod_name' has value `lod4MultiSurface'
Number of Curves: 2
--------------------------------------
Curve Number: 0
   Geometry Type: IFMELine
   Number of Geometry Traits: 1
   GeometryTrait(encoded: utf-8): `citygml_lod_name' has value `lod4MultiSurface'
   Number of Coordinates: 2 -- Coordinate Dimension: 2
   (20540.1097660952,41061.103468597925)(20540.1097660952,40051.103468597925)
--------------------------------------
Curve Number: 1
   Geometry Type: IFMELine
   Number of Geometry Traits: 1
   GeometryTrait(encoded: utf-8): `citygml_lod_name' has value `lod4MultiSurface'
   Number of Coordinates: 2 -- Coordinate Dimension: 2
   (20440.1097660952,41061.103468597925)(20440.1097660952,40051.103468597925)
===========================================================================
A fatal error has occurred. Check the logfile above for details
... Last line repeated 2 times ...
A fatal error has occurred. Check the logfile above for details
A fatal error has occurred. Check the logfile above for details
A fatal error has occurred. Check the logfile above for details

As far as I can tell the error has to do with the fact that some of my IFCDoor objects uses the a MultiCurve for their geometries.

 

 

Now for the questions:

Is there any filter that can be used to remove the IFCDoor objects with the IFMEMultiCurve geometry?

Is there any way to transform IFMEMultiCurve geometry to one of the specified valid (or convertible) geometries?

Thanks in advance :D

Hi @hadhafang,

The GeometryFilter can be used to extract only the Solid geometries from your Door features. If you set Homogenize Collections and Instantiate Geometry Instances to 'Yes', and set the desired type to 'Solid', the output will be MultiSolids.


Hi @hadhafang,

The GeometryFilter can be used to extract only the Solid geometries from your Door features. If you set Homogenize Collections and Instantiate Geometry Instances to 'Yes', and set the desired type to 'Solid', the output will be MultiSolids.

 

It worked like a spell 😃

Reply