Guides and Articles

Use this documentation when building your Tekla Structures apps

Tekla Open API Assemblies

Updated: 1 Nov 2017

This guide introduces all the assemblies (dlls) that are used in Tekla Open API. 

Tekla.Structures.dll

This assembly includes some basic common types that are shared between Tekla Structures Model and Drawing.

Tekla.Structures.Model.dll

This assembly includes classes and methods that you use to connect and manipulate objects in Tekla Structures model database: 

  • Model object classes such as Beam, ContourPlate, BoltArray, Load, Component, etc.
  • Methods to manipulate model objects, including basic object operations like copy, move, combine and split.
  • Methods to enumerate model objects.
  • Methods such as picking (dynamic selection) and selection of model views.
  • Analysis classes for accessing the analysis results database.
  • Classes related to clash checking.

Tekla.Structures.Drawing.dll

Use this assembly to edit drawings. This assembly includes classes and methods that you use to connect and manipulate objects in Tekla Structures drawing database:

  • Drawing object classes such as Drawing, View, Part, Text, Line.

  • Methods to manipulate and enumerate drawing objects.

  • Methods such as picking (dynamic selection) and selection for drawing views.

Tekla.Structures.Plugins.dll

This assembly includes all the functionality to create plug-ins into Tekla Structures. The assembly includes classes and methods that you use to define .NET component tools. The definition contains:

  • User interface.

  • Input management.  

  • Database structure.  

  • Execution.

The Tekla.Structures.Plugins assembly provides the following classes for creating plug-ins:

  • PluginBase class: an abstract base class for component tools

  • PluginFormBase class: a base class for plug-ins that use Windows Forms for dialog design. Class adds the following support:

    • .NET dialogs.

    • Data connection.

    • Tekla Structures data types and conversions automatically.

    • Multiple language support.

    • Storing of default values.

  • ConnectionBase class: base class for defining Connections, Details and Seams. These types are more specialized and restricted by the input values than the ones derived from PluginBase.

  • DrawingPluginBase class: an abstract base class for drawings plug-ins; the user-interface, the dialog, uses the same PluginFormBase above.

Tekla.Structures.Analysis.dll

This assembly includes basic classes that you use to access analysis and design information in Tekla Structures.

Tekla.Structures.Catalogs.dll

This assembly includes information on available profiles, bolts, materials, rebars, meshes and printers. For example, the bolt catalog contains a library of standard bolts and bolt assemblies used in structural steelwork.

With this assembly you can for example:

  • Enumerate the profiles from the profile catalog.  

  • Collect the profiles’ information (name or prefix, type, subtype, parameter string and parameters).

  • Select a library profile item by its profile name.

Tekla.Structures.Datatype.dll

This assembly includes unit types that you use to pass data to and from Tekla Structures and between other Tekla Structures assemblies.

The following unit types are included:

  • Distance.

  • DistanceList.

  • Boolean.

  • Double.

  • Integer.

  • String.

Conversions are supported only with distance unit.

Tekla.Structures.Dialog.dll

This assembly enables:  

  • Dialog creation for Tekla Structures plug-ins.

  • A data connection to Tekla Structures plug-ins.

  • Localization of dialogs.

  • Support for Tekla Structures data types and conversions.

  • Default storing of values.

The Tekla.Structures.Dialog.UIControls namespace contains dialog templates and custom controls.

Tekla.Structures.CustomPropertyPlugin.dll

This assembly includes classes and metadata definitions that you need to create new .NET custom property plug-ins. Use custom properties in external template property value calculations for reports, drawings and filtering.