A very interesting feature of the IFC model is the IfcPropertySet . According to the official IFC specification, the IfcPropertySet is “a container class that holds properties within a property tree”. This allow to add user-defined properties to IFC elements or types. To make an analogy with Revit, it is pretty much like creating shared parameter.
Since the IFC exporter for Revit is accessible as open source code, a new exporter have been developed, and offer far more control over the creation of IFC files from Revit. One of the improvement is the ability to select Revit properties to be exported as IfcPropertySet.
The default option only export common IFC properties, but you can also export the entire set of Revit properties, or just selected ones, through user-defined property sets.
To create one, I download one of the example coming along with the source code of the new exporter.
In this example, we can see the global syntax for creating user defined property sets.
I use it to create my own PropertySet Definition File, and use it to export Creation Phase and Demolition Phase to a new PropertySet called Phases.
PropertySet: Phases I IfcElement
Creation Phase Text Phase Created
Demolition Phase Text Phase Demolished
In this definition file, we set up the name of the PropertySet, its use (on instances or on types) and the list of elements were we want to apply our properties.
Then we add the mapping between IFC (left member) and Revit properties (right member), along with its data type (Text, Real, Integer or Boolean)
We add this file in the IFC Export configuration, and export our IFC file. We can now see these properties appearing under the Phases set :
If IFC export and import is still not powerfull enought in many software solutions to enable geometrical modifications directly in the IFC file, there are plenty of opportunities to add metadata to the element, directly in IFC.