Industry Foundation Classes (IFC) Feature Representation
This section describes the features that are output from the IFC reader.
Quick Links
Coordinate System |
---|
Attributes |
---|
Special Feature Types |
---|
Coordinate System to Read
Esri *.prj and *.wld/wld3 Files
FME will search the folder of the dataset for a file with the same name as your dataset but with a projection file (.prj) extension. If it cannot find a file with that name, it will then look for the file esri_cad.prj within the dataset folder. If either of those files exists, FME will use the coordinate system information contained within to geolocate the IFC file.
If a .prj file is found, FME will also search the folder of the dataset for a file with the same name as your dataset, but with a world file extension (.wld or .wld3). If it cannot find a file with that name, it will then look for the file esri_cad.wld/esri_cad.wld3 within the dataset folder. If either of those files exists, FME will use the information in the file to translate the coordinates of the features in the dataset to their new geospatial coordinates.
If no .wld/.wld3 file is found, the translation will continue using the georeferencing information found in the .prj file, while reading coordinates in the coordinate system defined by the IFC file’s Survey Point. The reader will also use the file’s defined Project Units.
If the files cannot be found, then the translation will continue, using the coordinate information found in the dataset, without performing any additional transformation.
For more information on creating .prj and .wld/.wld3 files in ArcGIS Pro, please refer to the ArcGIS help page: Geospatial position of CAD and BIM data.
Native IFC Georeferenced Coordinate System
If FME does not find an Esri .prj file,it will instead look for georeferenced coordinate system information on the IfcMapConversion and IfcProjectedCRS elements in the IFC dataset. In order for the dataset to be properly georeferenced, the IFC file needs to reference a valid coordinate system with a correctly specified IfcMapConversion.
If FME finds georeferencing data in the IFC dataset, it will set the coordinate system name to the coordinate system it finds in the dataset and will geolocate features using the transformation specified by the IfcMapConversion.
Attributes
Common Attributes
Attribute/Trait Name |
Contents |
---|---|
ifc_name |
The name of the instance the feature represents. |
ifc_global_id |
The global ID of the instance the feature represents. |
ifc_parent_id |
The hierarchical parent global ID of the instance the feature represents. |
ifc_element_type |
The IFC element type IfcElementType. |
ifc_description |
The description of the instance the feature represents. |
ifc_element_id |
The element ID (AKA STEP instance name) of the instance the feature represents. |
Common Attributes for Geometric Elements
FME will read the following attributes on features representing geometric elements:
Attribute/Trait Name |
Contents |
---|---|
ifc_context_identifier |
The context identifier for the instance this feature represents. |
ifc_context_type |
The context type for the instance this feature represents. |
ifc_representation_identifier |
The representation identifier for the instance this feature represents. |
ifc_representation_type |
The representation type for the instance this feature represents. |
Attributes for Texture Information
FME will read the following attributes if the geometry contains a texture:
Attribute/Trait Name |
Texture Type |
Contents |
---|---|---|
ifc_texture_type |
– |
The type of texture on the geometry. Types include IfcImageTexture, IfcBlobTexture, and IfcPixelTexture. |
ifc_texture_urlreference |
IfcImageTexture |
The filename or url of the image. |
ifc_texture_rasterformat |
IfcBlobTexture |
Indicates the format (such as “PNG”) of the embedded raster. |
ifc_texture_rastercode |
IfcBlobTexture |
This attribute will contain the binary blob representing the raster. |
ifc_texture_width |
IfcPixelTexture |
This attribute defines the width of the raster. |
ifc_texture_height |
IfcPixelTexture |
This attribute defines the height of the raster. |
ifc_texture_colourcomponents |
IfcPixelTexture |
This attribute defines the number of components within each pixel. |
ifc_texture_pixel |
IfcPixelTexture |
This attribute defines the binary blob of the embedded raster. |
Special Feature Types
Non Geometric Feature Types
The following feature types are always read without geometry, but have useful attributes:
Project
The Project feature type reads the single IfcProject element in the dataset. It has the following unique attributes:
Attribute/Trait Name |
Contents |
---|---|
ifc_phase |
The phase of the project. |
ifc_schema |
The schema of the project. |
ifc_project_units{} |
The project's units. |
OwnerHistory
The OwnerHistory feature type reads the single IfcOwnerHistory element in the dataset. The feature has attributes representing the data contained within element including OwningUser, OwningApplication, LastModifyingUser, and LastModifyingApplication. Additionally, it has the following unique attributes:
Attribute/Trait Name |
Contents |
---|---|
ifc_state |
The state of the dataset. |
ifc_last_modified_date |
The last modified date of the project. |
ifc_creation_date |
The creation date of the project. |
ifc_change_action |
The value of the IfcChangeActionEnum for the project. |
PresentationLayerAssignment
The PresentationLayerAssignment feature type reads one feature for each PresentationLayerAssignment element in the dataset. It has the following unique attributes:
Attribute/Trait Name |
Contents |
---|---|
ifc_assigned_items{} |
Each entry in this list attribute holds the ID of an element assigned to the IfcPresentationLayer represented by this feature. |
Group
The Group feature type reads one feature for each group in the dataset. It has the following unique attributes:
Attribute/Trait Name |
Contents |
---|---|
ifc_group_member{} |
A list attribute that contains one entry with the ID of each member in the group. |
Other Attributes
FME will read the following attributes if the IFC element has them:
Attribute/Trait Name |
Contents |
Ifc Element Type |
---|---|---|
ifc_composition_type |
The value of the CompositionType enum denotes whether the predefined spatial structure element represents itself, or an aggregate or a part. |
Applicable to all subtypes IfcSpatialStructureElement (for example, sites, spaces, buildings, etc.). |
ifc_contains_elements{} |
A list of global IDs of all elements which are contained within this element. |
Applicable to spatial elements (for example, building storeys). |
ifc_decomposed_by{} |
The global IDs of the elements that this element is composed of. |
|
ifc_elevation_with_flooring |
The level of flooring of a space. |
Applicable to spaces. |
ifc_land_title_number |
The land title number (designation of the site within a regional system). |
Applicable to sites. |
ifc_longname |
The long name of an element. |
Applicable to the project element, as well as spatial elements (for example, buildings, sites, spaces, facilities, etc.). |
ifc_nested_by{} |
The global IDs of the elements that are nested under this element. |
|
ifc_operation_type |
The type defining the general layout and operation of a door in terms of the partitioning of panels and panel operations. |
Applicable to doors. |
ifc_overall_height |
Overall measure of the height. |
Applicable to doors and windows. |
ifc_overall_width |
Overall measure of the width. |
Applicable to doors and windows. |
ifc_partitioning_type |
The type defining the general layout of a window in terms of the partitioning of panels. |
Applicable to windows. |
ifc_predefined_type |
The value of the predefined type enum, to define the particular type of an element. |
Applicable to all subtypes of IfcBuildingElement (for example, walls, doors, windows, etc.) and spaces. |
ifc_proxy_type |
The value of the ProxyType enum. |
Applicable to IfcProxy elements. |
ifc_ref_elevation |
Elevation relative to sea level. |
Applicable to sites. |
ifc_ref_latitude |
World latitude reference point in WGS84 (given in degrees, minutes, seconds, and milliseconds). |
Applicable to sites. |
ifc_ref_longitude |
World longitude reference point in WGS84 (given in degrees, minutes, seconds, and milliseconds). |
Applicable to sites. |
ifc_tag |
The tag or label identifier at the of an element, e.g. the serial number, or the position number. |
Applicable to all subtypes of IfcElement (for example, walls, furnishings, assemblies, stairs, etc.), and proxy elements. |
ifc_user_defined_operation_type |
The user-defined operation type, if the value of ifc_operation_type is set to USERDEFINED. |
Applicable to doors. |
ifc_user_defined_partitioning_type |
The user-defined partitioning type, if the value of ifc_partioning_type is set to USERDEFINED. |
Applicable to windows. |