Komplexes Merkmal | |
Complex Property | |
Propriété complexe |
Item | SPF | XML | Change | Description | IFC4 Addendum 1 |
---|---|---|---|---|
IfcComplexProperty | ||||
HasConstraints | ADDED | |||
HasApprovals | ADDED |
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 | Type | Cardinality | Description | C |
---|---|---|---|---|---|
3 | UsageName | IfcIdentifier | [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 |
4 | HasProperties | IfcProperty | S[1:?] | Set of properties that can be used within this complex property (may include other complex properties). | X |
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. |
# | Attribute | Type | Cardinality | Description | C |
---|---|---|---|---|---|
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. | X | |
IfcProperty | |||||
1 | Name | IfcIdentifier | [1:1] | Name for this property. This label is the significant name string that defines the semantic meaning for the property. | X |
2 | Description | IfcText | [0:1] | Informative text to explain the property. | X |
PartOfPset | IfcPropertySet @HasProperties | S[0:?] | Reference to the IfcPropertySet by which the IfcProperty is referenced. | 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. | 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 | [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 |
4 | HasProperties | IfcProperty | S[1:?] | Set of properties that can be used within this complex property (may include other complex properties). | X |
<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>
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;