IFC 4.3.2.20250905 (IFC4X3_ADD2) under development

  • Help suggest improvements
  • Get user or developer support

5.1.3.7 IfcObjectDefinition

RV ⓘ
AbV ⓘ

ABSTRACT This definition may not be instantiated

5.1.3.7.1 Semantic definition

An IfcObjectDefinition is the generalization of any semantically treated thing or process, either being a type or an occurrence. Object definitions can be named, using the inherited Name attribute, which should be a user recognizable label for the object occurrence. Further explanations to the object can be given using the inherited Description attribute. A context is a specific kind of object definition as it provides the project or library context in which object types and object occurrences are defined.

Objects are independent pieces of information that might contain or reference other pieces of information. There are five essential kinds of relationships in which object definitions (by their instantiable subtypes) can be involved:

  • Assignment of other objects - an assignment relationship (IfcRelAssigns) that refers to other types of objects and creates a bi-directional association. The semantic of the assignment is established at the level of the subtypes of the general IfcRelAssigns relationship. There is no dependency implied a priori by the assignment.
  • Association to external resources - an association relationship (IfcRelAssociates) that refers to external sources of information (most notably a classification or document) and creates a uni-directional association. There is no dependency implied by the association.
  • Aggregation of other objects - an aggregation relationship (IfcRelAggregates) that establishes an unordered, spatial whole/part relation and creates a bi-directional relation. There is an implied dependency established.
  • Nesting of other objects - a nesting relationship (IfcRelNests) that establishes an ordered, non-spatial whole/part relation and creates a bi-directional relation. There is an implied dependency established.
  • Declaration within a context - a relationship (IfcRelDeclares) of the uppermost object definition within the object definition tree (e.g. the summary object within an object nesting tree) to the context (a project or project library). It applies the units, representation context and other context information to this object definition and all dependent ones.
The link between the uppermost object in the spatial structure tree, that is IfcSite or IfcBuilding, and the context provided by IfcProject is created using the IfcRelAggregates relationship. See IfcProject for more information. New abstract entity in IFC2x3. The new subtype IfcContext and the relationship to context HasContext has been added . The decomposition relationship is split into ordered nesting (Nests, IsNestedBy) and un-ordered aggregating (Decomposes, IsDecomposedBy).

5.1.3.7.2 Entity inheritance

5.1.3.7.3 Attributes

# Attribute Type Description
IfcRoot (4)
1 GlobalId IfcGloballyUniqueId

Assignment of a globally unique identifier within the entire software world.

2 OwnerHistory OPTIONAL IfcOwnerHistory

Assignment of the information about the current ownership of that object, including owning actor, application, local identification and information captured about the recent changes of the object,

Only the last modification is stored - either as addition, deletion or modification. The attribute has been changed to be OPTIONAL.
3 Name OPTIONAL IfcLabel

Optional name for use by the participating software systems or users. For some subtypes of IfcRoot the insertion of the Name attribute may be required. This would be enforced by a where rule.

4 Description OPTIONAL IfcText

Optional description, provided for exchanging informative comments.

Click to show 4 hidden inherited attributes Click to hide 4 inherited attributes
IfcObjectDefinition (7)
HasAssignments SET [0:?] OF IfcRelAssigns FOR RelatedObjects

Reference to the relationship objects, that assign (by an association relationship) other subtypes of IfcObject to this object instance. Examples are the association to products, processes, controls, resources or groups.

Nests SET [0:1] OF IfcRelNests FOR RelatedObjects

References to the decomposition relationship being a nesting. It determines that this object definition is a part within an ordered whole/part decomposition relationship. An object occurrence or type can only be part of a single decomposition (to allow hierarchical structures only).

The inverse attribute datatype has been added and separated from Decomposes defined at IfcObjectDefinition.
IsNestedBy SET [0:?] OF IfcRelNests FOR RelatingObject

References to the decomposition relationship being a nesting. It determines that this object definition is the whole within an ordered whole/part decomposition relationship. An object or object type can be nested by several other objects (occurrences or types).

