The objectified relationship IfcRelDeclares handles the declaration of objects (subtypes of IfcObject) or properties (subtypes of IfcPropertyDefinition) to a project or project library (represented by IfcProject, or IfcProjectLibrary).
The relationship handles the assignment of other objects, like IfcActor, or IfcTypeObject to the project, or project libary. The attribute RelatedDefinitions provides the references to the first level objects, that are the elements within the context. All other objects that relate to the first level objects are also defined in the context.
NOTE Every object (as subtype of IfcObject) has to be declared within the context of a single IfcProject, or of a IfcProjectLibrary assigned to a single IfcProject. This declaration is transitive. For example: the IfcWorkPlan as first level object is declared within the context of IfcProject via IfcRelDeclares, all related IfcWorkSchedule's are related to the context in a transitive way through IfcWorkPlan.
NOTE The assignment excludes subtypes of IfcProduct's, these are assigned to the IfcProject using the spatial structure approach through IfcSpatialStructureElement(s), where the outer container element such as IfcSite or IfcBuilding has an IfcRelAggregates relationship with the IfcProject.
The RelatingContext is the project, or project library that comprises all elements. The unit assignments and the presentation contexts defined at IfcProject or IfcProjectLibrary apply to all these elements.
HISTORY New entity in IFC4.
|1||GlobalId||IfcGloballyUniqueId||Assignment of a globally unique identifier within the entire software world.|
|2||OwnerHistory||OPTIONAL IfcOwnerHistory||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 - either as addition, deletion or modification.
> IFC4 CHANGE The attribute has been changed to be OPTIONAL.
|3||Name||OPTIONAL IfcLabel||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.|
|4||Description||OPTIONAL IfcText||Optional description, provided for exchanging informative comments.|
|5||RelatingContext||IfcContext||Reference to the IfcProject to which additional information is assigned.|
|6||RelatedDefinitions||SET [1:?] OF IfcDefinitionSelect||Set of object or property definitions that are assigned to a context and to which the unit and representation context definitions of that context apply.|
IfcRoot assigns the globally unique ID. In addition it may provide for a name and a description about the concept.
Ownership, history, and merge state is captured using IfcOwnerHistory.
ENTITY IfcRelDeclares SUBTYPE OF (IfcRelationship); RelatingContext : IfcContext; RelatedDefinitions : SET [1:?] OF IfcDefinitionSelect; WHERE NoSelfReference : SIZEOF(QUERY(Temp <* RelatedDefinitions | RelatingContext :=: Temp)) = 0; END_ENTITY;