Open beta
Bimly is in open beta. Features and pricing may change before general availability. We'd love to hear your feedback — get in touch → see what's new →
Reference

IFC Standard Pset Reference: What Is Inside Pset_*Common

A per-element reference for IFC standard property sets — what Pset_WallCommon, Pset_DoorCommon and the rest contain, plus the Qto_* sets that carry quantities.

5 min read
Key points
  • Pset_*Common is buildingSMART's standard property set for each element type
  • "Common" means the minimum you may expect from any tool — vendor psets are a separate thing
  • Quantities do not live in a Pset; they live in Qto_*BaseQuantities
  • An empty property usually means the exporter never wrote it, not that the file is broken

You open an IFC someone sent you, look at the properties panel, and see Pset_WallCommon and Qto_SlabBaseQuantities staring back — with no obvious way to tell which of it is standard and which is whatever their authoring tool decided to add. This is a lookup table for the standard sets you actually meet on projects.

What Pset_*Common means

Properties in IFC do not hang off an element one at a time. They arrive in bundles called property sets (psets). The mechanics are covered in property sets and classification; for this page one distinction is enough.

A name that starts with Pset_ and ends in Common is defined by buildingSMART in the schema. Anything else — Pset_ACME_Something, ArchiCADProperties, Pset_TQS_Padrao — was added by an authoring tool or a template.

The distinction earns its keep when you do not know what the sender used. A standard pset is something you can expect under the same name whether the file came out of Revit or ArchiCAD. A vendor pset is only reliable if you run the same tool they do.

Standard psets by element type

These are the properties observed across real IFC files. Not every exporter writes every field — whether it appears at all is an export setting on the sending side.

ElementPsetMain properties
WallPset_WallCommon Reference / IsExternal / LoadBearing / FireRating / AcousticRating / ThermalTransmittance / ExtendToStructure
Slab / floorPset_SlabCommon Reference / IsExternal / LoadBearing / FireRating / AcousticRating / ThermalTransmittance / PitchAngle
ColumnPset_ColumnCommon Reference / IsExternal / LoadBearing / FireRating / Slope / Roll
BeamPset_BeamCommon Reference / IsExternal / LoadBearing / FireRating / Slope / Span
RoofPset_RoofCommon Reference / IsExternal / LoadBearing / TotalArea / ProjectedArea
DoorPset_DoorCommon Reference / IsExternal / FireRating / FireExit / SelfClosing / SmokeStop / AcousticRating / SecurityRating / ThermalTransmittance / GlazingAreaFraction / HandicapAccessible
WindowPset_WindowCommon Reference / IsExternal / FireRating / SmokeStop / AcousticRating / SecurityRating / ThermalTransmittance / GlazingAreaFraction
StairPset_StairCommon Reference / IsExternal / NumberOfRiser / NumberOfTreads / RiserHeight / TreadLength / NosingLength / RequiredHeadroom / HasNonSkidSurface / WalkingLineOffset
Covering / finishPset_CoveringCommon Reference / IsExternal / Material / Finish / TotalThickness / FireRating / AcousticRating / Combustible / FlammabilityRating / SurfaceSpreadOfFlame
Member (brace, strut)Pset_MemberCommon Reference / IsExternal / LoadBearing / FireRating / Slope / Span
PlatePset_PlateCommon Reference / IsExternal / LoadBearing / FireRating / AcousticRating / ThermalTransmittance
Unclassified elementPset_BuildingElementProxyCommon Reference / IsExternal / LoadBearing / FireRating

The four you will see almost everywhere

Reference

The type mark. Usually the drawing's own code — "W-01", "S-200" — as a string.

IsExternal

Whether the element faces outside. A boolean, and the starting point for envelope take-offs and thermal work.

LoadBearing

Whether it is structural. The first thing a structural engineer filters on.

FireRating

Fire performance — and note it is a string, not a number: "60", "1 hour", "REI 60".

Quantities live in Qto, not Pset

Looking for area or volume in Pset_WallCommon will not find them. Quantities sit in a parallel family, Qto_*BaseQuantities (some exporters write plain BaseQuantities).

Quantity setMain quantities
Qto_WallBaseQuantitiesLength / Width / Height / GrossSideArea / NetSideArea / GrossFootprintArea / NetFootprintArea / GrossVolume / NetVolume
Qto_SlabBaseQuantitiesWidth / Length / Depth / Perimeter / GrossArea / NetArea / GrossVolume / NetVolume / GrossWeight / NetWeight
Qto_ColumnBaseQuantities / Qto_BeamBaseQuantitiesLength / CrossSectionArea / OuterSurfaceArea / GrossVolume / NetVolume

Do not mix up Gross and Net. Gross is before openings are deducted, Net is after. On a heavily glazed wall the two are very different numbers, and picking the wrong one quietly changes the take-off. Quantity takeoff from IFC goes into it.

When a property is empty, check in this order

It was never exported

By far the most common cause. Property output is off by default in some authoring tools' IFC settings, so start with the export configuration rather than the file.

It is in a vendor pset instead

Fire rating may be sitting under a tool-specific name, sometimes in the sender's own language. Searching only for the standard name will miss it.

It is on the type, not the occurrence

Properties attach to element types as well as to individual elements, and some viewers show type properties in a separate place — easy to walk past.

The IFC version differs

Some properties moved or were renamed between IFC2x3 and IFC4, so check which version you are holding.

Turning “it should be there” into something checkable

Reading a list and eyeballing the model stops working somewhere past a few thousand elements. Writing a requirement like “every wall must carry Pset_WallCommon.FireRating” in a machine-readable form is what IDS is for, and running that requirement against the model is model checking. Missing properties are close to invisible to the eye, so the reference above is only useful in combination with those two.

Related articles