Tekla Open API

Detailed and full API reference helps you master Tekla Open API

This is the most recent version of Tekla Open API.
For older versions, please visit Tekla Warehouse.

Task Class

The Task class defines a single building site task. It may contain parts, assemblies or other tasks. Tasks may have a hierarchy between them i.e. there are other tasks as subtasks for a parent task. Tasks may also depend on each other, have resources assigned to them or have a single worktype.
Inheritance Hierarchy

Namespace:  Tekla.Structures.Model
Assembly:  Tekla.Structures.Model (in Tekla.Structures.Model.dll) Version: 2018.1.0.0 (2018.1.0.0)
Syntax
[SerializableAttribute]
public sealed class Task : ModelObject

The Task type exposes the following members.

Constructors
  Name Description
Public methodCode example Task
Creates a new task instance.
Public methodCode example Task(Identifier)
Creates a task instance with a known identifier. Select the task after the creation.
Top
Properties
  Name Description
Public property ActualEndDate
The actual end date of the task.
Public property ActualStartDate
The actual start date of the task.
Public property ActualWorkAmount
The amount of work already used for the task.
Public property Completeness
The percentage of the completeness of the task on the scale from 0 to 100.
Public property Critical
The criticality of the task.
Public property Description
A short textual description of the task.
Public property Identifier
The identifier of the object.
(Inherited from Object.)
Public property IsUpToDate
Gets if the object does not have a modification which is not shared.
(Inherited from ModelObject.)
Public property Local
The locality indicates if the task was created in Tekla Structures and Task Manager or imported.
Public property ModificationTime
Gets latest time of the object was modified or created.
(Inherited from ModelObject.)
Public property Name
The name of the task.
Public property PlannedEndDate
The planned end date of the task.
Public property PlannedStartDate
The planned start date of the task.
Public property PlannedWorkAmount
The amount of work planned to be used for the task.
Public property Scenario
The scenario which the task belongs to.
Public property Url
A link to material or data related to the task. The link can be a hyperlink or a file system link.
Top
Methods
  Name Description
