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
# | Attribute | Type | Cardinality | Description | A |
---|---|---|---|---|---|
5 | ObjectType | IfcLabel | [0:1] |
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.
| X |
IsDefinedBy | IfcRelDefines @RelatedObjects | S[0:?] |
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.
| X |
Rule | Description |
---|---|
WR1 | Only maximum of one relationship to an underlying type (by an IfcRelDefinesByType relationship) should be given for an object instance. |
# | 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 | |
IfcObject | |||||
5 | ObjectType | IfcLabel | [0:1] |
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.
| X |
IsDefinedBy | IfcRelDefines @RelatedObjects | S[0:?] |
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.
| X |
<xs:element name="IfcObject" type="ifc:IfcObject" abstract="true" substitutionGroup="ifc:IfcObjectDefinition" nillable="true"/>
<xs:complexType name="IfcObject" abstract="true">
<xs:complexContent>
<xs:extension base="ifc:IfcObjectDefinition">
<xs:attribute name="ObjectType" type="ifc:IfcLabel" use="optional"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
ENTITY IfcObject
ABSTRACT SUPERTYPE OF(ONEOF(IfcProduct, IfcProject))
SUBTYPE OF (IfcObjectDefinition);
ObjectType : OPTIONAL IfcLabel;
INVERSE
IsDefinedBy : SET [0:?] OF IfcRelDefines FOR RelatedObjects;
WHERE
WR1 : SIZEOF(QUERY(temp <* IsDefinedBy | 'IFCKERNEL.IFCRELDEFINESBYTYPE' IN TYPEOF(temp))) <= 1;
END_ENTITY;