IFC (IFC4X3) development

4.4.4 Nesting

A nesting indicates an external ordered part composition relationship between the hosting structure, referred to as the "host", and the attached components, referred to as the "hosted elements". The concept of nesting is used in various ways. Examples are:

  • Nesting is used on product elements to indicate external connectable parts such as faucets mounted on a sink, or switches within a junction box.
  • Nesting is used on control objects to indicate specification hierarchies.
  • Nesting is used on process objects to indicate subordinate processes which may occur in parallel or in series.
  • Nesting is used on resource objects to indicate subordinate resource allocations which may occur in parallel or in series.

Nesting is a bi-directional relationship, the relationship from the hosting structure to its attached components is called Nesting, and the relationship from the components to their containing structure is called Hosting.

The following diagram shows the generic classes and relationships used when applying this concept. In addition, concepts may have particular importance to common or standardised industry practices and scenarios. For these specific usage scenarios, the tables below shows a recommended list of general usage patterns that users may adopt.

G IfcObjectDefinition IfcObjectDefinition 1. GlobalId [1:1] 2. OwnerHistory [0:1] 3. Name [0:1] 4. Description [0:1]      HasAssignments [0:?]      Nests [0:1]      IsNestedBy [0:?]      HasContext [0:1]      IsDecomposedBy [0:?]      Decomposes [0:1]      HasAssociations [0:?] IfcRelNests IfcRelNests 1. GlobalId [1:1] 2. OwnerHistory [0:1] 3. Name [0:1] 4. Description [0:1] 5. RelatingObject [1:1] 6. RelatedObjects [1:?] IfcObjectDefinition:IsNestedBy1->IfcRelNests:RelatingObject0
Figure 4.4.4.A

General Usage

Table 4.4.4.B

Edit on Github

Is this page difficult to understand? Let us know!