4.3.4 Object Predefined Type

Many object occurrences have an attribute named PredefinedType being a specific enumeration. Such predefined type essentially provides another level of "classification by inheritance" to further differentiate objects without the need for additional sub types. Predefined types are not just informational; various rules apply such as applicable property sets, part composition, and distribution ports.Such predefined types are added by selecting the correct enumerator for the attribute PredefinedType. If a custom value is needed, the attribute ObjectType has to be used to define such custom type, whereas the PredefinedType is set to USERDEFINED.

The main attributes to be provided for a Object Occurrence Predefined Type are:

If the object is typed by an IfcTypeObject, then the PredefinedType at the IfcObject occurrence shall only be used if the PredefinedType at IfcTypeObject is set to NOTDEFINED.

Figure 18 illustrates an instance diagram.

Object Predefined TypeIfcObjectIfcLabelIfcRelDefinesByTypeIfcTypeObject

Figure 18 — Object Predefined Type

mvdXML Specification
<?xml version="1.0"?>
<ConceptTemplate xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" uuid="25248261-98df-4d0a-9364-5653575ca421" name="Object Predefined Type" status="sample" applicableSchema="IFC4" applicableEntity="IfcObject">
  <Rules>
    <AttributeRule RuleID="UserDefinedType" AttributeName="ObjectType">
      <EntityRules>
        <EntityRule EntityName="IfcLabel" />
      </EntityRules>
    </AttributeRule>
    <AttributeRule RuleID="PredefinedType" AttributeName="PredefinedType" />
    <AttributeRule AttributeName="IsTypedBy">
      <EntityRules>
        <EntityRule EntityName="IfcRelDefinesByType">
          <AttributeRules>
            <AttributeRule AttributeName="RelatingType">
              <EntityRules>
                <EntityRule EntityName="IfcTypeObject">
                  <AttributeRules>
                    <AttributeRule RuleID="TypeUserdefinedType" AttributeName="ElementType" />
                    <AttributeRule RuleID="TypePredefinedType" AttributeName="PredefinedType" />
                  </AttributeRules>
                </EntityRule>
              </EntityRules>
            </AttributeRule>
          </AttributeRules>
        </EntityRule>
      </EntityRules>
    </AttributeRule>
  </Rules>
</ConceptTemplate>

Link to this page  Link to this page