Komplexes Merkmal - Vorlage | |
Complex Property Template | |
Modèle de propriété complexe |
Item | SPF | XML | Change | Description | IFC2x3 to IFC4 |
---|---|---|---|---|
IfcComplexPropertyTemplate | ADDED |
The IfcComplexPropertyTemplate defines the template for all complex properties, either the IfcComplexProperty's, or the IfcPhysicalComplexQuantity's. The individual complex property templates are interpreted according to their Name attribute and and optional UsageName attribute.
HISTORY New entity in IFC4.
# | Attribute | Type | Cardinality | Description | C |
---|---|---|---|---|---|
5 | UsageName | IfcLabel | [0:1] | X | |
6 | TemplateType | IfcComplexPropertyTemplateTypeEnum | [0:1] | X | |
7 | HasPropertyTemplates | IfcPropertyTemplate | S[1:?] | Reference to a set of property templates. It should only be provided, if the PropertyType is set to COMPLEX. | X |
Rule | Description |
---|---|
UniquePropertyNames | Every individual IfcPropertyTemplate within the complex property template shall have a unique Name attribute value. |
NoSelfReference |
# | Attribute | Type | Cardinality | Description | C |
---|---|---|---|---|---|
IfcRoot | |||||
1 | GlobalId | IfcGloballyUniqueId | [1:1] | Assignment of a globally unique identifier within the entire software world. | X |
2 | OwnerHistory | IfcOwnerHistory | [0:1] |
Assignment of the information about the current ownership of that object, including owning actor, application, local identification and information captured about the recent changes of the object,
NOTE only the last modification in stored - either as addition, deletion or modification. | X |
3 | Name | IfcLabel | [0:1] | Optional name for use by the participating software systems or users. For some subtypes of IfcRoot the insertion of the Name attribute may be required. This would be enforced by a where rule. | X |
4 | Description | IfcText | [0:1] | Optional description, provided for exchanging informative comments. | X |
IfcPropertyDefinition | |||||
HasContext | IfcRelDeclares @RelatedDefinitions | S[0:1] | X | ||
HasAssociations | IfcRelAssociates @RelatedObjects | S[0:?] | Reference to the relationship IfcRelAssociates and thus to those externally defined concepts, like classifications, documents, or library information, which are associated to the property definition. | X | |
IfcPropertyTemplateDefinition | |||||
IfcPropertyTemplate | |||||
PartOfComplexTemplate | IfcComplexPropertyTemplate @HasPropertyTemplates | S[0:?] | Reference to a complex property templates. It should only be provided, if the PropertyType of the referenced complex property template is set to COMPLEX. | X | |
PartOfPsetTemplate | IfcPropertySetTemplate @HasPropertyTemplates | S[0:?] | Reference to the IfcPropertySetTemplate that defines the scope for the IfcPropertyTemplate. A single IfcPropertyTemplate can be defined within the scope of zero, one or many IfcPropertySetTemplate'. | X | |
IfcComplexPropertyTemplate | |||||
5 | UsageName | IfcLabel | [0:1] | X | |
6 | TemplateType | IfcComplexPropertyTemplateTypeEnum | [0:1] | X | |
7 | HasPropertyTemplates | IfcPropertyTemplate | S[1:?] | Reference to a set of property templates. It should only be provided, if the PropertyType is set to COMPLEX. | X |
# | Concept | Model View |
---|---|---|
IfcRoot | ||
Software Identity | Common Use Definitions | |
Revision Control | Common Use Definitions |
<xs:element name="IfcComplexPropertyTemplate" type="ifc:IfcComplexPropertyTemplate" substitutionGroup="ifc:IfcPropertyTemplate" nillable="true"/>
<xs:complexType name="IfcComplexPropertyTemplate">
<xs:complexContent>
<xs:extension base="ifc:IfcPropertyTemplate">
<xs:sequence>
<xs:element name="HasPropertyTemplates" nillable="true" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element ref="ifc:IfcPropertyTemplate" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute ref="ifc:itemType" fixed="ifc:IfcPropertyTemplate"/>
<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:IfcLabel" use="optional"/>
<xs:attribute name="TemplateType" type="ifc:IfcComplexPropertyTemplateTypeEnum" use="optional"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
ENTITY IfcComplexPropertyTemplate
SUBTYPE OF (IfcPropertyTemplate);
UsageName : OPTIONAL IfcLabel;
TemplateType : OPTIONAL IfcComplexPropertyTemplateTypeEnum;
HasPropertyTemplates : OPTIONAL SET [1:?] OF IfcPropertyTemplate;
WHERE
UniquePropertyNames : IfcUniquePropertyTemplateNames(HasPropertyTemplates);
NoSelfReference : SIZEOF(QUERY(temp <* HasPropertyTemplates | SELF :=: temp)) = 0;
END_ENTITY;