Public methodCode example AddObjectsToTask
Adds objects to the task.
Public method CompareTo
Compares Identifiers of model objects.
(Inherited from ModelObject.)
Public method Delete
Deletes the task instance from the model. The identifier must be set.
(Overrides ModelObjectDelete.)
Public method Equals
Check if Identifiers of model objects are same.
(Inherited from ModelObject.)
Public methodCode example GetAllReportProperties
Retrieves all properties for the model object in one hashtable. Type for the returned value must be checked using type casting.
(Inherited from ModelObject.)
Public methodStatic member GetAllTasksOfSelectedObjects
Returns an enumerator of all the tasks related to the selected objects.
Public method GetAllUserProperties
Retrieves all properties for the model object in one hashtable. Type for the returned value must be checked using type casting.
(Inherited from ModelObject.)
Public method GetChildren
Returns an enumerator of all the children model objects.
(Inherited from ModelObject.)
Public method GetCoordinateSystem
Returns the coordinate system for the given model object.
(Inherited from ModelObject.)
Public method GetDependencies
Returns an enumerator of all the task dependency objects where the task is involved.
Public method GetDoubleReportProperties
Retrieves multiple double report properties for the model object. It is faster to fetch multiple properties at once.
(Inherited from ModelObject.)
Public method GetDoubleUserProperties
Retrieves all double properties for the model object.
(Inherited from ModelObject.)
Public method GetDynamicStringProperty
Gets a dynamic string property from the model object.
(Inherited from ModelObject.)
Public method GetFatherComponent
Returns the father component of the model object.
(Inherited from ModelObject.)
Public method GetFathers
Returns an enumerator of all the task type fathers for the task object.
Public method GetHierarchicObjects
Returns an enumerator of all the connected hierarchic objects.
(Inherited from ModelObject.)
Public method GetIntegerReportProperties
Retrieves multiple integer report properties for the model object. It is faster to fetch multiple properties at once.
(Inherited from ModelObject.)
Public method GetIntegerUserProperties
Retrieves all integer properties for the model object.
(Inherited from ModelObject.)
Public method GetPhase
Retrieves the phase of the model object (the phase number, the phase name, the phase comment and whether the phase is the current one or not).
(Inherited from ModelObject.)
Public method GetReportProperty(String, Double)
Retrieves a double property of the report for the model object.
(Inherited from ModelObject.)
Public method GetReportProperty(String, Int32)
Retrieves an integer property of the report for the model object.
(Inherited from ModelObject.)
Public method GetReportProperty(String, String)
Retrieves a string property of the report for the model object.
(Inherited from ModelObject.)
Public method GetStringReportProperties
Retrieves multiple string report properties for the model object. It is faster to fetch multiple properties at once.
(Inherited from ModelObject.)
Public method GetStringUserProperties
Retrieves all string properties for the model object.
(Inherited from ModelObject.)
Public method GetUserProperty(String, Double)
Retrieves a double property for the model object.
(Inherited from ModelObject.)
Public method GetUserProperty(String, Int32)
Retrieves an integer property for the model object.
(Inherited from ModelObject.)
Public method GetUserProperty(String, String)
Retrieves a string property for the model object.
(Inherited from ModelObject.)
Public method Insert
Inserts the task instance in the model.
(Overrides ModelObjectInsert.)
Public method Modify
Modifies the task instance in the model. The identifier must be set.
(Overrides ModelObjectModify.)
Public methodCode example RemoveObjectsFromTask
Removes objects from the task.
Public method Select
Selects the task instance from the model. The identifier must be set.
(Overrides ModelObjectSelect.)
Public method SetDynamicStringProperty
Sets a dynamic string property for the model object.
(Inherited from ModelObject.)
Public method SetLabel
Sets a label for an object when a new instance is created. The label is used in plug-ins for identifying the changed object in modification.
(Inherited from ModelObject.)
Public method SetPhase
Sets the phase of the model object.
(Inherited from ModelObject.)
Public method SetUserProperty(String, Double)
Sets a double property for the model object.
(Inherited from ModelObject.)
Public method SetUserProperty(String, Int32)
Sets an integer property for the model object.
(Inherited from ModelObject.)
Public method SetUserProperty(String, String)
Sets a string property for the model object.
(Inherited from ModelObject.)
Top
Examples
The following example creates and inserts a task with two beams as objects into the model. The task has also a scenario:
using System.Collections.Generic;
using System.Collections;
using System;
using Tekla.Structures.Model;
using Tekla.Structures.Geometry3d;

public class Example
{
       public void Example1()
       {
           Point Point1 = new Point(0, 0, 0);
           Point Point2 = new Point(1000, 0, 0);
           Point Point3 = new Point(0, 1000, 0);
           Point Point4 = new Point(1000, 1000, 0);

           Beam Beam1 = new Beam(Point1, Point2);
           Beam Beam2 = new Beam(Point3, Point4);
           Beam1.Profile.ProfileString = "HEA400";
           Beam1.Finish = "PAINT";
           Beam1.Material.MaterialString = "S235JR";
           Beam2.Profile.ProfileString = "HEA400";
           Beam2.Finish = "PAINT";
           Beam2.Material.MaterialString = "S235JR";

           Beam1.Insert();
           Beam2.Insert();

           // The Task
           Task Task1 = new Task();
           Task1.PlannedStartDate = DateTime.Now;
           Task1.Name = "Test Task";
           Task1.Critical = true;
           Task1.Description = "Test task description";
           Task1.Url = "http://test.task.url";

           // Scenario
           HierarchicDefinition ScenarioDefinition = new HierarchicDefinition();
           ScenarioDefinition.Name = "Scenario type";
           ScenarioDefinition.HierarchyType = HierarchicDefinitionTypeEnum.DOT_HIERARCHIC_TASK_SCENARIO;
           ScenarioDefinition.Insert();

           HierarchicObject Scenario = new HierarchicObject();
           Scenario.Name = "Current scenario";
           Scenario.Definition = ScenarioDefinition;
           Scenario.Insert();

           Task1.Scenario = Scenario;

           ArrayList ModelObjects = new ArrayList();
           ModelObjects.Add(Beam1);
           ModelObjects.Add(Beam2);
           Task1.AddObjectsToTask(ModelObjects);

           Task1.Insert();
       }
}
See Also