IFC type selection document - NBS National BIM Library

IFC type and predefined type selection process

Selecting the IfcElementType and PredefinedType when populating the value for IfcExportAs and IfcExportType

Property Ifc Schema Example value
IfcExportAs IfcElementType IfcCoveringType
IfcExportType PredefinedType CLADDING

To select the IfcElementType, browse the list of entities on the IFC4 Add2 buildingSMART website, found here: http://www.buildingsmart-tech.org/ifc/IFC4/Add2/html/

Select 6. Shared element data schemas:

Image sourced from BuildingSMART

Then select the IfcElementType you wish to use.

Image sourced from BuildingSMART

As an example, for a wall cladding, IfcCoveringType may be selected. See definitions here: http://www.buildingsmart-tech.org/ifc/IFC4/Add2/html/schema/ifcsharedbldgelements/lexical/ifccoveringtype.htm

Or Select the appropriate data schema, i.e BOILER is in Section 7.2 – Domain specific data schemas

Image sourced from BuildingSMART

Once selected many object types have specific enumerations which list the options available for the IfcElementType. Click the IfcXXXXTypeEnum link to open the list.

Image sourced from BuildingSMART

Select the appropriate PredefinedType from the associated enumerated list: http://www.buildingsmart-tech.org/ifc/IFC4/Add2/html/schema/ifcsharedbldgelements/lexical/ifccoveringtypeenum.htm

Image sourced from BuildingSMART

As a cladding board, the PredefinedType should be assigned as CLADDING.

Objects can be modelled with parametric capability to allow for one modelled object to represent multiple products by varying the parametric parameters.

To allow for meaningful IFC export each potential occurrence of a different IfcElementType for that one parametric object should be created as a new individual object and assigned the relevant IfcElementType and PredefinedType.

While the variations of a modelled object may cover multiple PredefinedType designations, each variation should include a single IfcElementType and PredefinedType. Ex: A covering object may be used as either a wall or a floor covering, the PredefinedType may be parametrically controlled to define the wall application variation as IfcCoveringType, CLADDING; while the floor application may use IfcCoveringType, FLOORING, etc.