#### 5.1.3.9 IfcProject

| Projet
| Projekt

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:

- the default units
- the geometric representation context for exchange structures including shape representations
  - the world coordinate system
  - the coordinate space dimension
  - the precision used within the geometric representations, and
  - optionally the indication of the true north relative to the world coordinate system

> 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.

## Building Automation

The following concepts are inherited at supertypes:

- IfcRoot: Revision Control

Instance diagram

Identity

The Identity concept applies to this entity.

Exchange |  |  |  |  |
--- | --- | --- | --- | --- | ---
Import |  |  |  |  |
Export |  |  |  |  |

Project Library Information

The Project Library Information concept applies to this entity.

Exchange |  |  |  |  |
--- | --- | --- | --- | --- | ---
Import |  |  |  |  |
Export |  |  |  |  |

Project Declaration

The Project Declaration concept applies to this entity as shown in Table 1.

Type | Description
--- | ---
IfcProjectLibrary | Project libraries encapsulate referenced definitions of product types and process types.
IfcPerformanceHistory | Performance history contains historical data captured from devices in realtime.
IfcDistributionSystem | Distribution systems indicate control systems and hosted devices.
IfcTask | Tasks indicate scheduled programs containing events and procedures.
Table 1 — IfcProject Project Declaration

Exchange |  |  |  |  |
--- | --- | --- | --- | --- | ---
Import |  |  |  |  |
Export |  |  |  |  |

SI Units

The SI Units concept applies to this entity as shown in Table 2.

UnitType | Prefix | Name
--- | --- | ---
THERMODYNAMICTEMPERATUREUNIT |  | KELVIN
THERMODYNAMICTEMPERATUREUNIT |  | DEGREE_CELSIUS
ENERGYUNIT |  | JOULE
POWERUNIT |  | WATT
LENGTHUNIT |  | METRE
TIMEUNIT |  | SECOND
ELECTRICVOLTAGEUNIT |  | VOLT
FREQUENCYUNIT |  | HERTZ
Table 2 — IfcProject SI Units

Exchange |  |  |  |  |
--- | --- | --- | --- | --- | ---
Import |  |  |  |  |
Export |  |  |  |  |

Conversion Units

The Conversion Units concept applies to this entity as shown in Table 3.

Type | UnitType | Name | ConversionType | ConversionFactor | BaseUnitPrefix | BaseUnitName | ConversionOffset
--- | --- | --- | --- | --- | --- | --- | ---
IfcConversionBasedUnitWithOffset | THERMODYNAMICTEMPERATUREUNIT | Fahrenheit | IfcThermodynamicTemperatureMeasure | 1.8 |  | KELVIN | -459.67
IfcConversionBasedUnit | LENGTHUNIT | inch | IfcLengthMeasure | 25.4 | MILLI | METRE |
IfcConversionBasedUnit | PLANEANGLEUNIT | degree | IfcPlaneAngleMeasure | 0.01745329252 |  | RADIAN |
Table 3 — IfcProject Conversion Units

If omitted, then SI base units are assumed, with angles measured in degrees and temperature measured in Kelvin.

Exchange |  |  |  |  |
--- | --- | --- | --- | --- | ---
Import |  |  |  |  |
Export |  |  |  |  |

Spatial Decomposition

The Spatial Decomposition concept applies to this entity as shown in Table 4.

Spatial Parts
IfcSite
IfcBuilding
Table 4 — IfcProject Spatial Decomposition

