Close

Relief for ODA Team in Ukraine

Learn more
ODA IFC SDK
IfcTask Class
Syntax
C++
class IfcTask : public IfcProcess;

An IfcTask is an identifiable unit of work to be carried out in a construction project. A task is typically used to describe an activity for the construction or installation of products, but is not limited to these types. For example, it might be used to describe design processes, move operations and other design, construction and operation related activities as well. Quantities of resources consumed by the task are dealt with by defining the IfcElementQuantity for the resource and not at the instance of IfcTask. 

 

Attribute Use Definition

Each occurrence of IfcTask is given a name that is indicative of its content (IfcRoot.Name). A textual description of the task can be provided and this can be further elaborated by a narrative long description (IfcProcess.LongDescription). A work method can be declared for the method of work used in carrying out a task. A task is identified as being either a milestone task or not. A milestone task is defined by the marker IsMilestone and has no duration. A status and priority for each task can also be set. 

 

Time and Duration Use Definition

Compared to releases before IFC4, basic task time information (scheduled start time, scheduled finish time, duration) is now directly attached to IfcTask through the TaskTime attribute. Regular tasks are defined through IfcTaskTime. Recurring tasks are defined through IfcTaskTimeRecurring. In case a regular task is derived from a recurring task both tasks should be linked together through a IfcRelNests relationship, where IfcRelNests.IsNestedBy points to the recurring task and IfcRelNests.Nests points to all regular tasks that have been derived from the recurring task. 

 

Representation of Other Activities

The use definitions for IfcTask have been generalized to represent other activities as well, including activities that had been defined by own entities in previous IFC releases. This includes:

  • Order actions
  • Move operations

 

IfcTask can also be used to describe an activity that moves people, groups within an organization or complete organizations together with their associated furniture and equipment from one place to another. Thus, it replaces the previous IFC entity IfcMove. The functionality is represented in IfcTask as follows:

  • Move from: The place from which actors and their associated equipment are moving. Use IfcRelAssignsToProcess where RelatingProcess points to the task and RelatedObjects holds the location(s) from which to move.
  • Move to: The place to which actors and their associated equipment are moving. Use IfcRelAssignsToProduct where RelatedObjects points to the task(s) and RelatingProduct points to the location to which to move.
  • Punch list: A list of points concerning a move that require attention. Use LongDescription or identify sub-tasks to track punch list items individually via IfcRelNests.

 

Object Typing

The IfcTask defines the expected or actual occurrence of any task. Common information about task types is handled by IfcTaskType.

  • EXAMPLE: It includes fixed duration, fixed unit or fixed work. An IfcTask can be aggregated to a task type in order to specify a task sequence or any time-related information, e.g. the duration of a task.

 

Property Sets

The Property Sets for Objects concept template applies to this entity as shown in the table below.

PredefinedType
PsetName
PsetName
MOVE
Pset_PackingInstructions

 

Nesting

IfcTask can be contained within an IfcTask using the IfcRelNests relationship. An IfcTask can in turn nest other IfcTask, IfcProcedure or IfcEvent entities. Such nesting indicates decomposed level of detail. From IFC4 onwards it is required to have a summary task (root of all tasks), which is used to define a link to the work plan or work schedule. All subtasks of the summary tasks are then implicitly linked to this work plan or work schedule. 

As shown on the image below, the installation of a number of items of equipment within a particular space can 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. 

 

A task can nest other tasks as sub-items; the nesting relationship is modeled by IfcRelNests as shown on the image below. For example, the construction of a stud wall can 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. 

The hierarchy and order defined through IfcRelNests enables to order the tasks in a tree view or list view structure. 

 

A top-level task is declared within the IfcProject using the IfcRelDeclares relationship. 

 

Sequential Connectivity

The relationship IfcRelSequence is used to indicate control flow. An IfcTask as a successor to an IfcTask indicates logical sequence how these tasks should be performed. IfcTask's can be triggered or can trigger IfcEvent's, which is also defined through the IfcRelSequence relationship. 

 

Control Assignment

Occurrences of IfcTask can be assigned to an IfcWorkControl (either a work plan or a work schedule) through IfcRelAssignsToControl. Note that the IfcRelAssignsTasks relationship class has been removed in IFC4 and is no longer available. 

 

Process Assignment

It is suggested to use the 'summary task' (root element of the task hierarchy that is required for task management purposes) to assign all subtask to a work plan or work schedule. Resources used by tasks are assigned by IfcRelAssignsToProcess. 

 

Classification

An IfcTask can be assigned a Work Breakdown Structure (WBS) code. A WBS code is dealt with as a classification of task and is associated to a task occurrence using the IfcRelAssociatesClassification relationship class. As well as being to designate the code, the classification structure also enables the source of the work breakdown structure classification to be identified. 

 

Constraint

Constraints can be applied to a task to indicate fixed task duration, fixed start or fixed finish, where IfcMetric.ReferencePath is set to the corresponding attribute on the IfcTaskTime entity. 

changes 

 

  • IFC4 changes:
    • Name of the IsMilestone attribute changed to Priority.
    • Attribute IsMilestone is optional.
    • Type of the IsMilestone attribute changed from "boolean" to "IfcInteger".
    • Name of the Priority attribute changed to TaskTime.
    • Type of the Priority attribute changed from "integer" to "IfcTaskTime".
OdIfc4x3_rc1__IfcTaskOdIfc4x3_rc1__IfcTaskOdIfc4x3_rc1__IfcTaskOdIfc4x3_rc1__IfcTaskOdIfc4x3_rc1__IfcTaskOdIfc4x3_rc1__IfcTaskOdIfc4x3_rc1__IfcTaskOdIfc4x3_rc1__IfcTaskOdIfc4x3_rc1__IfcTask

File: IfcTaskAutoImpl.h 

Namespace: OdIfc4x3_rc1 

Show:
No members matching the current filter
Show:
No members matching the current filter
Copyright © 2002-2022. Open Design Alliance All rights reserved.