The inverse attribute datatype has been added and separated from IsDecomposedBy defined at IfcObjectDefinition.
HasContext SET [0:1] OF IfcRelDeclares FOR RelatedDefinitions

References to the context providing context information such as project unit or representation context. It should only be asserted for the uppermost non-spatial object.

The inverse attribute datatype has been added.
IsDecomposedBy SET [0:?] OF IfcRelAggregates FOR RelatingObject

References to the decomposition relationship being an aggregation. It determines that this object definition is whole within an unordered whole/part decomposition relationship. An object definition can be aggregated by several other objects (occurrences or parts).

The inverse attribute datatype has been changed from the supertype IfcRelDecomposes to subtype IfcRelAggregates.
Decomposes SET [0:1] OF IfcRelAggregates FOR RelatedObjects

References to the decomposition relationship being an aggregation. It determines that this object definition is a part within an unordered whole/part decomposition relationship. An object definition can only be part of a single decomposition (to allow hierarchical structures only).

The inverse attribute datatype has been changed from the supertype IfcRelDecomposes to subtype IfcRelAggregates.
HasAssociations SET [0:?] OF IfcRelAssociates FOR RelatedObjects

Reference to the relationship objects, that associates external references or other resource definitions to the object. Examples are the association to library, documentation or classification.

Table 5.1.3.7.A

5.1.3.7.4 Concept usage

Concept Usage Description
IfcRoot (2)
Revision Control General

Ownership, history, and merge state is captured using IfcOwnerHistory.

Software Identity General

IfcRoot assigns the globally unique ID. In addition it may provide for a name and a description about the concept.

Click to show 2 hidden inherited concepts Click to hide 2 inherited concepts
IfcObjectDefinition (9)
Classification Association General

Any object occurrence or object type can have a reference to a specific classification reference, i.e. to a particular facet within a classification system.

Aggregation General

No description available.

Approval Association General

No description available.

Constraint Association General

No description available.

Document Association General

No description available.

Library Association General

No description available.

Material Association General

No description available.

Material Single General

No description available.

Nesting General

No description available.

Table 5.1.3.7.B

5.1.3.7.5 Formal representation

ENTITY IfcObjectDefinition
 ABSTRACT SUPERTYPE OF (ONEOF
	(IfcContext
	,IfcObject
	,IfcTypeObject))
 SUBTYPE OF (IfcRoot);
 INVERSE
	HasAssignments : SET [0:?] OF IfcRelAssigns FOR RelatedObjects;
	Nests : SET [0:1] OF IfcRelNests FOR RelatedObjects;
	IsNestedBy : SET [0:?] OF IfcRelNests FOR RelatingObject;
	HasContext : SET [0:1] OF IfcRelDeclares FOR RelatedDefinitions;
	IsDecomposedBy : SET [0:?] OF IfcRelAggregates FOR RelatingObject;
	Decomposes : SET [0:1] OF IfcRelAggregates FOR RelatedObjects;
	HasAssociations : SET [0:?] OF IfcRelAssociates FOR RelatedObjects;
END_ENTITY;

5.1.3.7.6 References

Edit on Github


Is this page difficult to understand? Let us know!

5.1.3.7.7 Changelog

5.1.3.7.7.1 IFC4

  • inverse attribute, Decomposes
  • inverse attribute, HasContext
  • inverse attribute, IsDecomposedBy
  • inverse attribute Decomposes name, Changed from "Decomposes" to "IsNestedBy"
  • inverse attribute Decomposes type, Changed from "SET OF [0:1] IfcRelDecomposes FOR RelatedObjects" to "SET OF [0:?] IfcRelNests FOR RelatingObject"
  • inverse attribute IsDecomposedBy name, Changed from "IsDecomposedBy" to "Nests"
  • inverse attribute IsDecomposedBy type, Changed from "SET OF [0:?] IfcRelDecomposes FOR RelatingObject" to "SET OF [0:1] IfcRelNests FOR RelatedObjects"