IFC file schema: the IfcPropertyDefinition

IFC schema (part 3): the IfcPropertyDefinition

IfcPropertyDefinition and IFC data schema: here’s how to read, edit and add properties to objects in an IFC model

In this post we’ll be dealing with the third pillar of the IFC schema, the IfcPropertyDefinition or the mechanism that defines the generalization of information (set of properties) that may be assigned to multiple instances of objects.

Have a look at our previous articles regarding IfcObjectDefinition and IfcRelationship to have a complete overview of the 1st level of specialization within the IFC class hierarchy:

  1. IfcObject (IFC schema part 1)
  2. IfcRelationship (IFC schema part 2)
  3. IfcPropertyDefinition (IFC schema part 3).

The IFC model hierarchical structure

The IFC schema represents a sort of storage system that saves building-object related information ensuring access to the information asset over time and without any restrictions. The IFC standard file structure basically configures a model consisting of hundreds of entities organized hierarchically.

IFC models are described according to the schema objects in three broad categories:

  • IfcObjectDefinition and its derived entities, used to implement the definition of the object
  • IfcRelationship and its derived entities, identify the definition of relationship
  • IfcPropertyDefinition and its derived entities, allow model users to define and use data-driven properties with entities.
IFC schema hierarchy: the IfcPropertyDefinition

IFC schema hierarchy

IfcPropertyDefinition

The subtype hierarchy of the IfcPropertyDefinition includes:

  • IfcPropertySetDefinition that is the generalization of property sets.
  • IfcPropertySet that represents a supertype of property sets. These properties are defined and qualified by name. Property sets are assigned to objects (IfcObject) by means of the IfcRelDefinedByPropertiesrelationship.
  • IfcPropertythat defines the generalization of the property types that can be associated to IFC objects and depends on a property set.
IfcPropertyDefinition tree structure

IFC file schema | IfcPropertyDefinition tree structure

IfcProperty, further subtypes include:

  • IfcComplexProperty which is used to define complex properties to be managed within a property set
  • IfcSimpleProperty qualifies the properties assigned to a single object. Various subtypes of the IfcSimpleProperty determine the different ways in which a property value can be set.
IfcPropertyDefinition

IFC file schema | IfcSimpleProperty tree structure

IfcSimpleProperty

The IfcSimpleProperty incorporates 6 different subtypes that are listed below.

IfcPropertySingleValue

defines a property object which has a single value assigned through numeric or descriptive elements:

  • Name
  • Nominal Value
  • Type (through IfcValue)
  • Unit.

Example of a property with single value to describe a 4 cm thick door, with transmittance value of 2.6 w / (m² K) that is produced by “Manufacturer A”:

IfcPropertySingleValue

IfcPropertySingleValue example

IfcPropertyEnumeratedValue

defines a property object with an assigned value which is chosen from an enumeration. The property-value combination is specified within the IfcPropertyEnumerated class, which is a subtype of the IfcPropertyEnumeratedValue.

Here is an example:

IfcPropertyEnumeratedValue

IfcPropertyEnumeratedValue example

IfcPropertyBoundedValue

defines a property object which has two (numeric or descriptive) values assigned: the value specifying the upper bound and the value specifying the lower bound.

This property could, for instance, determine size and weight dimensions of an object to be moved in a construction site.

IfcPropertyBoundedValue

IfcPropertyBoundedValue example

 

IfcPropertyTableValue

defines a property object which has two lists of values assigned, which specify a table with two columns. The values shown in the first column establish the scope of application for the values in the second column

For example, the table below illustrates  the values of sound transmission loss within a certain range.

ifcPropertyTableValue

IfcPropertyTableValue example

 

IfcPropertyReferenceValue

assigns a value to the property set through a link with predefined complex properties within the IFC schema.

IfcPropertyListValue

defines a property to which multiple values are assigned. These values are given by a precise and ordered list (the order in which the values are displayed is significant). Each value in the list is unique and duplicate values are not allowed.

The listed property values could, for example, determine the dimensions to produce a specific construction.

IfcPropertyListValue

IfcPropertyListValue example

Examples of properties associated to entities

The figures below show some examples of properties associated to entities as represented in the usBIM.viewer+ working space.

Specifically, in the first figure you can see a door object selected in the left-hand side toolbox; while in the toolbox to the right, you’ll be able to read the entity related properties.

ifcpropertyset

Figure 1: reading the door entity properties | usBIM.viewer+

The second figure (Figure 2) illustrates how to add a property to entity sets. Simply launch the IFC model editor, then by selecting two entities from the properties dialog box, you can easily insert a new surface “painting” property associated to the WallCommon entities.

IfcPropertyDefinition

Figure 2: inserting a property to a wall entity | usBIM.viewer+

 

Figure 3 shows how to modify the volume properties included in the IfcWallStandardCase, switching it from “White plaster” to “Bush-hammered white plaster”.

IfcPropertyDefinition

Figure 3: editing a wall entity property | usBIM.viewer+

 

Finally, the fourth image shows you how to check the inserted properties: by selecting the wall entity on theIfcWallStandardCase node, you can read the changes applied in its properties in the toolbox to the right. These are the painting with “colour” attribute and the changes to the “plaster” attribute.

Ifc schema

Figure 4: reading the properties assigned to the wall entity | usBIM.viewer+

IFC viewer download

If you’d like to analyse the IfcProperty assigned, to insert and/or edit a building’s entities such as wall, slab, window, door, etc., simply download usBIM.viewer+freeware.

For further info on this topic, you can read these other articles:

  1. article regarding the IfcObject (IFC schema part 1)
  2. article regarding the IfcRelationship (IFC schema part 2)
  3. article reharding the IfcPropertyDefinition (IFC schema part 3).
usbim-viewer
usbim-viewer