Navigation

IfcTask

Definition from IAI: An IfcTask is an identifiable unit of work to be carried out independently of any other units of work in a construction project. Work is identified as tasks (i.e. IfcTask) that are capable of either containing other tasks or being sub-items of other tasks. A task can be used to describe a process for the construction or installation of products and is given a name that is indicative of its content.

The inherited attributes have the following meaning:

IfcObject.HasAssignments - included in the set are references to the IfcRelAssignsTask, which assign an IfcTask to the IfcWorkControl.

IfcRoot.Name - The name of the work task.

IfcRoot.Description - Textual description of the work task.

HISTORY New entity in IFC Release 1.0. Has been renamed from IfcWorkTask in IFC Release 2x.
ISSUES See issue and change log in IFC Release 2x.

Use Definitions

The installation of a number of items of equipment within a particular space may be the subject of a single task which is identified as ‘fix equipment in space 123’. IfcTask represents the occurrence of a work performance of a type of process in a construction plan, while task types themselves are not handled in this version. Each task can nest other tasks as sub-items; the nesting relationship is modeled by IfcRelNestsProcesses (in the Kernel schema). For example, the construction of a stud wall may be designated as a nesting task named ‘install wall #1’ including other tasks such as ‘install dry wall’, ‘install studs’, ‘wall taping’, and ‘erect wall’ as sub-processes. Additionally, the sequential relationships between tasks are represented by IfcRelSequence in IfcKernel schema. Resource uses of tasks are represented by IfcRelAssignsToResource.

EXPRESS specification:

ENTITY IfcTask
SUBTYPE OF ( IfcProcess);
TaskId  :  IfcIdentifier;
WBSCode  :  OPTIONAL LIST [1:?] OF UNIQUE IfcLabel;
WBSSource  :  OPTIONAL LIST [1:?] OF IfcLabel;
Status  :  IfcTaskStatusEnum;
Milestones  :  OPTIONAL SET [1:?] OF IfcTaskMilestoneEnum;
WorkMethod  :  OPTIONAL IfcLabel;
InPlaceQuantity  :  OPTIONAL IfcMeasureWithUnit;
EstimatedQuantity  :  OPTIONAL IfcMeasureWithUnit;
BudgetQuantity  :  OPTIONAL IfcMeasureWithUnit;
IsRootTask  :  BOOLEAN;
WHERE
WR1  :  SIZEOF(QUERY(temp <* SELF\IfcObject.Decomposes | NOT('IFCKERNEL.IFCRELNESTS' IN TYPEOF(temp)))) = 0;
WR2  :  SIZEOF(QUERY(temp <* SELF\IfcObject.IsDecomposedBy | NOT('IFCKERNEL.IFCRELNESTS' IN TYPEOF(temp)))) = 0;
WR3  :  EXISTS(SELF\IfcRoot.Name);
END_ENTITY;

Attribute definitions:

TaskId  :  An identifying designation given to a task.
WBSCode  :  The codes of the work breakdown structure implied to the type of the work task.
WBSSource  :  The sources of the WBSs. The items in the list should be aligned to that of the WBSs.
Status  :  Current status of the task.

Note: A task may be not yet started, started (or partially complete) or completed. The actual value may be determined by comparison of the status time (which is the point at which analysis is undertaken) with start and finish dates as below. If StatusTime < ActualStart THEN IfcTaskStatusEnum := NotYetStarted. If StatusTime >= ActualStart AND StatusTime <= ActualEnd THEN IfcTaskStatusEnum := Started. If StatusTime > ActualEnd THEN IfcTaskStatusEnum := Completed
Milestones  :  Indicates the milestones that this task serves. One task could be a milestone of different purposes in different plans.
WorkMethod  :  The method of work used in carrying out a task.
InPlaceQuantity  :  The quantity that has been put in place by this work task.
EstimatedQuantity  :  The estimated quantity that this work task is originally planned to complete.
BudgetQuantity  :  The budget quantity that this work task is planned to complete based on actual resource available.
IsRootTask  :  Determines whether the task is or is not a root task in a work plan or schedule. TRUE means that it is a root task.

Formal Propositions:

WR1  :  Restrict the relationship 'Nests' inherited from IfcObject to IfcRelNestsProcesses.
WR2  :  Restrict the relationship 'IsNestedBy' inherited from IfcObject to IfcRelNestsProcesses.
WR3  :  The Name attribute should be inserted to describe the task name.

References (1):

Name Type Referred through Express-G
IfcProcess Entity
Subtype
Diagram 3

Inheritance graph

ENTITY IfcTask;
ENTITY IfcRoot;
GlobalId  :  IfcGloballyUniqueId;
OwnerHistory  :  IfcOwnerHistory;
Name  :  OPTIONAL IfcLabel;
Description  :  OPTIONAL IfcText;
ENTITY IfcObject;
ObjectType  :  OPTIONAL IfcLabel;
INVERSE
IsDefinedBy  :  SET OF IfcRelDefines FOR RelatedObjects;
HasAssociations  :  SET OF IfcRelAssociates FOR RelatedObjects;
HasAssignments  :  SET OF IfcRelAssigns FOR RelatedObjects;
Decomposes  :  SET OF IfcRelDecomposes FOR RelatedObjects;
IsDecomposedBy  :  SET [0:1] OF IfcRelDecomposes FOR RelatingObject;
ENTITY IfcProcess;
Productivity  :  OPTIONAL IfcMeasureWithUnit;
INVERSE
OperatesOn  :  SET OF IfcRelAssignsToProcess FOR RelatingProcess;
IsSuccessorFrom  :  SET OF IfcRelSequence FOR RelatedProcess;
IsPredecessorTo  :  SET OF IfcRelSequence FOR RelatingProcess;
ENTITY IfcTask;
TaskId  :  IfcIdentifier;
WBSCode  :  OPTIONAL LIST [1:?] OF UNIQUE IfcLabel;
WBSSource  :  OPTIONAL LIST [1:?] OF IfcLabel;
Status  :  IfcTaskStatusEnum;
Milestones  :  OPTIONAL SET [1:?] OF IfcTaskMilestoneEnum;
WorkMethod  :  OPTIONAL IfcLabel;
InPlaceQuantity  :  OPTIONAL IfcMeasureWithUnit;
EstimatedQuantity  :  OPTIONAL IfcMeasureWithUnit;
BudgetQuantity  :  OPTIONAL IfcMeasureWithUnit;
IsRootTask  :  BOOLEAN;
END_ENTITY;