Category: Tekla API

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

  • 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 koshy@tek1.com.au

  • 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 koshy@tek1.com.au

  • 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: koshy@tek1.com.au or ben.chenathara@gmail.com 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.

  • How to Automate the Modelling of Sheds (using Tekla’s Open API)

    The way of the future is automation.

    Use the Tekla API to automate the modelling of items that are relatively standardised – e.g. sheds, or warehouses etc.

    The following is a program we putting into production re: the detailing of Sheds. If the designs can be standardized, you can turbo-charge the detailing / design.

    You may want to use further automation re: custom components to further automate.

    Further Configuration: How-to Videos

    I will provide to you the full details on how you can do the above via our Tekla API blog.

    Need to automate?

    Call: +61 0411 022 502 or email:

    • ben.chenathara@gmail.com
    • koshy@te1.com.au

    With some a basic idea of what you want to automate – whether simple, or more complex requirements which may pull data from various sources, or which may require a workflow that is more complicated.

  • How to extract Properties from Tekla Profiles (Tekla Open API)

    How to extract Properties from Tekla Profiles (Tekla Open API)

    Beam Profile Properties. We want to extract them with the Tekla API.
    How to get beam properties.

    You have a profile e.g. “CC200755.0″ obtained via the Tekla API. How can you extract it’s HEIGHT or WIDTH or other parameters (or properties) such as density? The Tekla Documentation is not good on this point, and it took me some time to find this out. I have documented the methodology, so hopefully that will save you some time.

    In our use case, users select a profile via text (or rather via a CLI). How we need to build a shed from it. In order to build that shed, we need to know the specific properties of the profile that is selected. How do you do that via the Tekla Open API?

            public double getHeight(string profileString)
            {
                LibraryProfileItem libraryProfileItem = new LibraryProfileItem();
                libraryProfileItem.Select(profileString);
    
                List<ProfileItemParameter> parameters = libraryProfileItem.aProfileItemParameters.Cast<ProfileItemParameter>().ToList();
                double height = parameters.First(p => p.Property.ToUpper() == "HEIGHT").Value;
    
                return height;
            }

    If you need some further explanation on what this all means, check out the video explanation below:

    For more information our Tekla’s API’s feel free to check out our Tekla API blog.

    Tekla - "open" api
    The API is really closed, though it says it is open
  • Batch Edit a Part in Tekla Structures

    Batch Edit a Part in Tekla Structures

    TeklaStructures has a batch editing utility for Assemblies.

    However, if we have to batch edit parts there is nothing.

    Expert Steel Detailers demand Utilities

    Our detailers have demanded that we develop a utility to do batch editing of parts.

    (more…)