IfcProject indicates the undertaking of some design, engineering, construction, or maintenance activities leading towards a product. The project establishes the context for information to be exchanged or shared, and it may represent a construction project but does not have to. The IfcProject's main purpose in an exchange structure is to provide the root instance and the context for all other information items included.

The context provided by the IfcProject includes:

HISTORY  New entity in IFC1.0
IFC4 CHANGE  The attributes RepresentationContexts and UnitsInContext are made optional and are promoted to supertype IfcContext.

Informal Propositions:

  1. There shall only be one project within the exchange context. This is enforced by the global rule IfcSingleProjectInstance.

Common Use Definitions

The following concepts are inherited at supertypes:

 Instance diagram

Project Declaration

The Project Declaration concept applies to this entity as shown in Table 4.
IfcProjectLibraryReferenced projects incorporated into this project.
IfcPropertySetTemplateProperty set templates defined by this project.
IfcTypeObjectType definition defined by this project.
IfcActorActors participating in this project.
IfcControlControls issued within this project.
IfcGroupGroups defined by this project.
IfcProcessProcesses defined by this project.
IfcResourceResources defined by this project.

Table 4 — IfcProject Project Declaration

The IfcProject is also the context for other information about the construction project such as a work plan. Non-product structures are assigned by their first level object to IfcProject using the IfcRelDeclares relationship.

The IfcProject provides the context for spatial elements and the associated products, and for work plans (or other non-product based) descriptions of the construction project. It is handled by two distinct relationship objects as shown in Figure 95.

NOTE  The spatial structure and the schedule structure can be decomposed. For example the IfcBuilding can be decomposed into IfcBuildingStorey's, and the IfcWorkPlan can be decomposed into IfcWorkSchedule's.
NOTE  The products and tasks can be decomposed further. For example the IfcCurtainWall can be decomposed into IfcMember and IfcPlate, the IfcTask can be decomposed into other IfcTask's.
NOTE  The products and tasks can have direct linking relationships. For example the IfcCurtainWall can be assigned to a IfcTask as an input or output for a construction schedule.
NOTE  The anomaly to use the composition structure through IfcRelAggregates for assigning the uppermost spatial container to IfcProject is due to upward compatibility reasons with earlier releases of this standard.

Figure 94 illustrates the context for project libraries that in return provide a context to the library items assigned to it. Product types are an example for items that can be included in a project library.

project relationships

Figure 94 — Project spatial and work plan structure

Figure 95 illustrates project relationships with spatial structures, products, and type libraries.

project relationships

Figure 95 — Project spatial structure, products and product type library

Spatial Decomposition

The Spatial Decomposition concept applies to this entity as shown in Table 5.
Spatial PartsDescription
IfcSiteIf referenced, the site is the root of the spatial structure.
IfcBuildingIf referenced, the building is the root of the spatial structure (no explicit site information included).
IfcSpatialZoneIf referenced, the spatial zone is the root of the spatial structure (to be used as a stub for non-building related projects).

Table 5 — IfcProject Spatial Decomposition

The IfcProject is used to reference the root of the spatial structure of a building or other construction project (that serves as the primary project breakdown and is required to be hierarchical). The spatial structure elements are linked together, and to the IfcProject, by using the objectified relationship IfcRelAggregates.

Project Units

The Project Units concept applies to this entity as shown in Table 6.
LENGTHUNIT Length unit as meters, millimeters, or inches.
PLANEANGLEUNIT Angle unit as degrees or radians.

Table 6 — IfcProject Project Units

Project Context

The Project Context concept applies to this entity as shown in Table 7.
Model3DContext for all 3D geometry.
Plan2DContext for all 2D annotations.

Table 7 — IfcProject Project Context

Project Classification Information

The Project Classification Information concept applies to this entity.

Project Document Information

The Project Document Information concept applies to this entity.

Project Library Information

The Project Library Information concept applies to this entity.

XSD Specification:

 <xs:element name="IfcProject" type="ifc:IfcProject" substitutionGroup="ifc:IfcContext" nillable="true"/>
 <xs:complexType name="IfcProject">
   <xs:extension base="ifc:IfcContext"/>

EXPRESS Specification:

ENTITY IfcProject
SUBTYPE OF IfcContext;
HasName : EXISTS(SELF\IfcRoot.Name);
CorrectContext : NOT(EXISTS(SELF\IfcContext.RepresentationContexts)) OR (SIZEOF(QUERY(Temp <* SELF\IfcContext.RepresentationContexts | 'IFCREPRESENTATIONRESOURCE.IFCGEOMETRICREPRESENTATIONSUBCONTEXT' IN TYPEOF(Temp) )) = 0);
NoDecomposition : SIZEOF(SELF\IfcObjectDefinition.Decomposes) = 0;
HasOwnerHistory : EXISTS(SELF\IfcRoot.OwnerHistory);

Link to EXPRESS-G diagram EXPRESS-G diagram

Formal Propositions:

HasName : The Name attribute has to be provided for IfcProject. It is the short name for the project.
CorrectContext : If a RepresentationContexts relation is provided then there shall be no instance of IfcGeometricRepresentationSubContext directly included in the set of RepresentationContexts.
NoDecomposition : The IfcProject represents the root of the any decomposition tree. It shall therefore not be used to decompose any other object definition.
HasOwnerHistory : The OwnerHistory attribute has to be provided for IfcProject. It provides the minimum of owner information for the project data set and the last change action, that applied to the whole data set.
NOTE  Each individual data item, that derives from IfcRoot may have an individual OwnerHistory. It then overrides the common ownership and chance action information provided at the single IfcProject instance in an IFC data set.
IFC4 CHANGE New where rule.

Inheritance Graph:

ENTITY IfcProject
GlobalId : IfcGloballyUniqueId;
OwnerHistory : OPTIONAL IfcOwnerHistory;
Name : OPTIONAL IfcLabel;
Description : OPTIONAL IfcText;
ENTITY IfcObjectDefinition
HasAssignments : SET OF IfcRelAssigns FOR RelatedObjects;
Nests : SET [0:1] OF IfcRelNests FOR RelatedObjects;
IsNestedBy : SET OF IfcRelNests FOR RelatingObject;
HasContext : SET [0:1] OF IfcRelDeclares FOR RelatedDefinitions;
IsDecomposedBy : SET OF IfcRelAggregates FOR RelatingObject;
Decomposes : SET [0:1] OF IfcRelAggregates FOR RelatedObjects;
HasAssociations : SET OF IfcRelAssociates FOR RelatedObjects;
ENTITY IfcContext
ObjectType : OPTIONAL IfcLabel;
LongName : OPTIONAL IfcLabel;
Phase : OPTIONAL IfcLabel;
RepresentationContexts : OPTIONAL SET [1:?] OF IfcRepresentationContext;
UnitsInContext : OPTIONAL IfcUnitAssignment;
IsDefinedBy : SET [0:?] OF IfcRelDefinesByProperties FOR RelatedObjects;
Declares : SET OF IfcRelDeclares FOR RelatingContext;
ENTITY IfcProject

Link to this page  Link to this page