Navigation

IfcObject

Defintion from IAI: An IfcObject is the generalization of any semantically treated thing or process within IFC. Objects are things as they appear - i.e. occurences.

NOTE Examples of IfcObject include physically tangible items, such as wall, beam or covering, physically existing items, such as spaces, or conceptual items, such as grids or virtual boundaries. It also stands for processes, such as work tasks, for controls, such as cost items, for actors, such as persons involved in the design process, etc.

Objects are independent pieces of information that might contain or reference other pieces of information. There are four essential kind of relationships in which objects can be involved:

HISTORY New Entity in IFC Release 1.0
ISSUES See issue and change log for changes made in IFC Release 2x.

EXPRESS specification:

ENTITY IfcObject
ABSTRACT SUPERTYPE OF (ONEOF(IfcActor, IfcControl, IfcGroup, IfcProcess, IfcProduct, IfcProject, IfcResource))
SUBTYPE OF ( IfcRoot);
ObjectType  :  OPTIONAL IfcLabel;
INVERSE
IsDefinedBy  :  SET OF IfcRelDefines FOR RelatedObjects;
HasAssociations  :  SET OF IfcRelAssociates FOR RelatedObjects;
HasAssignments  :  SET OF IfcRelAssigns FOR RelatedObjects;
Decomposes  :  SET OF IfcRelDecomposes FOR RelatedObjects;
IsDecomposedBy  :  SET [0:1] OF IfcRelDecomposes FOR RelatingObject;
WHERE
WR1  :  SIZEOF(QUERY(temp <* IsDefinedBy | 'IFCKERNEL.IFCRELDEFINESBYTYPE' IN TYPEOF(temp))) <= 1;
END_ENTITY;

Attribute definitions:

ObjectType  :  The type denotes a particular type that indicated the object futher. The use has to be established at the level of instantiable subtypes of IfcObject.
IsDefinedBy  :  Set of Relationships to type or property (statically or dynamically defined) information that further define the object. In case of type information, the associated IfcObjectType contains the specific information (or type, or style), that is common to all instances of IfcObject refering to the same type.
HasAssociations  :  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.
HasAssignments  :  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.
Decomposes  :  References to the decomposition relationship, that allows this object to be a part of the decomposition.
IsDecomposedBy  :  Reference to the decomposition relationship, that allows this object to be the composition of other objects.

Formal Propositions:

WR1  :  Only maximum of one relationship to an underlying type (by an IfcRelDefinesByType relationship) should be given for an object instance.

References (12):

Name Type Referred through Express-G
IfcActor Entity
Supertype
Diagram 6
IfcControl Entity
Supertype
Diagram 6
IfcGroup Entity
Supertype
Diagram 7
IfcProcess Entity
Supertype
Diagram 5
IfcProduct Entity
Supertype
Diagram 4
IfcProject Entity
Supertype
Diagram 7
IfcRelAssigns Entity
Attribute 'RelatedObjects'
Diagram 2
IfcRelDecomposes Entity
Attribute 'RelatingObject'
Attribute 'RelatedObjects'
Diagram 3
IfcRelDefines Entity
Attribute 'RelatedObjects'
Diagram 3
IfcResource Entity
Supertype
Diagram 6
IfcRoot Entity
Subtype
Diagram 1

Inheritance graph

ENTITY IfcObject;
ENTITY IfcRoot;
GlobalId  :  IfcGloballyUniqueId;
OwnerHistory  :  IfcOwnerHistory;
Name  :  OPTIONAL IfcLabel;
Description  :  OPTIONAL IfcText;
ENTITY IfcObject;
ObjectType  :  OPTIONAL IfcLabel;
INVERSE
IsDefinedBy  :  SET OF IfcRelDefines FOR RelatedObjects;
HasAssociations  :  SET OF IfcRelAssociates FOR RelatedObjects;
HasAssignments  :  SET OF IfcRelAssigns FOR RelatedObjects;
Decomposes  :  SET OF IfcRelDecomposes FOR RelatedObjects;
IsDecomposedBy  :  SET [0:1] OF IfcRelDecomposes FOR RelatingObject;
END_ENTITY;