IfcComplexProperty

BACnet MVD

#### IfcComplexProperty

Natural language names

| Komplexes Merkmal
| Complex Property
| Propriété complexe

Change log

Item | SPF | XML | Change | Description
--- | --- | --- | --- | ---
IFC4 Addendum 1
IfcComplexProperty |  |  |  |
HasConstraints |  |  | ADDED |
HasApprovals |  |  | ADDED |

##### Semantic definitions at the entity

Entity definition

IfcComplexProperty is used to define complex properties to be handled completely within a property set. The included set of properties may be a mixed or consistent collection of IfcProperty subtypes. This enables the definition of a set of properties to be included as a single 'property' entry in an IfcPropertySet. The definition of such an IfcComplexProperty can be reused in many different IfcPropertySet's.

> NOTE Since an IfcComplexProperty may contain other complex properties, sets of properties can be nested. This nesting may be restricted by view definitions and implementer agreements.

> HISTORY New entity in IFC2.0.

Attribute definitions

# | Attribute | Type | Cardinality | Description | B
--- | --- | --- | --- | --- | ---

3

UsageName

IfcIdentifier

Usage description of the IfcComplexProperty within the property set which references the IfcComplexProperty.

> NOTE Consider a complex property for glazing properties. The Name attribute of the IfcComplexProperty could be Pset_GlazingProperties, and the UsageName attribute could be OuterGlazingPane.

X

4 | HasProperties | IfcProperty | S[1:?] | Set of properties that can be used within this complex property (may include other complex properties). |  | X

Formal Propositions

Rule | Description
--- | ---
WR21 | The IfcComplexProperty should not reference itself within the list of HasProperties.
WR22 | Each property within the complex property shall have a unique name attribute.

##### Inherited definitions from supertypes

Entity inheritance
Attribute inheritance

# | Attribute | Type | Cardinality | Description | B
--- | --- | --- | --- | --- | ---
IfcPropertyAbstraction

HasExternalReferences

IfcExternalReferenceRelationship
@RelatedResourceObjects

S[0:?]

Reference to an external reference, e.g. library, classification, or document information, that is associated to the property definition.

> IFC4 CHANGE New inverse attribute.

X

IfcProperty
1 | Name | IfcIdentifier |  | Name for this property. This label is the significant name string that defines the semantic meaning for the property. | X | X
2 | Description | IfcText | ? | Informative text to explain the property. | X | X

PartOfPset

IfcPropertySet
@HasProperties

S[0:?]

Reference to the IfcPropertySet by which the IfcProperty is referenced.

> IFC4 CHANGE New inverse attribute to navigate from IfcProperty to IfcPropertySet with upward compatibility for file based exchange.

X

| PropertyForDependance | IfcPropertyDependencyRelationship @DependingProperty | S[0:?] | The property on whose value that of another property depends. |  | X
| PropertyDependsOn | IfcPropertyDependencyRelationship @DependantProperty | S[0:?] | The relating property on which the value of the property depends. |  | X

PartOfComplex

IfcComplexProperty
@HasProperties

S[0:?]

Reference to the IfcComplexProperty in which the IfcProperty is contained.

> IFC4 CHANGE The cardinality has changed to 0..n to allow reuse of instances of IfcProperty in several IfcComplexProperty with upward compatibility for file based exchange.

X

| HasConstraints | IfcResourceConstraintRelationship @RelatedResourceObjects | ? S[0:?] | User-defined constraints for the property. |  | X
| HasApprovals | IfcResourceApprovalRelationship @RelatedResourceObjects | ? S[0:?] | User-defined approvals for the property. |  | X
IfcComplexProperty

3

UsageName

IfcIdentifier

Usage description of the IfcComplexProperty within the property set which references the IfcComplexProperty.

> NOTE Consider a complex property for glazing properties. The Name attribute of the IfcComplexProperty could be Pset_GlazingProperties, and the UsageName attribute could be OuterGlazingPane.

X

4 | HasProperties | IfcProperty | S[1:?] | Set of properties that can be used within this complex property (may include other complex properties). |  | X

##### Formal representations

XML Specification
`<xs:element name="IfcComplexProperty" type="ifc:IfcComplexProperty" substitutionGroup="ifc:IfcProperty" nillable="true"/>
<xs:complexType name="IfcComplexProperty">
<xs:complexContent>
<xs:extension base="ifc:IfcProperty">
<xs:sequence>
<xs:element name="HasProperties">
<xs:complexType>
<xs:sequence>
<xs:element ref="ifc:IfcProperty" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute ref="ifc:itemType" fixed="ifc:IfcProperty"/>
<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:IfcIdentifier" use="optional"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
`
EXPRESS Specification
`ENTITY IfcComplexProperty
SUBTYPE OF (IfcProperty);
UsageName : IfcIdentifier;
HasProperties : SET [1:?] OF IfcProperty;
WHERE
WR21 : SIZEOF(QUERY(temp <* HasProperties | SELF :=: temp)) = 0;
WR22 : IfcUniquePropertyName(HasProperties);
END_ENTITY;

EXPRESS-G diagram

`

References: IfcProperty

Link to this page