The IfcProject is used to reference the root of the spatial structure of a building (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. The IfcProject references them by its inverse relationship:

- IfcProject.Decomposes — it shall be NIL, i.e. IfcProject shall not be part of a decomposition as it is the root element of the spatial structure.
- IfcProject.IsDecomposedBy — referencing (IfcSite || IfcBuilding) by IfcRelAggregates.RelatingObject. The IfcSite or IfcBuilding referenced shall be the root of the spatial structure.

Exchange |  |  |  |  |
--- | --- | --- | --- | --- | ---
Import |  |  |  |  |
Export |  |  |  |  |

Table Mapping

The Table Mapping concept applies to this entity as shown in Table 5.

Table | Column | Unit | Reference
--- | --- | --- | ---
Facility | Name |  | IfcProject.IsDecomposedBy[*]\IfcRelAggregates.RelatedObjects[*]\IfcSite.IsDecomposedBy[*]\IfcRelAggregates.RelatedObjects[*]\IfcBuilding.Name
Facility | CreatedBy |  | IfcProject.OwnerHistory\IfcOwnerHistory.OwningUser\IfcPersonAndOrganization.ThePerson\IfcPerson.Identification
Facility | CreatedOn |  | IfcProject.OwnerHistory\IfcOwnerHistory.CreationDate
Facility | Categoty |  | IfcProject.IsDecomposedBy[*]\IfcRelAggregates.RelatedObjects[*]\IfcSite.IsDecomposedBy[*]\IfcRelAggregates.RelatedObjects[*]\IfcBuilding.HasAssociations[*]\IfcRelAssociatesClassification.RelatingClassification\IfcClassificationReference.Identification
Facility | ProjectName |  | IfcProject.Name
Facility | SiteName |  | IfcProject.IsDecomposedBy[*]\IfcRelAggregates.RelatedObjects[*]\IfcSite.Name
Facility | LinearUnits |  | IfcProject.UnitsInContext\IfcUnitAssignment.Units['LENGTHUNIT']\IfcNamedUnit.Name
Facility | AreaUnits |  | IfcProject.UnitsInContext\IfcUnitAssignment.Units['AREAUNIT']\IfcNamedUnit.Name
Facility | VolumeUnits |  | IfcProject.UnitsInContext\IfcUnitAssignment.Units['VOLUMEUNIT']\IfcNamedUnit.Name
Facility | CurrencyUnit |  | IfcProject.UnitsInContext\IfcUnitAssignment.Units[*]\IfcMonetaryUnit.Currency
Facility | ExternalSystem |  | IfcProject.OwnerHistory\IfcOwnerHistory.OwningApplication\IfcApplication.ApplicationIdentifier
Facility | ExternalProjectObject |  | IfcProject\
Facility | ExternalProjectIdentifier |  | IfcProject.GlobalId
Facility | ExternalSiteObject |  | IfcProject.IsDecomposedBy[*]\IfcRelAggregates.RelatedObjects[*]\
Facility | ExternalSiteIdentifier |  | IfcProject.IsDecomposedBy[*]\IfcRelAggregates.RelatedObjects[*]\IfcSite.GlobalId
Facility | ExternalFacilityObject |  | IfcProject.IsDecomposedBy[*]\IfcRelAggregates.RelatedObjects[*]\IfcSite.IsDecomposedBy[*]\IfcRelAggregates.RelatedObjects[*]\
Facility | ExternalFacilityIdentifier |  | IfcProject.IsDecomposedBy[*]\IfcRelAggregates.RelatedObjects[*]\IfcSite.IsDecomposedBy[*]\IfcRelAggregates.RelatedObjects[*]\IfcBuilding.GlobalId
Facility | Description |  | IfcProject.IsDecomposedBy[*]\IfcRelAggregates.RelatedObjects[*]\IfcSite.IsDecomposedBy[*]\IfcRelAggregates.RelatedObjects[*]\IfcBuilding.Description
Facility | ProjectDescription |  | IfcProject.Description
Facility | SiteDescription |  | IfcProject.IsDecomposedBy[*]\IfcRelAggregates.RelatedObjects[*]\IfcSite.Description
Facility | Phase |  | IfcProject.Phase
Table 5 — IfcProject Table Mapping

Exchange |  |  |  |  |
--- | --- | --- | --- | --- | ---
Import |  |  |  |  |
Export |  |  |  |  |

XSD Specification:

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

EXPRESS Specification:

ENTITY IfcProject

| SUBTYPE OF IfcContext;

| WHERE

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);

END_ENTITY;

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

| ENTITY IfcRoot

GlobalId | : | IfcGloballyUniqueId;
OwnerHistory | : | OPTIONAL IfcOwnerHistory;
Name | : | OPTIONAL IfcLabel;
Description | : | OPTIONAL IfcText;

| ENTITY IfcObjectDefinition

| INVERSE

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 IfcStrippedOptional;
UnitsInContext | : | OPTIONAL IfcUnitAssignment;

| INVERSE

IsDefinedBy | : | SET [0:?] OF IfcRelDefinesByProperties FOR RelatedObjects;
Declares | : | SET OF IfcRelDeclares FOR RelatingContext;

| ENTITY IfcProject

END_ENTITY;

Link to this page