The concept template Property Sets for Objects describes how an object occurrence can be related to a single or multiple property sets. A property set contains a single or multiple properties. The data types of an individual property are single value, enumerated value, bounded value, table value, reference value, list value, and combination of property occurrences.
Property sets can also be related to an object type, see concept Property Sets for Types. They then define the common properties for all occurrences of the same type. If the same property (by name) is provided by the same property set (by name), then the properties directly assigned to the object occurrence override the properties assigned to the object type.
Figure 51 illustrates an instance diagram.
Figure 51 — Property Sets for Objects |
<?xml version="1.0"?>
<ConceptTemplate xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" uuid="f74255a6-0c0e-4f31-84ad-24981db62461" name="Property Sets for Objects" version="1" applicableSchema="IFC4" applicableEntity="IfcObject">
<Rules>
<AttributeRule RuleID="PredefinedType" AttributeName="PredefinedType" />
<AttributeRule AttributeName="IsDefinedBy">
<EntityRules>
<EntityRule EntityName="IfcRelDefinesByProperties">
<AttributeRules>
<AttributeRule AttributeName="RelatingPropertyDefinition">
<EntityRules>
<EntityRule EntityName="IfcPropertySet">
<AttributeRules>
<AttributeRule RuleID="PsetName" AttributeName="Name" />
<AttributeRule RuleID="Properties" AttributeName="HasProperties">
<EntityRules>
<EntityRule EntityName="IfcPropertySingleValue">
<References>
<Template ref="6655f6d0-29a8-47b8-8f3d-c9fce9c9a620" />
</References>
</EntityRule>
<EntityRule EntityName="IfcPropertyBoundedValue">
<References>
<Template ref="3d67a2d2-761d-44d9-a09e-b7fbb1fa5632" />
</References>
</EntityRule>
<EntityRule EntityName="IfcPropertyEnumeratedValue">
<References>
<Template ref="c148a099-c351-43a8-9266-5f3de0b45a95" />
</References>
</EntityRule>
<EntityRule EntityName="IfcPropertyListValue">
<References>
<Template ref="8e10b688-9179-4e3a-8db2-6abcaafe952d" />
</References>
</EntityRule>
<EntityRule EntityName="IfcPropertyTableValue">
<References>
<Template ref="35c947b0-6abc-4b13-8ec7-696ef2041721" />
</References>
</EntityRule>
</EntityRules>
</AttributeRule>
</AttributeRules>
</EntityRule>
</EntityRules>
</AttributeRule>
</AttributeRules>
</EntityRule>
</EntityRules>
</AttributeRule>
</Rules>
<SubTemplates>
<ConceptTemplate uuid="e26040e8-82e2-4f6a-bc63-ac8e6da2d0ae" name="Property Sets with Override" applicableSchema="IFC4" applicableEntity="IfcObject">
<Rules>
<AttributeRule RuleID="PredefinedType" AttributeName="PredefinedType" />
<AttributeRule AttributeName="IsDefinedBy">
<EntityRules>
<EntityRule EntityName="IfcRelDefinesByProperties">
<AttributeRules>
<AttributeRule AttributeName="RelatingPropertyDefinition">
<EntityRules>
<EntityRule EntityName="IfcPropertySet">
<AttributeRules>
<AttributeRule RuleID="PsetName" AttributeName="Name" />
<AttributeRule RuleID="Properties" AttributeName="HasProperties">
<EntityRules>
<EntityRule EntityName="IfcPropertySingleValue">
<References>
<Template ref="6655f6d0-29a8-47b8-8f3d-c9fce9c9a620" />
</References>
</EntityRule>
<EntityRule EntityName="IfcPropertyBoundedValue">
<References>
<Template ref="3d67a2d2-761d-44d9-a09e-b7fbb1fa5632" />
</References>
</EntityRule>
<EntityRule EntityName="IfcPropertyEnumeratedValue">
<References>
<Template ref="c148a099-c351-43a8-9266-5f3de0b45a95" />
</References>
</EntityRule>
<EntityRule EntityName="IfcPropertyListValue">
<References>
<Template ref="8e10b688-9179-4e3a-8db2-6abcaafe952d" />
</References>
</EntityRule>
<EntityRule EntityName="IfcPropertyTableValue">
<References>
<Template ref="35c947b0-6abc-4b13-8ec7-696ef2041721" />
</References>
</EntityRule>
</EntityRules>
</AttributeRule>
</AttributeRules>
</EntityRule>
</EntityRules>
</AttributeRule>
</AttributeRules>
</EntityRule>
</EntityRules>
</AttributeRule>
<AttributeRule AttributeName="IsTypedBy">
<EntityRules>
<EntityRule EntityName="IfcRelDefinesByType">
<AttributeRules>
<AttributeRule AttributeName="RelatingType">
<EntityRules>
<EntityRule EntityName="IfcTypeObject">
<AttributeRules>
<AttributeRule AttributeName="HasPropertySets">
<EntityRules>
<EntityRule EntityName="IfcPropertySet">
<AttributeRules>
<AttributeRule RuleID="TypePsetName" AttributeName="Name" />
<AttributeRule RuleID="TypeProperties" AttributeName="HasProperties">
<EntityRules>
<EntityRule EntityName="IfcPropertySingleValue">
<References IdPrefix="Type">
<Template ref="6655f6d0-29a8-47b8-8f3d-c9fce9c9a620" />
</References>
</EntityRule>
<EntityRule EntityName="IfcPropertyBoundedValue">
<References IdPrefix="Type">
<Template ref="3d67a2d2-761d-44d9-a09e-b7fbb1fa5632" />
</References>
</EntityRule>
<EntityRule EntityName="IfcPropertyEnumeratedValue">
<References IdPrefix="Type">
<Template ref="c148a099-c351-43a8-9266-5f3de0b45a95" />
</References>
</EntityRule>
<EntityRule EntityName="IfcPropertyListValue">
<References IdPrefix="Type">
<Template ref="8e10b688-9179-4e3a-8db2-6abcaafe952d" />
</References>
</EntityRule>
<EntityRule EntityName="IfcPropertyTableValue">
<References IdPrefix="Type">
<Template ref="35c947b0-6abc-4b13-8ec7-696ef2041721" />
</References>
</EntityRule>
</EntityRules>
</AttributeRule>
</AttributeRules>
</EntityRule>
</EntityRules>
</AttributeRule>
</AttributeRules>
</EntityRule>
</EntityRules>
</AttributeRule>
</AttributeRules>
</EntityRule>
</EntityRules>
</AttributeRule>
</Rules>
</ConceptTemplate>
</SubTemplates>
</ConceptTemplate>