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:

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.

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.
TableNameReferenceFormatColor
FacilityNameIfcProject.IsDecomposedBy[*]\IfcRelAggregates.RelatedObjects[*]\IfcSite.IsDecomposedBy[*]\IfcRelAggregates.RelatedObjects[*]\IfcBuilding.NameKey#FFFF99
FacilityCreatedByIfcProject.OwnerHistory\IfcOwnerHistory.OwningUser\IfcPersonAndOrganization.ThePerson\IfcPerson.Identification #FFCC99
FacilityCreatedOnIfcProject.OwnerHistory\IfcOwnerHistory.CreationDate #FFFF99
FacilityCategoryIfcProject.IsDecomposedBy[*]\IfcRelAggregates.RelatedObjects[*]\IfcSite.IsDecomposedBy[*]\IfcRelAggregates.RelatedObjects[*]\IfcBuilding.HasAssociations[*]\IfcRelAssociatesClassification.RelatingClassification\IfcClassificationReference.Identification #FFCC99
FacilityProjectNameIfcProject.Name #FFFF99
FacilitySiteNameIfcProject.IsDecomposedBy[*]\IfcRelAggregates.RelatedObjects[*]\IfcSite.Name #FFFF99
FacilityLinearUnitsIfcProject.UnitsInContext\IfcUnitAssignment.Units['LENGTHUNIT'] #FFCC99
FacilityAreaUnitsIfcProject.UnitsInContext\IfcUnitAssignment.Units['AREAUNIT'] #FFCC99
FacilityVolumeUnitsIfcProject.UnitsInContext\IfcUnitAssignment.Units['VOLUMEUNIT'] #FFCC99
FacilityCurrencyUnitIfcProject.UnitsInContext\IfcUnitAssignment.Units[*]\IfcMonetaryUnit.Currency #FFCC99
FacilityAreaMeasurementIfcProject.LongName #FFFF99
FacilityExternalSystemIfcProject.OwnerHistory\IfcOwnerHistory.OwningApplication\IfcApplication.ApplicationIdentifier #CC99FF
FacilityExternalProjectObjectIfcProject\ #CC99FF
FacilityExternalProjectIdentifierIfcProject.GlobalId #CC99FF
FacilityExternalSiteObjectIfcProject.IsDecomposedBy[*]\IfcRelAggregates.RelatedObjects[*]\ #CC99FF
FacilityExternalSiteIdentifierIfcProject.IsDecomposedBy[*]\IfcRelAggregates.RelatedObjects[*]\IfcSite.GlobalId #CC99FF
FacilityExternalFacilityObjectIfcProject.IsDecomposedBy[*]\IfcRelAggregates.RelatedObjects[*]\IfcSite.IsDecomposedBy[*]\IfcRelAggregates.RelatedObjects[*]\ #CC99FF
FacilityExternalFacilityIdentifierIfcProject.IsDecomposedBy[*]\IfcRelAggregates.RelatedObjects[*]\IfcSite.IsDecomposedBy[*]\IfcRelAggregates.RelatedObjects[*]\IfcBuilding.GlobalId #CC99FF
FacilityDescriptionIfcProject.IsDecomposedBy[*]\IfcRelAggregates.RelatedObjects[*]\IfcSite.IsDecomposedBy[*]\IfcRelAggregates.RelatedObjects[*]\IfcBuilding.Description #CCFFCC
FacilityProjectDescriptionIfcProject.Description #CCFFCC
FacilitySiteDescriptionIfcProject.IsDecomposedBy[*]\IfcRelAggregates.RelatedObjects[*]\IfcSite.Description #CCFFCC
FacilityPhaseIfcProject.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.
UnitTypeNameConversionTypeConversionFactorBaseUnitPrefixBaseUnitNameConversionOffset
LENGTHUNITinch     
AREAUNITsquare inch     
VOLUMEUNITcubic inch     
MASSUNITpound     

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:

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:

The following behavior is not allowed:

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.
TypeDescription
IfcActorA project may declare zero, one, or more actors participating within the current project.
IfcActionRequestA project may declare zero, one, or more action requests indicating directives within the current project.
IfcSystemA project may declare zero, one, or more systems.
IfcZoneA project may declare zero, one, or more zones.
IfcTaskA project may declare zero, one, or more tasks.
IfcConstructionResourceA project may declare zero, one, or more resources.
IfcTypeProductA project may declare zero, one, or more element types or space types.
IfcConstructionResourceTypeA 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:

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;

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;
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 IfcStrippedOptional;
LongName : OPTIONAL IfcStrippedOptional;
Phase : OPTIONAL IfcStrippedOptional;
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  Link to this page