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.
|HasExternalReferences||SET [0:?] OF IfcExternalReferenceRelationship FOR RelatedResourceObjects||Reference to an external reference, e.g. library, classification, or document information, that is associated to the property definition.|
> IFC4 CHANGE New inverse attribute.
|1||Name||IfcIdentifier||Name for this property. This label is the significant name string that defines the semantic meaning for the property.|
|2||Description||OPTIONAL IfcText||Informative text to explain the property.|
|PartOfPset||SET [0:?] OF IfcPropertySet FOR HasProperties||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.
|PropertyForDependance||SET [0:?] OF IfcPropertyDependencyRelationship FOR DependingProperty||The property on whose value that of another property depends.|
|PropertyDependsOn||SET [0:?] OF IfcPropertyDependencyRelationship FOR DependantProperty||The relating property on which the value of the property depends.|
|PartOfComplex||SET [0:?] OF IfcComplexProperty FOR HasProperties||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.
|HasConstraints||SET [0:?] OF IfcResourceConstraintRelationship FOR RelatedResourceObjects||User-defined constraints for the property.|
|HasApprovals||SET [0:?] OF IfcResourceApprovalRelationship FOR RelatedResourceObjects||User-defined approvals for the property.|
|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 PsetGlazingProperties_, and the UsageName attribute could be OuterGlazingPane.
|4||HasProperties||SET [1:?] OF IfcProperty||Set of properties that can be used within this complex property (may include other complex properties).|
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;