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 addressing aspects such as what IfcPropertyDefinition is and how to add, delete, and edit properties of an information model in IFC format with an online IFC editor.
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 objectIfcRelationship
and its derived entities, identify the definition of relationshipIfcPropertyDefinition
and its derived entities, allow model users to define and use data-driven properties with entities.

IFC schema hierarchy
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:
- IfcObject (IFC schema part 1)
- IfcRelationship (IFC schema part 2)
- IfcPropertyDefinition (IFC schema part 3).
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 theIfcRelDefinedByProperties
relationship.IfcProperty
that defines the generalization of the property types that can be associated to IFC objects and depends on a property set.

IFC file schema | IfcPropertyDefinition tree structure
IfcProperty
, further subtypes include:
IfcComplexProperty
which is used to define complex properties to be managed within a property setIfcSimpleProperty
qualifies the properties assigned to a single object. Various subtypes of theIfcSimpleProperty
determine the different ways in which a property value can be set.

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 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 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 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 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 example
Just remember that to view the entity properties of a 3D model, you can use a free online BIM viewer. You simply need to:
- upload an IFC file to the usBIM cloud;
- open the file;
- select the entity;
- read the entity properties in the tool box on the right-hand side.
Examples of properties associated to entities
The figures below show some examples of properties associated to entities.
Specifically, in the first figure you can see a model object; while in the toolbox to the right, you’ll be able to read the entity related properties.

Figure 1 | Reading the general properties of an element
Figure 2 shows how to edit, delete or add entity properties such as the envelope properties included in the IfcWallStandardCase.

Figure 2 | Edit, insert, delete properties of an element
Finally, the third image shows you how to check the inserted properties in the toolbox to the right.

Figure 3 | Viewing the properties added and/or changed