Navigation

IfcObject

Defintion from IAI: An IfcObject is the generalization of any semantically treated thing or process. 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 can be named, using the inherited Name attribute, the should be a user recognizable label for the object occurrance. 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 ( 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 [0:1] OF IfcRelDecomposes FOR RelatedObjects;
IsDecomposedBy  :  SET 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 indicates the object futher. 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 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. An object can only be part of a single decomposition (to allow hierarchical strutures only).
IsDecomposedBy  :  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.

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;
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 [0:1] OF IfcRelDecomposes FOR RelatedObjects;
IsDecomposedBy  :  SET OF IfcRelDecomposes FOR RelatingObject;
END_ENTITY;