Definition from buildingSMART: The IfcPropertySet defines all dynamically extensible properties. The property set is a container class that holds properties within a property tree. These properties are interpreted according to their name attribute.
Property sets, defining a particular type of object, can be assigned an object type (IfcTypeObject). Property sets are assigned to objects (IfcObject) through an objectified relationship (IfcRelDefinedByProperties). If the same set of properties applies to more than one object, it should be assigned by a single instance of IfcRelDefinedByProperties to a set of related objects. Those property sets are referred to as shared property sets.
HISTORY New Entity in IFC Release 1.0
Instances of IfcPropertySet are used to assign named sets of individual properties (complex or single properties). Each individual property has a significant name string. Some property sets have predefined instructions on assigning those significant name, these are listed under "property sets" main menu item within this specification. The naming convention "Pset_Xxx" applies to those property sets and shall be used as the value to the Name attribute.
In addition any user defined property set can be captured, those property sets shall have a Name value not including the "Pset_" prefix.
|HasProperties||:|| Contained set of properties. For property sets defined as part of the IFC Object model, the property
objects within a property set are defined as part of the standard. If a property is not contained within
the set of predefined properties, its value has not been set at this time.
|WR31||:|| The Name attribute has to be provided. The attribute is used to specify the type of the property set
definition. The property set structure for particular property sets may be given within the property
set definition part of the IFC specification.
|WR32||:||Every property within the property set shall have a unique name attribute value.|