IfcComplexProperty

Natural language names
deKomplexes Merkmal
enComplex Property
frPropriété complexe
Change log
ItemSPFXMLChangeDescription
IFC4 Addendum 1
    IfcComplexProperty
      HasConstraintsADDED
      HasApprovalsADDED
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
#AttributeTypeCardinalityDescription C
3UsageNameIfcIdentifier[1:1] 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
4HasPropertiesIfcPropertyS[1:?] Set of properties that can be used within this complex property (may include other complex properties).X
Formal Propositions
RuleDescription
WR21The IfcComplexProperty should not reference itself within the list of HasProperties.
WR22Each property within the complex property shall have a unique name attribute.
Inherited definitions from supertypes
Entity inheritance IfcProperty IfcPropertyAbstraction
Attribute inheritance
#AttributeTypeCardinalityDescriptionC
IfcPropertyAbstraction
HasExternalReferencesIfcExternalReferenceRelationship
@RelatedResourceObjects
S[0:?]Reference to an external reference, e.g. library, classification, or document information, that is associated to the property definition. X
IfcProperty
1NameIfcIdentifier[1:1] Name for this property. This label is the significant name string that defines the semantic meaning for the property.X
2DescriptionIfcText[0:1] Informative text to explain the property.X
PartOfPsetIfcPropertySet
@HasProperties
S[0:?]Reference to the IfcPropertySet by which the IfcProperty is referenced. X
PropertyForDependanceIfcPropertyDependencyRelationship
@DependingProperty
S[0:?]The property on whose value that of another property depends.X
PropertyDependsOnIfcPropertyDependencyRelationship
@DependantProperty
S[0:?]The relating property on which the value of the property depends.X
PartOfComplexIfcComplexProperty
@HasProperties
S[0:?]Reference to the IfcComplexProperty in which the IfcProperty is contained. X
HasConstraintsIfcResourceConstraintRelationship
@RelatedResourceObjects
S[0:?]User-defined constraints for the property.X
HasApprovalsIfcResourceApprovalRelationship
@RelatedResourceObjects
S[0:?]User-defined approvals for the property.X
IfcComplexProperty
3UsageNameIfcIdentifier[1:1] 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
4HasPropertiesIfcPropertyS[1:?] Set of properties that can be used within this complex property (may include other complex properties).X
Formal representations
XSD 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;

Link to EXPRESS-G diagram EXPRESS-G diagram

Link to this page  Link to this page