Today, a rather technical article about Property Sets – or Psets for short Psets. If you are Construction Industry, Facility Management or CAFM working in the field, Psets are probably something you've heard of before. Maybe you've also wondered: "What's this now? Another BIM-acronym that complicates everything?" Don't worry – who hasn't struggled with a IFC-export that looked like a puzzle with missing pieces? In this post, I'll explain what Psets are, why they are essential, how they work, and how to use them in practice. In the end, knowledge you'll see how to make Psets your ally instead of viewing them as a necessary evil. I hope so ;-)
What are Property Sets, actually?
Imagine a BIM model is like a state-of-the-art Lego house. The geometry – walls, floors, doors – forms the visible structure. But what makes the house truly useful? The properties: Is the door fire-resistant? What is the heating output of the room? When does the air conditioning need maintenance? These are exactly Property Sets, or Psets: standardized packages of attributes (properties) that describe objects in a BIM model .
Technically, Psets are defined in the IFC-format (Industry Foundation Classes). IFC is the open standard from buildingSMART for data exchange in the Construction Industry. A Pset is a group of properties that logically belong together, e.g. Pset_SpaceCommon for rooms or Pset_DoorCommon for doors. Each property has a name, a data type (e.g., String, Real, Boolean, Enumeration), and a value. Psets can be standardized (from the IFC specification) or proprietary (customer-specific).
A small example: Let's take a room. The standard Pset Pset_SpaceCommon contains properties such as GrossPlannedArea (gross floor area), NetPlannedArea (net floor area), IsExternal (whether it's an exterior space) or OccupancyType (usage type). Sounds dry? It is – until you realize that without this information, your facility manager is left in the dark. Humorously put: Without Psets, your BIM model is like a car without an engine – nice to look at, but you won't get far.
Psets are not new. They have existed since IFC2x3 (around 2005) and were significantly expanded in IFC4 (2013) and IFC4.3. Today, there are over 500 standardized Psets for everything from building components to construction products. But beware: Not every BIM authoring tool fills them out automatically. Revit does a good job, ArchiCAD often requires adjustments, and some planners only fill in the mandatory fields – the rest remains empty like a Parking lot at midnight.
The Structure of Psets: A Technical Deep Dive
Let's dive deeper without getting boring. In the IFC schema, a Pset is an instance of the class IfcPropertySet. It contains a list of IfcProperty-objects. Each property has:
Name: Unique identifier, e.g.
ReferenceorFireRating.NominalValue: The value, e.g.
IFCREAL(2.5)for 2.5 m².Unit: Optional, e.g.
IFCUNITfor meters.DataType: As mentioned, from simple types to complex ones like
IfcLabel(String with max. 255 characters).
Psets are assigned to objects via IfcRelDefinesByProperties. This is the relationship class that says: "This IfcSpace has that Pset." In an IFC file, it looks like this (simplified STEP format):
#42=IFCPROPERTYSET('2bW$#scO$0bIxPq$9K4y$oA',$,('Pset_SpaceCommon'),$);
#43=IFCPROPERTYENUMERATEDVALUE('OccupancyType',$,.EDUCATION.,$);
#44=IFCRELDEFINESBYPROPERTIES('3D4$eGq$0bIxPq$9K4y$oA',$,$,(#41),(#42));Translated: Pset "Pset_SpaceCommon" with property "OccupancyType" = "EDUCATION" is assigned to object #41. Sounds like hieroglyphics? It is, but Tools tools like BIM Vision or IfcOpenShell turn them into readable tables.
Important: Psets are flat flat – not nested structures. More complex information comes via Quantity Sets (Qsets) for measurable values like volume (IfcQuantityVolume) or via Types (IfcTypeObject). And yes, there are Pset_TypesPset_Types Pset_DoorTypeGlazingwhich all instances of a type share.
A stumbling block: Case-Sensitivity! PsetSpaceCommon IFC vs. ifc psetspacecommon – IFC is case-sensitive. A small typo, and your Viewer will display nothing. Tough luck ;-)
Why Psets are Worth Gold in Facility Management
Remember my last article about BIM viewer? It was about metadata quality – and Psets are exactly the core of it. In Facility Management (FM), Psets translate BIMData into operational information. Without them, your IFC export is as useless as an umbrella in the desert.
Core benefits:
Asset Management: Serial numbers, manufacturer, maintenance intervals from
Pset_MaintenanceElementCommon.Room Data: Areas, usage, energy consumption from
Pset_SpaceCommon.Compliance: Fire protection classes (
FireRating), accessibility (WheelchairAccessibility).COBieExport: The COBieformat (Construction Operations Building Information Exchange) is based almost exclusively on Psets. Without complete Psets, no clean FM import.
Practical example: Imagine your CAFM system (e.g. Planon) is supposed to take over maintenance planning. The pump Pset Pset_PumpCommon has UsageFuel, StartUpTime and RatedFlowRate. Missing SerialNumber? Hello, manual search! In reality, good Psets save hours: A facility manager filters in a Viewer by rooms with OccupancyType=OFFICE and exports areas for tenant billing – lightning-fast as CSV.
Campus, which standardize type-specific information. to proprietary formats (Revit Shared Parameters), Psets are open and interchangeable. But: Many planners fill them half-heartedly. IFC4.3 brings improvements with
In Comparison Tip: You can find the official list at Pset_*_PredefinedType. Over 500 Psets – but for FM, 20-30 core Psets are enough. Don't let anyone tell you otherwise (or convince me otherwise...).
Common Psets at a Glance: A Table for Reference
Here is a selection of relevant Psets for FM. I have divided them into categories – perfect for printing and sticking on your monitor.
Tip: You can find the official list at buildingSMART. Over 500 Psets – but for FM, 20-30 core Psets are sufficient. Don't let anyone convince you otherwise (or convince me of the opposite...).
Pitfall: Enumeration Values. OccupancyType only accepts buildingSMART enumeration values such as EDUCATION, not "Office". Incorrect values? Viewer displays empty.
Psets in Practice: Creating, Validating, Exporting
Create in Authoring-Tools:
Revit: Psets via Type Properties or Shared Parameters (map to IFC). Export as IFC: Pay attention to "Export Property Sets" activate.
ArchiCAD: Property Manager – assign Psets directly.
Solibri: Rule-Checker for Psets ("Missing Pset_SpaceCommon").
Validation:
Use Solibri Model Checker or free Tools like IFC Validator. Script with IfcOpenShell (Python):
import ifcopenshell
model = ifcopenshell.open('model.ifc')
for space in model.by_type('IfcSpace'):
psets = ifcopenshell.util.element.get_psets(space)
if 'Pset_SpaceCommon' not in psets:
print(f"Raum {space.Name} fehlt Pset!")This saves nerves – and shows where planners have lied.
Export and Integration:
To CSV/COBie: Viewers like Trimble Connect or Autodesk export Psets cleanly.
API: REST endpoints of viewers deliver Psets as JSON.
CAFM-Import: Map
Pset_SpaceCommon.GrossPlannedAreato Planon field "Gross Floor Area".
Trade-off: Cloud- Viewers stream Psets really fast, but offline? Often only geometry, Psets load later. Desktop solutions like BIM Vision: Everything local, but RAM-hungry (and you'd actually have to ask your IT to install it...).
Common Problems and How to Solve Them
Psets sound great – until they don't work. Here are the classics:
Empty Psets: Planners export only geometry. Solution: RFP clause "100% Pset_SpaceCommon for all rooms".
Incorrect Names/Units: "Area" instead of "GrossPlannedArea", meters instead of m². Solution: Automated checks with scripts.
Interpretation error: Viewer shows Psets, export changes names. Solution: Quick test from our latest article!
Versions: IFC2x3 vs. IFC4 – Psets differ. Solution: Choose a viewer with IFC4 support.
Concrete example: An FM team tested a Revit export. Pset_PumpCommon.SerialNumber was there, but as a string "NULL" instead of empty. Import into CAFM: Duplicates! Fix: Pre-processing script that cleans up NULL values.
Tip for power users: Use XKT (glTF-based) for web viewers – Psets are then retained as metadata.
Psets in the Future: Trends and Best Practices
IFC5 (in progress) expands Psets with AI-friendly structures, e.g., for Predictive Maintenance. Digital twins thrive on Psets – live linked with IoT-sensors (e.g. Pset_SensorCurrent).
Best Practices:
Standard first: Only proprietary Psets as a supplement.
Check matrix: As in our test matrix – demand 90% correctness.
Automate: CI/CD for IFC validation.
Training: Train planners on Psets – saves FM costs.
Comparison: Psets vs. Alternatives
In my view, Psets are winning – for interoperability.
Conclusion: Make Psets the Star of Your Workflow
Property Sets are the unsung hero in the BIM-FM battle. Technically robust, standardized, and practical – if you use them correctly. Test with real files, automate checks, and request them in RFPs. This is how BIM becomes-chaos usable Data.


