IfcComplexPropertyTemplate

BACnet MVD

#### IfcComplexPropertyTemplate

Natural language names

| Komplexes Merkmal - Vorlage
| Complex Property Template
| Modèle de propriété complexe

Change log

Item | SPF | XML | Change | Description
--- | --- | --- | --- | ---
IFC2x3 to IFC4
IfcComplexPropertyTemplate |  |  | ADDED |

##### Semantic definitions at the entity

Entity definition

The IfcComplexPropertyTemplate defines the template for all complex properties, either the IfcComplexProperty's, or the IfcPhysicalComplexQuantity's. The individual complex property templates are interpreted according to their Name attribute and and optional UsageName attribute.

> HISTORY New entity in IFC4.

Attribute definitions

# | Attribute | Type | Cardinality | Description | B
--- | --- | --- | --- | --- | ---
5 | UsageName | IfcLabel | ? |  |  | X
6 | TemplateType | IfcComplexPropertyTemplateTypeEnum | ? |  |  | X
7 | HasPropertyTemplates | IfcPropertyTemplate | ? S[1:?] | Reference to a set of property templates. It should only be provided, if the PropertyType is set to COMPLEX. |  | X

Formal Propositions

Rule | Description
--- | ---
UniquePropertyNames | Every individual IfcPropertyTemplate within the complex property template shall have a unique Name attribute value.
NoSelfReference |

##### Inherited definitions from supertypes

Entity inheritance
Attribute inheritance

# | Attribute | Type | Cardinality | Description | B
--- | --- | --- | --- | --- | ---
IfcRoot
1 | GlobalId | IfcGloballyUniqueId |  | Assignment of a globally unique identifier within the entire software world. | X | X

2

OwnerHistory

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.

X

X

3 | Name | 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. | X | X
4 | Description | IfcText | ? | Optional description, provided for exchanging informative comments. |  | X
IfcPropertyDefinition
| HasContext | IfcRelDeclares @RelatedDefinitions | S[0:1] |  |  | X
| HasAssociations | IfcRelAssociates @RelatedObjects | S[0:?] | 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. |  | X
IfcPropertyTemplateDefinition
IfcPropertyTemplate
| PartOfComplexTemplate | IfcComplexPropertyTemplate @HasPropertyTemplates | S[0:?] | Reference to a complex property templates. It should only be provided, if the PropertyType of the referenced complex property template is set to COMPLEX. |  | X
| PartOfPsetTemplate | IfcPropertySetTemplate @HasPropertyTemplates | S[0:?] | 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'. |  | X
IfcComplexPropertyTemplate
5 | UsageName | IfcLabel | ? |  |  | X
6 | TemplateType | IfcComplexPropertyTemplateTypeEnum | ? |  |  | X
7 | HasPropertyTemplates | IfcPropertyTemplate | ? S[1:?] | Reference to a set of property templates. It should only be provided, if the PropertyType is set to COMPLEX. |  | X

##### Definitions applying to Design Transfer View

Concept inheritance

# | Concept | Template | Model View
--- | --- | --- | ---
IfcRoot
| Revision Control | Revision Control | Design Transfer View

##### Definitions applying to BACnet View

Concept inheritance

# | Concept | Template | Model View
--- | --- | --- | ---
IfcRoot
| Revision Control | Revision Control | Design Transfer View

##### Formal representations

XML Specification
`<xs:element name="IfcComplexPropertyTemplate" type="ifc:IfcComplexPropertyTemplate" substitutionGroup="ifc:IfcPropertyTemplate" nillable="true"/>
<xs:complexType name="IfcComplexPropertyTemplate">
<xs:complexContent>
<xs:extension base="ifc:IfcPropertyTemplate">
<xs:sequence>
<xs:element name="HasPropertyTemplates" nillable="true" minOccurs="0">
<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:attribute name="UsageName" type="ifc:IfcLabel" use="optional"/>
<xs:attribute name="TemplateType" type="ifc:IfcComplexPropertyTemplateTypeEnum" use="optional"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
`
EXPRESS Specification
`ENTITY IfcComplexPropertyTemplate
SUBTYPE OF (IfcPropertyTemplate);
UsageName : OPTIONAL IfcLabel;
TemplateType : OPTIONAL IfcComplexPropertyTemplateTypeEnum;
HasPropertyTemplates : OPTIONAL SET [1:?] OF IfcPropertyTemplate;
WHERE
UniquePropertyNames : IfcUniquePropertyTemplateNames(HasPropertyTemplates);
NoSelfReference : SIZEOF(QUERY(temp <* HasPropertyTemplates | SELF :=: temp)) = 0;
END_ENTITY;

EXPRESS-G diagram

`

References: IfcPropertyTemplate

Link to this page