The IfcSimplePropertyTemplate defines the template for all dynamically extensible properties, either the subtypes of IfcSimpleProperty, or the subtypes of IfcPhysicalSimpleQuantity. The individual property templates are interpreted according to their Name attribute and may have a predefined template type, property units, and property measure types. The correct interpretation of the attributes:
is determined by the TemplateType. The attributes Enumerators and Expression only apply to instances of IfcSimplePropertyTemplate having a particular TemplateType. The TemplateType also controls, which subtype of either IfcSimpleProperty or IfcPhysicalSimpleQuantity shall be used for property occurrences corresponding to this template.
The IfcSimplePropertyTemplate is part of the set of templates included in the IfcPropertySetTemplate. The template can be accessed throught the inverse attribute PartOfPsetTemplate The IfcPropertySetTemplate may define one or several instances of IfcPropertySet (or IfcElementQuantity). The definition assignment is established by the objectified relationship IfcRelDefinesByTemplate as shown in Figure 1. There is no direct link between an IfcSimplePropertyTemplate and a subtype of either IfcSimpleProperty or IfcPhysicalSimpleQuantity. The definition relationship between the template and the individual properties (or quantities) is established by the Name attributes.
IfcSimplePropertyTemplate figure 1"' src="../figures/ifcsimplepropertytemplate_fig-1.png" title="Figure 1 — Property template relationships"/>
HISTORY New entity in IFC4.
|1||GlobalId||IfcGloballyUniqueId||Assignment of a globally unique identifier within the entire software world.|
|2||OwnerHistory||OPTIONAL IfcOwnerHistory||Assignment of the information about the current ownership of that object, including owning actor, application, local identification and information captured about the recent changes of the object, |
> NOTE only the last modification in stored - either as addition, deletion or modification.
> IFC4 CHANGE The attribute has been changed to be OPTIONAL.
|3||Name||OPTIONAL IfcLabel||Optional name for use by the participating software systems or users. For some subtypes of IfcRoot the insertion of the Name attribute may be required. This would be enforced by a where rule.|
|4||Description||OPTIONAL IfcText||Optional description, provided for exchanging informative comments.|
|HasContext||SET [0:1] OF IfcRelDeclares FOR RelatedDefinitions|
|HasAssociations||SET [0:?] OF IfcRelAssociates FOR RelatedObjects||Reference to the relationship IfcRelAssociates and thus to those externally defined concepts, like classifications, documents, or library information, which are associated to the property definition.|
|PartOfComplexTemplate||SET [0:?] OF IfcComplexPropertyTemplate FOR HasPropertyTemplates||Reference to a complex property templates. It should only be provided, if the PropertyType of the referenced complex property template is set to COMPLEX.|
|PartOfPsetTemplate||SET [0:?] OF IfcPropertySetTemplate FOR HasPropertyTemplates||Reference to the IfcPropertySetTemplate that defines the scope for the IfcPropertyTemplate. A single IfcPropertyTemplate can be defined within the scope of zero, one or many IfcPropertySetTemplate'.|
|TemplateType||INVALID||Property type defining whether the property template defines a property with a single value, a bounded value, a list value, a table value, an enumerated value, or a reference value. Or the quantity type defining whether the template defines a quantity with a length, area, volume, weight or time value.|
> NOTE the value of this property determines the correct use of the PrimaryUnit, SecondaryUnit, PrimaryDataType, SecondaryDataType, and Expression attributes.
|5||PrimaryMeasureType||OPTIONAL IfcLabel||Primary measure type assigned to the definition of the property. It should be provided, if the PropertyType is set to:|
* P_SINGLEVALUE: determining the measure type of _IfcPropertySingleValue.NominalValue_
* P_ENUMERATEDVALUE: determining the measure type of _IfcPropertyEnumeratedValue.EnumerationValues_
* P_BOUNDEDVALUE: determining the measure type of _IfcPropertyBoundedValue.LowerBoundValue_
* P_LISTVALUE: determining the measure type of _IfcPropertyListValue.ListValues_
* P_TABLEVALUE: determining the measure type of _IfcPropertyTableValue.DefiningValues_
* P_REFERENCEVALUE: determining the measure type of _IfcPropertyTableValue.PropertyReference_
> NOTE The value range of the measure type is within the select type IfcValue for all PropertyType's with the exeption of P_REFERENCEVALUE. Here it is within the select type IfcObjectReferenceSelect.
|6||SecondaryMeasureType||OPTIONAL IfcLabel||Secondary measure type assigned to the definition of the property. It should be provided, if the PropertyType is set to:|
* P_BOUNDEDVALUE: determining the measure type of _IfcPropertyBoundedValue.UpperBoundValue_
* P_TABLEVALUE: determining the measure type of _IfcPropertyTableValue.DefinedValues_
The value range of the measure type is within the select type IfcValue for all PropertyType's with the exeption of P_ENUMERATEDVALUE. Here it is the comma delimited list of enumerators.
> NOTE The measure type of _IfcPropertyEnumeration.EnumerationValues_ is provided as PrimaryDataType.
|7||Enumerators||OPTIONAL IfcPropertyEnumeration||Name of the property enumeration, and list of all valid enumerators being selectable values, assigned to the definition of the property. |
This attribute shall only be provided, if the PropertyType is set to:
|8||PrimaryUnit||OPTIONAL IfcUnit||Primary unit assigned to the definition of the property. It should be provided, if the PropertyType is set to:|
* P_SINGLEVALUE: determining the _IfcPropertySingleValue.Unit_
* P_ENUMERATEDVALUE: determining the _IfcPropertyEnumeration.Unit_
* P_BOUNDEDVALUE: determining the _IfcPropertyBoundedValue.Unit_
* P_LISTVALUE: determining the _IfcPropertyListValue.Unit_
* P_TABLEVALUE: determining the _IfcPropertyTableValue.DefiningUnit_
|9||SecondaryUnit||OPTIONAL IfcUnit||Secondary unit assigned to the definition of the property. It should be provided, if the PropertyType is set to:|
* P_TABLEVALUE: determining the _IfcPropertyTableValue.DefinedUnit_
|10||Expression||OPTIONAL IfcLabel||The expression used to store additional information for the property template depending on the PropertyType. It should the following definitions, if the PropertyType is set to:|
* P_TABLEVALUE: the expression that could be evaluated to define the correlation between the defining values and the defined values.
* Q_LENGTH, Q_AREA, Q_VOLUME, Q_COUNT, Q_WEIGTH, Q_TIME: the formula to be used to calculate the quantity
> NOTE No value shall be asserted if the PropertyType is not listed above.
|11||AccessState||OPTIONAL IfcStateEnum||Information about the access state of the property. It determines whether a property be viewed and/or modified by any receiving application without specific knowledge of it. |
**Attribute use definition for IfcStateEnum*** READWRITE: Properties of this template are readable and writable. They may be viewed and modified by users of any application. These are typical informational properties set by a user.
* READONLY: Properties of this template are read-only. They may be viewed but not modified by users of any application. (Applications may generate such values). These are typical automatically generated properties that should be displayed only, but not written back.
* LOCKED: Properties of this template are locked. They may only be accessed by the owning application (the publisher of the property set template). These are typically application depended, internal properties that should not be published.
* READWRITELOCKED: Properties of this template are locked, readable, and writable. They may only be accessed by the owning application.
* READONLYLOCKED: Properties of this template are locked and read-only. They may only be accessed by the owning application.
IfcRoot assigns the globally unique ID. In addition it may provide for a name and a description about the concept.
Ownership, history, and merge state is captured using IfcOwnerHistory.
ENTITY IfcSimplePropertyTemplate SUBTYPE OF (IfcPropertyTemplate); PrimaryMeasureType : OPTIONAL IfcLabel; SecondaryMeasureType : OPTIONAL IfcLabel; Enumerators : OPTIONAL IfcPropertyEnumeration; PrimaryUnit : OPTIONAL IfcUnit; SecondaryUnit : OPTIONAL IfcUnit; Expression : OPTIONAL IfcLabel; AccessState : OPTIONAL IfcStateEnum; END_ENTITY;