#### IfcObjectDefinition

Natural language names

##### Semantic definitions at the entity

Entity definition

Definition from IAI: An IfcObjectDefinition is the generalization of any semantically treated thing or process, either being a type or an occurrences. Object defintions 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.

Objects are independent pieces of information that might contain or reference other pieces of information. There are three 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 (IfcRelDecomposes) that establishes a whole/part relation and creates a bi-directional relation. There is an implied dependency established.

> HISTORY New abstract entity in Release IFC2x Edition 3.
> IFC2x Edition 3 CHANGE The abstract entity IfcObjectDefinition has been added. Upward compatibility for file based exchange is guaranteed.

Attribute definitions

# | Attribute | Type | Cardinality | Description | A
--- | --- | --- | --- | --- | ---
| IsDecomposedBy | IfcRelDecomposes @RelatingObject | S[0:?] | Reference to the decomposition relationship, that allows this object to be the composition of other objects. An object can be decomposed by several other objects. | X
| Decomposes | IfcRelDecomposes @RelatedObjects | S[0:1] | References to the decomposition relationship, that allows this object to be a part of the decomposition. An object can only be part of a single decomposition (to allow hierarchical strutures only). | X
| HasAssociations | IfcRelAssociates @RelatedObjects | S[0:?] | 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. | X

##### Inherited definitions from supertypes

Entity inheritance
Attribute inheritance

# | Attribute | Type | Cardinality | Description | A
--- | --- | --- | --- | --- | ---
IfcRoot
1 | GlobalId | IfcGloballyUniqueId | [1:1] | Assignment of a globally unique identifier within the entire software world. | X
2 | OwnerHistory | IfcOwnerHistory | [1:1] | 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, NOTE: only the last modification in stored. | X
3 | Name | IfcLabel | [0:1] | 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. | X
4 | Description | IfcText | [0:1] | Optional description, provided for exchanging informative comments. | X
IfcObjectDefinition
| IsDecomposedBy | IfcRelDecomposes @RelatingObject | S[0:?] | Reference to the decomposition relationship, that allows this object to be the composition of other objects. An object can be decomposed by several other objects. | X
| Decomposes | IfcRelDecomposes @RelatedObjects | S[0:1] | References to the decomposition relationship, that allows this object to be a part of the decomposition. An object can only be part of a single decomposition (to allow hierarchical strutures only). | X
| HasAssociations | IfcRelAssociates @RelatedObjects | S[0:?] | 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. | X

##### Formal representations

XSD Specification
`<xs:element name="IfcObjectDefinition" type="ifc:IfcObjectDefinition" abstract="true" substitutionGroup="ifc:IfcRoot" nillable="true"/>
<xs:complexType name="IfcObjectDefinition" abstract="true">
<xs:complexContent>
<xs:extension base="ifc:IfcRoot"/>
</xs:complexContent>
</xs:complexType>
`
EXPRESS Specification
`ENTITY IfcObjectDefinition
ABSTRACT SUPERTYPE OF(IfcObject)
SUBTYPE OF (IfcRoot);
INVERSE
IsDecomposedBy : SET [0:?] OF IfcRelDecomposes FOR RelatingObject;
Decomposes : SET [0:1] OF IfcRelDecomposes FOR RelatedObjects;
HasAssociations : SET [0:?] OF IfcRelAssociates FOR RelatedObjects;
END_ENTITY;

EXPRESS-G diagram

`

Link to this page