Guides and Articles

Use this documentation when building your Tekla Structures apps

Tekla Structures 2019 Open API Release Notes

Updated: 13 May 2019

Tekla Open API

Starting from Tekla Structures 2019, all Tekla Structures installations can be used with online licenses, so it is no longer necessary to separately install standard and partner versions. The ability to switch between on-premise and online licenses will resolve issues previously seen when different service packs were installed for standard and partner installations for the same version, for example, Tekla Structures Service Pack 1 and Tekla Structures Partner Service Pack 2. 



It is now possible to create new Arc instances for geometrical calculations.

It is now possible to create new Polycurve instances for geometrical calculations.



It is now possible to insert, select, modify and delete level mark objects in drawings through the Open API.

Certain views created with Open API now work better when (manual) section/detail views are created out of them.

Tekla.Structures.Model.Operations.Operation.DisplayPrompt() can now be used to change the status bar text also when a drawing is currently opened.

PrintDrawing and PrintDrawings with DPMPrinterAttributes caused the drawings to be shown in the drawing editor. This has now been fixed.

Level marks can now be created with Open API in drawing views. Note that this does not work in 3D views.

When the << Mark >> tag is not set to a dimension tag, the related content attributes are seen as empty through Open API even though there might be some content visible (but inactive) through the dialog box.

Previously, it could happen that dimension tags were lost when a dimension was modified through Open API. This has now been fixed.

Previously, it could happen that the distance between the dimension and its base point would change when the dimension was modified through Open API. This has now been fixed.

The attribute BehindModelObjects of drawing graphical objects (polygon, circle) can now be accessed through Open API as Tekla.Structures.Drawing.ClosedGraphicObject.ClosedGraphicObjectAttributes.BehindModelObject.

In Open API, picking points with the middle mouse button now works better. 

You can now design dimension arrows of your own in Open API by casting the arrow number to ArrowheadTypes, for example:
straightDimensionSet.Attributes.Arrowhead.Head = (ArrowheadTypes)9

The short extension line property of a drawing dimension was set to No when a dimension was modified through Open API. This has now been fixed.

Previously, handling the distance between a dimension point and a leader line could lead to an unwanted move of a dimension when it was modified through the Open API. This has now been fixed.



It is now possible to ask cross section points with or without chamfer information either with the profile string or from ProfileItem using the new CrossSection and CrossSectionPoint classes.

Selecting a non-existing ComponentItem could cause an exception if the component type was used with name and number. This has now been fixed.

Dynamic strings can be copied if, and only if, they exist in environment parameters and are defined as non-unique environment attributes. You can define this in one of the following ways:
Set the dynamic strings as copyable in the objects.inp file, for example, in the following way:
  attribute("PrimaryTopSpacing", "j_Primary_Top_Spacing", string, "%s", no, none, "0.0", "0.0") 
        value("", 0) 

Use Open API functions related to UserPropertyItem in Tekla.Structures.Catalogs.



It is now possible to create and manipulate ControlArc objects via Open API.

It is now possible to create and manipulate ControlPolycurve objects via Open API.

It is now possible to create and manipulate RadialGrid and GridCylindricalSurface objects via Open API.

It is now possible to create and manipulate rebar set cranking or overlapping with the RebarCranking and RebarLapping objects via Open API.

  • The attribute Lap type (with options Straight or Slanted) has been removed from Splitter. This is a breaking change if the option Slanted has been used via Open API. 
  • The option Split type (with options Lapping or Cranking) has been added to Splitter.

The Open API method Polymesh.SetStructClientId is not available anymore. 

Component creation performance with the LoadAttributesFromFile() method has been improved significantly.

Rebar meshes with an invalid geometry can now be selected normally. Use IsGeometryValid to verify the geometry and to make corrections.

It is not possible to override the privileges.inp settings with .NET API anymore.

A new overload of the Reinforcement.GetRebarGeometries provides a means of inquiring the geometry of bars in a rebar set with or without rounding and step-tapering applied. The function takes as input a parameter that can be a combination of the RebarGeometryOptionEnum values, allowing the user to choose whether to include hooks, clash avoidance, and the rounding and stepping length adjustments.

IFC2X3_ParametricObject .NET API ReferenceModelObjectAttribute information provided wrong extrusion result in Tekla Structures 2018. This has now been fixed.

Remote application (exe) .NET Open API did not provide children objects for a reference model if the IFC file was inserted relatively to the model folder. This has now been fixed.



It is now possible to modify button properties (ButtonWidth, ButtonHeight and ButtonText) of Wpf catalog controls through the Open API.

The WpfSaveLoad control now uses similar autoloading functionality as used in other Wpf dialog boxes in Tekla Structures.



Improvements have been made to the analysis result database: 

  • Load case now has a name, type and info, in addition to number.
  • Open API has been improved for getting results.

Point count limit has been removed from AnalysisSubSection.



Tekla Structures 2019 contains a change in system behavior regarding the return value handling from plug-in execution in Run().

Before, it was possible to return false from the Run() method, and the value was not passed back to the system. So in practice, it was not possible to know if the plug-in execution was successful or not.

In Tekla Structures 2019, if the plug-in execution in Run() returns false, the system treats the value as a failure for the execution.

The plug-in now also has the control to "delete" itself in insert by returning false, for instance, if only one plug-in instance is allowed for the situation. Automatic delete happens only in the plug-in insert, not in plug-in modification.

Note! This change does not have the change behavior of connections, details, or seams.

Check that your plug-ins return false only when execution has failed for a reason.

When a plug-in dialog box is opened, the previous plugin dialog box is now closed automatically. 

If a drawing or a model plug-in, or a system component, returns the value false, the value is passed back and the system removes the instance. Connections, details and seams are still working in the same way as before.

Rebar coupler and end anchor tools have been changed so that the bars that get the coupler/end anchor are retrieved using the new Open API method. Earlier, these tools were using a custom method mimicking the behavior of an end modifier or splitter. In simple cases, there is now no difference, but in more complex situations, the tools are now fully consistent with the end modifier and splitter functionality.


Tekla Structures folder structure and environments

The installation folder structure has changed so that the folder path under \ProgramData and under \Users now contains Trimble:
• Tekla Structures software is still by default installed under \Program Files.
• Tekla Structures environments are still by default installed under \ProgramData. The folder path now contains Trimble as follows: ..\ProgramData\Trimble\Tekla Structures\<version>\Environments. This default location is used when you install the software under \Program Files.
• User-specific settings are still installed under \Users. The folder path now contains Trimble as follows: ..\Users\<user>\Appdata\Local\Trimble\Tekla Structures\<version>.
• Tekla Structures version number is now written as 2019.0 in the folder structure.

The environment folders are now logically organized based on roles or materials, for example, \Concrete, \Steel, \Engineering. The \General folder includes content that is common for all roles and settings that are specific to modeling and drawings, for example. Note that the folder structure and content may vary depending on the environment.

Use the XS_SYSTEM advanced option to point to the role and material folders. By default, the environments do not have the folder \Environments\<your environment>\system anymore. 

The TSEP system has been enhanced to provide target path variables for the new environments: usa, canada and construsofteuropean.