IfcComplexProperty

Definition from IAI: This IfcComplexProperty is used to define complex properties to be handled completely within a property set. The included list may be a mixed or consistent collection of IfcProperty subtypes. This enables the definition of a list of properties to be included as a single 'property' entry in a property set. The definition of such a list can be reused in many different property sets, but the instantiation of such a complex property shall only be used within a single property set.

> NOTE: Since an IfcComplexProperty may contain other complex properties, list of properties can be nested.

> HISTORY: New Entity in IFC Release 2.0, capabilities enhanced in IFC Release 2x.

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;

Attribute definitions:

UsageName | : | 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.
HasProperties | : | Set of properties that can be used within this complex property (may include other complex properties).

Formal Propositions:

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.

Inheritance graph

ENTITY IfcComplexProperty;
ENTITY IfcProperty;
Name | : | IfcIdentifier;
Description | : | OPTIONAL IfcText;
INVERSE
PropertyForDependance | : | SET OF IfcPropertyDependencyRelationship FOR DependingProperty;
PropertyDependsOn | : | SET OF IfcPropertyDependencyRelationship FOR DependantProperty;
PartOfComplex | : | SET [0:1] OF IfcComplexProperty FOR HasProperties;
ENTITY IfcComplexProperty;
UsageName | : | IfcIdentifier;
HasProperties | : | SET [1:?] OF IfcProperty;
END_ENTITY;