Category: Tekla API

A series of blog posts exploring the Tekla API.  Code examples, explanations and (where relevant) videos will be provided.

  • How to identify the WCS (World Coordinate System) vs the UCS (User Coordinate System) in Tekla?

    Pop-quiz: how do you identify the local coordinate system vs the world coordinate system?

    The answer is below:

    Green box denotes the WCS. The UCS is denoted in two places. The UCS is the “work plane”.

  • Create a Precast Wall Panel – Using Tekla’s Open API

    Create a Precast Wall Panel – Using Tekla’s Open API

    If you are inserting panels via the Tekla API, you need to be aware or have an understanding of the panel’s local coordinate system.

    The x-axis denotes the vector from the start to end point.

    This may be in stark contrast to a beam’s local coordinate system (or at least according to your intuition).

    The Z axis represents the height of the beam.

    This is what you’ll get.

    Try the following code sample:

    Reference Links:

    https://gist.github.com/benkoshy/3ca6f46564d348685097f1196767f86a

    Checkout Tek1’s blog posts for more content on the Tekla Open API. https://www.tek1.com.au/category/tekla-api/

    If you need to hire us to do your Tekla API work, please send us your proposal to [email protected]

  • How Tekla Defines a Beam’s Coordinate System

    How Tekla Defines a Beam’s Coordinate System

    An explanation of how a Tekla's Beam Coordinate System works.

    The documentation is perfectly opaque. As expected. What is the X and Y and Z axis in relation to a beam?

    Easy. Check the picture.

    Furthermore, now you also know what “Rotation” means in relation to a beam. Tekla does this because it is difficult for humans to define a beam using a change of basic matrix.

    For more information on the code behind it, check out this post, or check out the extension methods I have published and open sourced

    X vector of a beam is always the start and end point of the beam.

    Checkout Tek1’s blog posts for more content on the Tekla Open API. https://www.tek1.com.au/category/tekla-api/

    If you need to hire us to do your Tekla API work, please send us your proposal to [email protected]

  • Tekla API Move Object – Mutates Points Without Telling me!

    Tekla API Move Object – Mutates Points Without Telling me!

    Yet another Tekla API gotcha.

    If you wanna waste many hours wondering why your code doesn’t work – try the Tekla API!

    Here is a note for the benefit of the public – where they mutate objects – which SHOULD NOT be mutated. Perhaps they have their own reasons, but the general boy-scount principle(s) should apply:

    • The principle of LEAST surprise, and
    • Leave things AS YOU FOUND THEM.

    They voilate both, IMO:

    Working with the Tekla API is just unecessarily difficult!

    Checkout Tek1’s blog posts for more content on the Tekla Open API.

    If you need to hire us to do your Tekla API work, please send us your proposal to [email protected]

  • FromCoordinateSystem and ToCoordinateSystem Explained (Tekla Open API)

    FromCoordinateSystem and ToCoordinateSystem Explained (Tekla Open API)

    The documentation of the Tekla API – IMO is inadequate. That is why we need supplemental explanations and code samples.

    Here is another example that hopefully benefits the community.

    I have written a bunch of extension methods (Tekla.ExtensionMethods) that would hopefully simplify a lot of the headaches associated with using the API. This is already published as an Open Source project under an MIT license and is available on Nuget. As of 2026-06-25 it is released under an alpha release – meaning that the API might change drastically.

    Checkout Tek1’s blog posts for more content on the Tekla Open API.

    If you need to hire us to do your Tekla API work, please send us your proposal to [email protected]

  • How to load up Tekla DLLs and a Hello World Application (Tekla Open API Course)

    How to load up Tekla DLLs and a Hello World Application (Tekla Open API Course)

    This post and tutorial shows you how to set up your Tekla Dependencies (i.e. DLLs) on an Tekla Open API project:

    Source code:

    Directly Embedded code:

    Model model =  new Model();
    
    if (model.GetConnectionStatus())
    {
        Beam beam = new Beam();
        beam.StartPoint = new Point(0, 0, 0);
        beam.EndPoint = new Point(1000, 0, 0);
        beam.Profile.ProfileString = "UB150*14"; // make sure this is available in your environment.
        beam.Finish = "PAINT";
    
        beam.Insert();
    
    
        model.CommitChanges();
    }
    

    Nuget Packages:

    And if you prefer vimeo (i.e. if you hate youtube ads) checkout this link:

    https://vimeo.com/manage/videos/1196894990
  • Tekla Open API Course (Full Outline)

    Tekla - "open" api
    The API is really closed, though it says it is open

    This is going to be a concise, high value and pithy course on the Tekla Open API.

    You may find other courses out there that boast about: 50+ hours. That might work well for them and their students, but almost everything you need to know can be boiled down to a few simple concepts. Especially helpful if you are an engineer and wanting to automate a few simple tasks. For more specialised requirements that involves making API calls, or developing web apps, you want to a workflow that is engineered by a professional – whether by Tek1 or other parties.

    The following documents the course.

    Video Course:

    Youtube Playlist of the Course (inclusive of all Tekla API related Material)

  • Introduction – Setting up your Environment (Tekla Open API Course)

    Tekla - "open" api
    The API is really closed, though it says it is open

    This is a course on how to program using Tekla’s Open API. We will start from the very beginning and get into some complicated topics. These are the principles I use when developing Tekla API applications.

    The following posts a video tutorial on how to get started using the Tekla Open API. The first thing you need is visual studio.

    Ensure you have enough memory on your C (or XYZ drive). If you do not have enough memory, then watch me trouble shoot this problem.

    Getting Set-up:

    • Ensure you have Windows 7+ installed.
    • Download Visual Studio (Community Edition) is fine for your purposes.
    • Ensure you are using .NET Framework (which is different to .NET Core and .NET 5 / 6 / 7 / 8 and upwards). They sounds similar, and it is confusing but you want the Framework version.
    • If you wish, you can download and use Resharper (which is helpful).

  • The Code Behind the Shed Builder Application – via Tekla’s Open API

    The Code Behind the Shed Builder Application – via Tekla’s Open API

    The Code Behind the Shed Builder

    As promised, here are the key methods behind the ShedBuilder:

    I have separate classes – e.g. Facia, Column, Chord, Girt etc. to better represent the concepts and the interplay between all the items – and then I simply tie them all together to get the output that I want, but the main logic is here – if you wish to write the code yourself:

    And to extract properties given a particular profile:

    And finally to get all profiles which have a “HEIGHT” property:

    The Key Libraries I use:

    Automation

    This is a live production / job example of how we can quickly / accurately detail sheds at scale.

    Meaning we can handle:

    (i) volume
    (ii) speed

    You can do the same too!

    If you have questions or need assistance automating – feel free to email: [email protected] or [email protected] or visit our website: https://www.tek1.com.au/ or +61 0411 022 502 if you need to call me.

    Or if you wish to develop the software yourself checkout our blog posts – where all the basic elements to create this type of automation is present.

    For more posts checkout our Tekla API blog.