5.1.3.9 IfcProject
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:
- There shall only be one project within the exchange context. This is enforced by the global rule IfcSingleProjectInstance.
Construction Operations
All IFC files must contain a single IfcProject instance that provides global context information including default units, and provides a directory of objects organized within the project.
Instance diagram
Identity
The Identity concept applies to this entity.
Exchange |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Import |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
Export |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
Revision Control
The Revision Control concept applies to this entity.
Exchange |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Import |
O |
O |
O |
O |
O |
O |
O |
O |
O |
O |
O |
O |
O |
O |
O |
O |
O |
O |
O |
O |
O |
O |
O |
O |
O |
O |
O |
O |
Export |
O |
O |
O |
O |
O |
O |
O |
O |
O |
O |
O |
O |
O |
O |
O |
O |
O |
O |
O |
O |
O |
O |
O |
O |
O |
O |
O |
O |
External Data Constraints
The External Data Constraints concept applies to this entity as shown in Table 3.
Table | Name | Reference | Format | Color |
Facility | Name | IfcProject.IsDecomposedBy[*]\IfcRelAggregates.RelatedObjects[*]\IfcSite.IsDecomposedBy[*]\IfcRelAggregates.RelatedObjects[*]\IfcBuilding.Name | Key | #FFFF99 |
Facility | CreatedBy | IfcProject.OwnerHistory\IfcOwnerHistory.OwningUser\IfcPersonAndOrganization.ThePerson\IfcPerson.Identification | | #FFCC99 |
Facility | CreatedOn | IfcProject.OwnerHistory\IfcOwnerHistory.CreationDate | | #FFFF99 |
Facility | Category | IfcProject.IsDecomposedBy[*]\IfcRelAggregates.RelatedObjects[*]\IfcSite.IsDecomposedBy[*]\IfcRelAggregates.RelatedObjects[*]\IfcBuilding.HasAssociations[*]\IfcRelAssociatesClassification.RelatingClassification\IfcClassificationReference.Identification | | #FFCC99 |
Facility | ProjectName | IfcProject.Name | | #FFFF99 |
Facility | SiteName | IfcProject.IsDecomposedBy[*]\IfcRelAggregates.RelatedObjects[*]\IfcSite.Name | | #FFFF99 |
Facility | LinearUnits | IfcProject.UnitsInContext\IfcUnitAssignment.Units['LENGTHUNIT'] | | #FFCC99 |
Facility | AreaUnits | IfcProject.UnitsInContext\IfcUnitAssignment.Units['AREAUNIT'] | | #FFCC99 |
Facility | VolumeUnits | IfcProject.UnitsInContext\IfcUnitAssignment.Units['VOLUMEUNIT'] | | #FFCC99 |
Facility | CurrencyUnit | IfcProject.UnitsInContext\IfcUnitAssignment.Units[*]\IfcMonetaryUnit.Currency | | #FFCC99 |
Facility | AreaMeasurement | IfcProject.LongName | | #FFFF99 |
Facility | ExternalSystem | IfcProject.OwnerHistory\IfcOwnerHistory.OwningApplication\IfcApplication.ApplicationIdentifier | | #CC99FF |
Facility | ExternalProjectObject | IfcProject\ | | #CC99FF |
Facility | ExternalProjectIdentifier | IfcProject.GlobalId | | #CC99FF |
Facility | ExternalSiteObject | IfcProject.IsDecomposedBy[*]\IfcRelAggregates.RelatedObjects[*]\ | | #CC99FF |
Facility | ExternalSiteIdentifier | IfcProject.IsDecomposedBy[*]\IfcRelAggregates.RelatedObjects[*]\IfcSite.GlobalId | | #CC99FF |
Facility | ExternalFacilityObject | IfcProject.IsDecomposedBy[*]\IfcRelAggregates.RelatedObjects[*]\IfcSite.IsDecomposedBy[*]\IfcRelAggregates.RelatedObjects[*]\ | | #CC99FF |
Facility | ExternalFacilityIdentifier | IfcProject.IsDecomposedBy[*]\IfcRelAggregates.RelatedObjects[*]\IfcSite.IsDecomposedBy[*]\IfcRelAggregates.RelatedObjects[*]\IfcBuilding.GlobalId | | #CC99FF |
Facility | Description | IfcProject.IsDecomposedBy[*]\IfcRelAggregates.RelatedObjects[*]\IfcSite.IsDecomposedBy[*]\IfcRelAggregates.RelatedObjects[*]\IfcBuilding.Description | | #CCFFCC |
Facility | ProjectDescription | IfcProject.Description | | #CCFFCC |
Facility | SiteDescription | IfcProject.IsDecomposedBy[*]\IfcRelAggregates.RelatedObjects[*]\IfcSite.Description | | #CCFFCC |
Facility | Phase | IfcProject.Phase | | #CCFFCC |
|
Table 3 — IfcProject External Data Constraints |
Exchange |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Import |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
Export |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
Conversion Units
The Conversion Units concept applies to this entity as shown in Table 4.
|
Table 4 — IfcProject Conversion Units |
Project Units define the units used in the data exchange. Units can be translated during export and import; that is, the originating model, data exchange and resulting model may all have different units.
The following units must be supported in all exchange scenarios:
- Length
- Area
- Volume
- Angle
- Currency
Additional units must be supported if they are needed in the context of an exchange scenario. Each measure value of the same type in the data exchange uses the same unit. When an application imports data, the following behavior relating to units is allowed:
- Importing units as they are, providing the units match the units used by the importing application.
- Translating to units of the same unit system, e.g. millimeters to meters.
- Translating between unit systems, e.g. from millimeter to inch. The user must be prompted to accept the translation or cancel the import.
- Informing the user about unsupported units and cancelling the import.
The following behavior is not allowed:
- Importing units of a supported unit system without translation, if the units in the receiving application are not set to match the units used in the exchange, e.g. importing millimeters as meters.
- Importing units of an unsupported unit system without translation, e.g. importing millimeters as inches without translation.
- Mixing units of different unit systems is not allowed. Importing applications are required to detect invalid unit configurations, notify the user and cancel the import.
- Additional restrictions have been imposed on units, with the requirement that angles must be measured in degrees (as opposed to radians).
Exchange |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Import |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
Export |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
Project Declaration
The Project Declaration concept applies to this entity as shown in Table 5.
Type | Description |
IfcActor | A project may declare zero, one, or more actors participating within the current project. |
IfcActionRequest | A project may declare zero, one, or more action requests indicating directives within the current project. |
IfcSystem | A project may declare zero, one, or more systems. |
IfcZone | A project may declare zero, one, or more zones. |
IfcTask | A project may declare zero, one, or more tasks. |
IfcConstructionResource | A project may declare zero, one, or more resources. |
IfcTypeProduct | A project may declare zero, one, or more element types or space types. |
IfcConstructionResourceType | A project may declare zero, one, or more resource types. |
|
Table 5 — IfcProject Project Declaration |
Exchange |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Import |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
Export |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
R |
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:
|
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); |
|
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:
|
ObjectType | : | OPTIONAL IfcStrippedOptional; |
LongName | : | OPTIONAL IfcStrippedOptional; |
Phase | : | OPTIONAL IfcStrippedOptional; |
RepresentationContexts | : | OPTIONAL SET [1:?] OF IfcStrippedOptional; |
UnitsInContext | : | OPTIONAL IfcUnitAssignment; |
|
Link to this page