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:
- PrimaryUnit
- SecondaryUnit
- PrimaryMeasureType
- SecondaryMeasureType
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 through 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.
NOTE Constraints at IfcPropertySetTemplate and IfcPropertySet (and IfcElementQuantity) guarantee that the Name attributes of included property templates and individual properties are unique.
HISTORY New entity in IFC4.
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.
Primary measure type assigned to the definition of the property. It should be provided, if the TemplateType 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 TemplateType's with the exception of P_REFERENCEVALUE. Here it is within the select type IfcObjectReferenceSelect.
Secondary measure type assigned to the definition of the property. It should be provided, if the TemplateType 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 TemplateType's with the exception of P_ENUMERATEDVALUE. Here it is the comma delimited list of enumerators.
NOTE The measure type of IfcPropertyEnumeration.EnumerationValues is provided as PrimaryDataType.
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 TemplateType is set to:
- P_ENUMERATEDVALUE
Primary unit assigned to the definition of the property. It should be provided, if the TemplateType 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
Secondary unit assigned to the definition of the property. It should be provided, if the TemplateType is set to:
- P_TABLEVALUE: determining the IfcPropertyTableValue.DefinedUnit
The expression used to store additional information for the property template depending on the TemplateType. It should provide the following definitions, if the TemplateType 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 TemplateType is not listed above.
Information about the access state of the property. It determines whether a property can 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 dependent, 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.