<!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 Typing</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.2.1");
//-->
</script>

<h3 class="std">4.2.1 Object Typing</h3>
<p>Object occurrences can be
 defined by a particular object type, using the <i>Object Typing</i> concept. A pair of entities are defined for most semantic objects - an
 object occurrence entity and a corresponding object type entity.</p> 


<blockquote class="example">EXAMPLE&nbsp; The <a href="../ifchvacdomain/lexical/ifctank.htm">IfcTank</a>
 is the object occurrence entity that has a corresponding
 <a href="../ifchvacdomain/lexical/ifctanktype.htm">IfcTankType</a> being the object type entity.
</blockquote>

 


<p>On instance level, an
 object occurrence instance may have:</p>

<ul>
 
<li>similar state as its object
 type instance by applying all characteristics defined at the type;</li>
<li>overridden state for particular characteristics;</li>

 <li>no defined object type instance.</li>


</ul>




<p>Characteristics defined at the object type level may include:</p>

<ul>
 <li>common naming and predefined type;</li>
 
<li>common properties within a type driven property set;</li>
 
<li>common geometry representations, applied as mapped representation to each occurences;</li>
 
<li>common material assignments (with exception of material set usages);</li>
<
 <li>common definition of a decomposition structure.</li>

</ul>


<p>
Many object occurrence and object type entities have an
 attribute named <i>PredefinedType</i> consisting of a specific
 enumeration. Such predefined
 type essentially provides another level of inheritance to
 further differentiate objects without the need for
 additional entities. Predefined types are not
 just informational; various rules apply such as applicable
 property
 sets, part composition, and distribution ports. 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>.




<blockquote class="example">
EXAMPLE&nbsp; 
For scenarios of object types having part compositions,
such parts may be reflected at object occurrences having
 separate state. For example, a <i>wall type</i> may define
 a particular arrangement of studs, a <i>wall occurrence</i>
 may reflect the same arrangement of studs, and studs within
  the wall occurrence may participate in specific
 relationships that do not exist at the type such as being
 connected to an electrical junction box.</blockquote>

 

<blockquote class="note">
NOTE&nbsp; If the object type has aggregated elements, such objects are reflected at the object occurrence using the <a href="../ifckernel/lexical/ifcreldefinesbyobject.htm">IfcRelDefinesByObject</a> relationship.</blockquote><p class="fig-ref">Figure 6 illustrates an instance diagram.</p>
<table><tr><td><img alt="Object Typing" src="./diagrams/object-typing.png" usemap="#f6"><map name="f6"><area shape="rect" coords="8,8,176,212" href="../ifckernel/lexical/ifcobject.htm" alt="IfcObject" /><area shape="rect" coords="208,8,376,92" 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 6 &mdash; Object Typing</p></td></tr></table>

<hr/>
<h4>BACnet View</h4>
<table class="exchange">
<tr><th>Entity</th></tr><tr><td><a href="../ifcbuildingcontrolsdomain/lexical/ifcsensor.htm">IfcSensor</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;35a2e10e-20df-40f4-ab2f-dacf0a6744f4&quot; name=&quot;Object Typing&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;HasType&quot; 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 RuleID=&quot;RelatingType&quot; 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 RuleID=&quot;TypeName&quot; 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;TypeName&quot; AttributeName=&quot;Name&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;&nbsp;&nbsp;&lt;AttributeRule AttributeName=&quot;PredefinedType&quot; /&gt;<br/>
&nbsp;&nbsp;&lt;/Rules&gt;<br/>
&lt;/ConceptTemplate&gt;<br/>
</code></div>
</details>
<p class="spec-head">Examples:</p>
<ul>
<li><a href="../../annex/annex-e/slab-standard-case.htm">Slab standard case</a></li>
<li><a href="../../annex/annex-e/wall-standard-case.htm">Wall standard case</a></li>
</ul>
</p>
<p><a href="../../link/object-typing.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>
