Navigation
Navigate Navigate Navigate Navigate Navigate Navigate Navigate Navigate

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;