#### 5.1.3.14 IfcPropertySetTemplate

| Modèle d'ensemble de propriété
| Merkmalsliste - Vorlage

IfcPropertySetTemplate defines the template for all dynamically extensible property sets represented by IfcPropertySet. The property set template is a container of property templates within a property tree. The individual property templates are interpreted according to their Name attribute and shall have no values assigned.

> NOTE By convention an IfcPropertySetTemplate can also be used as a template for an IfcElementQuantity, being a particular type of a property set definition.

Property set templates can form part of a property library used and declared within a project. Depending on the TemplateType the IfcPropertySetTemplate defines a template for:

- "Pset_" - occurrences of IfcPropertySet
- "QTO_" - occurrences of IfcElementQuantity

> HISTORY New entity in IFC4.

Relationship use definition

The inherited HasContext inverse relation to IfcRelDeclares is used to declare the IfcPropertySetTemplate within a project library. If included in an exchange data set it can then be traversed through the IfcProjectLibrary.

The Defines inverse relation to IfcRelDefinesByTemplate is provided to keep the definition relationship between the IfcPropertySetTemplate and the one to many IfcPropertySet's, for which it provides the template.

Between IfcProperty's within the HasProperties set of IfcPropertySet having the same Name attribute value as the IfcPropertyTemplate's within the HasPropertyTemplates set of IfcPropertySetTemplate an implicit definition relationship is established that assigns the template to the individual properties.

Figure 36 illustrates relationships used for property set templates.

Figure 36 — Property set template relationships

## Building Automation

For objects that have specific properties, IFC provides an extensibility mechanism in the form of Property Sets. To describe the data types, value ranges, and other metadata, IFC provides Property Set Templates. Properties may describe characteristics of product types, as well as real-time values, function parameters, and event parameters on devices.

There are three fundamental types of property sets: Type-driven, Occurrence-driven, and Performance-driven. Type-driven properties describe state that is inherent to a product model and cannot be configured or changed at occurrences. Occurrence-driven properties describe state that may be customized at particular occurrences, but is not intended to change dynamically over time without human configuration. Performance-driven properties describe state that may change over time, potentially at millisecond intervals or less.

For building automation, performance-driven properties are used to capture sensed and controlled values, while occurrence-driven properties are used to capture configuration parameters. Performance-driven properties are always in the form of time series, indicating sequences of values at periodic or irregular intervals.

The IFC model allows property set templates to be defined independently of object types, to provide a generic extensibility mechanism. The model also allows for property set templates to be identified explicitly on specific product types, such that when instances are created then such data can be automatically instantiated. In such cases, a property set is directly linked to the product type, where any values provided indicate defaults.

Property set templates may be mapped to managed runtime environments such as Java or .NET where data may be synchronized between the IFC model and programmatic extensions. The IFC classification mechanism is used to uniquely identify programmatic elements according to namespace and type name.

The following concepts are inherited at supertypes:

- IfcRoot: Revision Control

Instance diagram

Identity

The Identity concept applies to this entity.

Property set templates are named according to designation in protocol documentation. For custom property sets, the prefix "Pset_" should be avoided to prevent conflicts with IFC-defined property sets.

Exchange |  |  |  |  |
--- | --- | --- | --- | --- | ---
Import |  |  |  |  |
Export |  |  |  |  |

XSD Specification:

<xs:element name="IfcPropertySetTemplate" type="ifc:IfcPropertySetTemplate" substitutionGroup="ifc:IfcPropertyTemplateDefinition" nillable="true"/>
<xs:complexType name="IfcPropertySetTemplate">
<xs:complexContent>
<xs:extension base="ifc:IfcPropertyTemplateDefinition">
<xs:sequence>
<xs:element name="HasPropertyTemplates">
<xs:complexType>
<xs:sequence>
<xs:element ref="ifc:IfcPropertyTemplate" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute ref="ifc:itemType" fixed="ifc:IfcPropertyTemplate"/>
<xs:attribute ref="ifc:cType" fixed="set"/>
<xs:attribute ref="ifc:arraySize" use="optional"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>

