Navigate Navigate Navigate Navigate Navigate Navigate Navigate Navigate


Definition from buildingSMART: An IfcObject is the generalization of any semantically treated thing or process. Objects are things as they appear - i.e. occurrences.

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 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. The ObjectType attribute is used:

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

EXPRESS specification:

ENTITY IfcObject
ABSTRACT SUPERTYPE OF (ONEOF(IfcActor, IfcControl, IfcGroup, IfcProcess, IfcProduct, IfcProject, IfcResource))
SUBTYPE OF ( IfcObjectDefinition);
ObjectType  :  OPTIONAL IfcLabel;
IsDefinedBy  :  SET OF IfcRelDefines FOR RelatedObjects;

Attribute definitions:

ObjectType  :  The type denotes a particular type that indicates the object further. The use has to be established at the level of instantiable subtypes. In particular it holds the user defined type, if the enumeration of the attribute PredefinedType is set to USERDEFINED.
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 IfcTypeObject contains the specific information (or type, or style), that is common to all instances of IfcObject referring to the same type.

Formal Propositions:

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

Inheritance graph

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