<!DOCTYPE HTML>

<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

    <link rel="stylesheet" type="text/css" href="../../ifc-styles.css">

    <link rel="stylesheet" type="text/css" href="../../details-shim.css">
    <script type="text/javascript" src="../../details-shim.js"></script>
    <title>Object Predefined Type</title>

    <style type="text/css">
      body { counter-reset: index1 0 index2 0 index3 0 index4 -1 index5 0; }
    </style>
  </head>

  <body>

<p>BACnet MVD</p>

<script type="text/javascript">
<!--
    parent.index.location.replace("../toc-4.htm#4.3.4");
//-->
</script>

<h3 class="std">4.3.4 Object Predefined Type</h3>
<p>
Many object occurrences have an
 attribute named <i>PredefinedType</i> 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 <i>PredefinedType</i>. If a custom value is needed, the attribute <i>ObjectType</i> has to be used to define such custom type, whereas the <i>PredefinedType</i> is set to <i>USERDEFINED</i>.</p>

<p>The main attributes to be provided for a <i>Object Occurrence Predefined Type</i> are:</p>
<ul>

 
<li><i>PredefinedType</i>: holds the entity specific enumeration of predefined types to further classify the entity</li>

 
<li><i>ObjectType</i>: allows for a custom value, if no applicable enumerator can be found</li>

</ul>

 If the object is typed by an <a href="../ifckernel/lexical/ifctypeobject.htm">IfcTypeObject</a>, then the <i>PredefinedType</i> at the <a href="../ifckernel/lexical/ifcobject.htm">IfcObject</a> occurrence shall only be used if the <i>PredefinedType</i> at <a href="../ifckernel/lexical/ifctypeobject.htm">IfcTypeObject</a> is set to <i>NOTDEFINED</i>.

<p class="fig-ref">Figure 18 illustrates an instance diagram.</p>
<table><tr><td><img alt="Object Predefined Type" src="./diagrams/object-predefined-type.png" usemap="#f18"><map name="f18"><area shape="rect" coords="8,8,176,212" href="../ifckernel/lexical/ifcobject.htm" alt="IfcObject" /><area shape="rect" coords="208,8,376,20" href="../ifcmeasureresource/lexical/ifclabel.htm" alt="IfcLabel" /><area shape="rect" coords="208,40,376,124" href="../ifckernel/lexical/ifcreldefinesbytype.htm" alt="IfcRelDefinesByType" /><area shape="rect" coords="408,8,576,188" href="../ifckernel/lexical/ifctypeobject.htm" alt="IfcTypeObject" /></map></td></tr><tr><td><p class="figure">Figure 18 &mdash; Object Predefined Type</p></td></tr></table>

<hr/>
<h4>BACnet View</h4>
<table class="exchange">
<tr><th>Entity</th></tr><tr><td><a href="../ifcbuildingcontrolsdomain/lexical/ifccontroller.htm">IfcController</a></td></tr>
<tr><td><a href="../ifcsharedbldgserviceelements/lexical/ifcdistributionsystem.htm">IfcDistributionSystem</a></td></tr>
<tr><td><a href="../ifcprocessextension/lexical/ifcprocedure.htm">IfcProcedure</a></td></tr>
<tr><td><a href="../ifckernel/lexical/ifcproxy.htm">IfcProxy</a></td></tr>
<tr><td><a href="../ifcprocessextension/lexical/ifctask.htm">IfcTask</a></td></tr>
<tr><td><a href="../ifcproductextension/lexical/ifczone.htm">IfcZone</a></td></tr>
</table>
<details><summary>mvdXML Specification</summary><div class="xsd"><code class="xsd">
&lt;?xml version=&quot;1.0&quot;?&gt;<br/>
&lt;ConceptTemplate xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot; uuid=&quot;25248261-98df-4d0a-9364-5653575ca421&quot; name=&quot;Object Predefined Type&quot; status=&quot;sample&quot; applicableSchema=&quot;IFC4&quot; applicableEntity=&quot;<a href="../ifckernel/lexical/ifcobject.htm">IfcObject</a>&quot;&gt;<br/>
&nbsp;&nbsp;&lt;Rules&gt;<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&lt;AttributeRule RuleID=&quot;UserDefinedType&quot; AttributeName=&quot;ObjectType&quot;&gt;<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;EntityRules&gt;<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;EntityRule EntityName=&quot;<a href="../ifcmeasureresource/lexical/ifclabel.htm">IfcLabel</a>&quot; /&gt;<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/EntityRules&gt;<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&lt;/AttributeRule&gt;<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&lt;AttributeRule RuleID=&quot;PredefinedType&quot; AttributeName=&quot;PredefinedType&quot; /&gt;<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&lt;AttributeRule AttributeName=&quot;IsTypedBy&quot;&gt;<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;EntityRules&gt;<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;EntityRule EntityName=&quot;<a href="../ifckernel/lexical/ifcreldefinesbytype.htm">IfcRelDefinesByType</a>&quot;&gt;<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;AttributeRules&gt;<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;AttributeRule AttributeName=&quot;RelatingType&quot;&gt;<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;EntityRules&gt;<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;EntityRule EntityName=&quot;<a href="../ifckernel/lexical/ifctypeobject.htm">IfcTypeObject</a>&quot;&gt;<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;AttributeRules&gt;<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;AttributeRule RuleID=&quot;TypeUserdefinedType&quot; AttributeName=&quot;ElementType&quot; /&gt;<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;AttributeRule RuleID=&quot;TypePredefinedType&quot; AttributeName=&quot;PredefinedType&quot; /&gt;<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/AttributeRules&gt;<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/EntityRule&gt;<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/EntityRules&gt;<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/AttributeRule&gt;<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/AttributeRules&gt;<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/EntityRule&gt;<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/EntityRules&gt;<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&lt;/AttributeRule&gt;<br/>
&nbsp;&nbsp;&lt;/Rules&gt;<br/>
&lt;/ConceptTemplate&gt;<br/>
</code></div>
</details>
</p>
<p><a href="../../link/object-predefined-type.htm" target="_top" ><img src="../../img/permlink.png" style="border: 0px" title="Link to this page" alt="Link to this page"/>&nbsp; Link to this page</a></p>
  </body>
</html>