EXPRESS Specification:

ENTITY IfcPropertySetTemplate

| SUBTYPE OF IfcPropertyTemplateDefinition;

TemplateType | : | OPTIONAL IfcPropertySetTemplateTypeEnum;
ApplicableEntity | : | OPTIONAL IfcIdentifier;
HasPropertyTemplates | : | SET [1:?] OF IfcPropertyTemplate;

| INVERSE

Defines | : | SET OF IfcRelDefinesByTemplate FOR RelatingTemplate;

| WHERE

ExistsName | : | EXISTS(SELF\IfcRoot.Name);
UniquePropertyNames | : | IfcUniquePropertyTemplateNames(HasPropertyTemplates);

END_ENTITY;

EXPRESS-G diagram

Attribute Definitions:

TemplateType | : | Property set type defining whether the property set is applicable to a type (subtypes of IfcTypeObject), to an occurrence (subtypes of IfcObject), or as a special case to a performance history. The attribute ApplicableEntity may further refine the applicability to a single or multiple entity type(s).
ApplicableEntity | : | The attribute optionally defines the data type of the applicable type or occurrence object, to which the assigned property set template can relate. If not present, no instruction is given to which type or occurrence object the property set template is applicable. The following conventions are used: The IFC entity name of the applicable entity using the IFC naming convention, CamelCase with IFC prefix It can be optionally followed by the predefined type after the separator "/" (forward slash), using upper case If a performance history object of a particular distribution object is attributes by the property set template, then the entity name (and potentially amended by the predefined type) is expanded by adding '[PerformanceHistory]' If one property set template is applicable to many type and/or occurrence objects, then those object names should be separate by comma "," forming a comma separated string. EXAMPLE Refering to a boiler type as applicable entity would be expressed as 'IfcBoilerType', refering to a steam boiler type as applicable entity would be expressed as 'IfcBoilerType/STEAM', refering to a wall and wall standard case and a wall type would be expressed as 'IfcWall, IfcWallStandardCase, IfcWallType'. An applicable IfcPerformanceHistory assigned to an occurrence or type object would be indicated by IfcBoilerType[PerformanceHistory], or respectively IfcBoilerType/STEAM[PerformanceHistory].
HasPropertyTemplates | : | Set of IfcPropertyTemplate's that are defined within the scope of the IfcPropertySetTemplate.
Defines | : | Relation to the property sets, via the objectified relationship IfcRelDefinesByTemplate, that, if given, utilize the definition template.

Formal Propositions:

ExistsName | : | The Name attribute has to be provided. The attribute is used to specify the signifier of the property set template. The properties that are allowed to be attached to a particular property set template may be given within the property set definition part of the IFC specification.
UniquePropertyNames | : | Every individual IfcPropertyTemplate within the property set template shall have a unique Name attribute value.

Inheritance Graph:

ENTITY IfcPropertySetTemplate

| ENTITY IfcRoot

GlobalId | : | IfcGloballyUniqueId;
OwnerHistory | : | OPTIONAL IfcOwnerHistory;
Name | : | OPTIONAL IfcLabel;
Description | : | OPTIONAL IfcText;

| ENTITY IfcPropertyDefinition

| INVERSE

HasContext | : | SET [0:1] OF IfcRelDeclares FOR RelatedDefinitions;
HasAssociations | : | SET OF IfcRelAssociates FOR RelatedObjects;

| ENTITY IfcPropertyTemplateDefinition

| ENTITY IfcPropertySetTemplate

TemplateType | : | OPTIONAL IfcPropertySetTemplateTypeEnum;
ApplicableEntity | : | OPTIONAL IfcIdentifier;
HasPropertyTemplates | : | SET [1:?] OF IfcPropertyTemplate;

| INVERSE

Defines | : | SET OF IfcRelDefinesByTemplate FOR RelatingTemplate;

END_ENTITY;

Examples:

- Air terminal library object

Link to this page