Author: admin

  • How to Set Up a Tekla API Project (Tekla API Application)

    Work faster with the Tekla API

    The object of a Tekla Application is to ensure that things go smoothly on the construction site. You can see the organised chaos that is here. Avoid the real chaos. Plan ahead. 

    For the newbie this post shows how to set up a Tekla Project.

    Let us assume that you are creating a WPF desktop Application. You could also just as easily create a console application – I often do this if I simply want a quick and dirty way to test code.

    1. Go to Visual Studio.
    2. Create a new WPF project.

    Follow this gif:

    Setting up a Tekla Project
    How to Set up a Tekla WPF Application
    1. Next you need to add references to Tekla DLLs. They are contained at this location on my PC. C:\Program Files\Tekla Structures\19.1\nt\bin\plugins\ .They may be in a different version on yours. You can also download these dlls using Nuget in your Visual Studio.
    2. If you are using 19.1i version – then you can download Trimble’s nuget package named thus: 2019.1.50434

    Follow this Gif:

    Adding Tekla References

    Shows how to add references to a Tekla API WPF Project.

    1. The fourth and final step is to add directives and to then get coding.

    Some common directives and aliases that I use:

    I hope this post helps you!

  • Showing an Assembly in the Model via a Tekla Drawing (Part II) Tekla Open API + Code snippets

    We are revisiting a post I made earlier.

    Here’s the problem. You are viewing a Tekla drawing. But you have no idea what you are looking at, or where it is. This macro will take you to that very assembly in the model. It’s actually quite handy. And here is the previous post where I made allusion to the facility (you’ll find a video demonstrating its use):

    http://www.tek1.com.au/tekla-plug-in-2-viewing-an-assembly-in-the-model-from-an-assembly-drawing/

    This post marks the release of the code which does the job! Enjoy!

  • AutoCAD-Tekla Interoperability (AutoCAD .net)

    Tekla – AutoCAD Interoperability Tool

    Tekla licenses are pricey. About $30k + maintenance per license. What if I told you that you needed 30-50% less licenses than you currently hold. That’s a huge cost saving, isn’t it?

    If you only need 5 licenses (as opposed to 10), then you’ve saved $150k instantly, plus maintenance.

    AutoCAD licenses are significantly cheaper.

    But if only the work you did in AutoCAD could be transferred into Tekla? That would save you some licenses. That’s just what I’ve done here in my latest project. Now a significant portion of any modelling job can be done in AutoCAD and simply imported into Tekla.

    You can check it out here:

    Tekla – Autocad Interop. from Tek1 on Vimeo.

    Human Resources Problem

    Interoperability will also help improve the quality of your work: it’s tough finding people who are highly skilled in Tekla. What if I told you that you could use an AutoCAD draftsperson instead of someone well versed in Tekla, to do the same job? Now you have a potentially infinite pool of candidates to draw from.

    Tools

    Click here to download

    Interested In more?

    I’d love to be able to help. Just call or email us.

    How to Download Tekla Catalogues (or Catalogs):

    You need to download the catalogue because the interop DLL connects to the catalog. Without it, we cannot verify that your profiles actually exist in Tekla.

    Here is the cataloge download link: 

    https://github.com/benkoshy/Acad-Tekla-Interop

    Trouble Shooting

    • Ensure you are using the “Steel Detailing” license.
    • Ensure you have AutoCAD 2023, or 2024. Do not use 2025 because this tends not to connect with Tekla.

  • AS 1428 – Section 11 – Nosing and Tread Requirements for Stair Construction (Public Access)

    We continue to release our in-house precis on Stair way construction. Reading the standards is terribly tedious so we have developed a way to easily cross check the requirements and to make sure that stairs are built according to standards.

    Unfortunately it’s too common for us to see designers produce drawings which simply do not comply to the required standards. So it is of the utmost importance that fabricators are able to: (i) know and understand the standards and to independently verify that their drawings do comply. Only a fool would 100% trust in an architect to draw to standards – we’ve seen it way too often. You, the fabricator have to check everything yourself. Here are some of the in-house memos that we use to ensure that our stairs always comply:

    We wish to share it with the world – and we hope it helps you immensely:

    TEK1 AS 1428 11.1 Standards for Stairs

    I hope you find it of benefit and great use.

  • Maximum Frame sizes (Steel Detailing Tips)

    Maximum Galvanizing size generally available in Australia

    • 1400 WIDE X3100 DEEP X 12000 LENGTH

    Maximum width for road transport (laid flat on bed is 2500m)

    Please check out both the documents below.

    http://www.legislation.act.gov.au/di/2006-120/20060623-28031/pdf/2006-120.pdf

    https://www.tmr.qld.gov.au/Safety/Vehicle-standards-and-modifications/Loads-and-towing/Projecting-loads.aspx

  • In Process vs Out of Process

    There seems to be a lot of confusion with folks about the difference between using the AutoCAD .net API vs the COM Interop API. They both hope to do the same things, but via different ways. Given a choice, I’d always recommend using the .net API because it is much more powerful.

    In process – .net API

    This means that the user has to first open AutoCAD. i.e. double click on the AutoCAD icon and start up AutoCAD. once AutoCAD is open and a drawing is opened, then the user has to type in a command: “NETLOAD” and has to select the a file – the result of all your programming/coding efforts. once that file is selected the user then has to run the command “AddLine”. the command will run as you have coded it. in order to do it this way you will need the .AutoCAD net API

    Out of Process – COM InterOp

    In this case, you don’t necessarily have to manually open AutoCAD up. you create your own program, and you open it (much like you would open MS word etc) and your “AddLine” command would run without you, as a user, manually opening AutoCAD and netloading etc.. if you’re going down this path you need to use the COM interop API.

    Using Both

    If you really want to use the .net API, but did not want to manually netload, then you can use a combination of both of the above:

    From the documentation:

    If you need to create a stand-alone application to drive AutoCAD, it is best to create an application that uses the CreateObject and GetObject methods to create a new instance of an AutoCAD application or return one of the instances that is currently running. Once a reference to an AcadApplication is returned, you can then load your in-process .NET application into AutoCAD by using the SendCommand method that is a member of the ActiveDocumentproperty of the AcadApplication.

    As an alternative to executing your .NET application in-process, could use COM interop for your application.

    Hope this clear things up for you.

  • How to insert Reference Models into Tekla

    Wouldn’t it be handy if we could pro grammatically insert reference models into Tekla? Well you can now do so quite easily. And if you want to see a video demonstration, here it is:

    Here is the code which does the hard work. (You will of course add the appropriate references and directives):

  • Adding a Dimension to a Beam – Drawing – (Tekla Open API Tutorial)

    This is an example of a hello world program which dimensions a beam. I found this code in the Tekla Drawing Samples folder.

    You can see it in action here:

    How to dimension a beam using the Tekla Open API (c#)
    How to dimension a beam using the Tekla Open API (c#)

     

    Let’s walk through it:

    1. We have to get the relevant drawing.
    2. Then we have to get the relevant part we want to dimension.
    3. Then we get the view associated with the part.
    4. We save our current transformation plane, and we set a new transformation plane to the particular view’s display coordinate system.
    5. From here, get the part’s identifier and we select the ModelObject in the model itself – to get the relevant coordinates of the Beam we want to dimension.
    6. Once we’ve used the identifier to get the Beam we are after, and to get it’s relevant parts then we create the dimension.
    7. Remember to save back the original transformation plane.
    8. Note: if you insert the dimension then I obtained an exception. I don’t think you need to insert dimensions when working on drawings.
    9. Note 2: if you forget to save the transformation plane back to the original, then you will find that you dimensions will go wacky, next time you run the command. Always remember to leave things as you found them!
    10. Note 3: You have to have the beam in the same plane as your view otherwise it won’t draw the dimension.

     

    Here is the code for your benefit:

     

     

  • Stair Outline Routine (AutoCAD .net + Code attached)

    An example of the type of stairs we draw. We do a lot of stairs. Both AS 1428 and AS 1657 compliant stairs.
    An example of the type of stairs we draw. We do a lot of stairs. Both AS 1428 and AS 1657 compliant stairs.

     

    We continue delving into our discussion of stairs. The boss hates it when I do things like this – releasing code to the public. But it’s too good not to share. Below is a routine you might find useful. We use it to model stairs – it’s super fast, and efficient. It allows us to try different things out and to discard what doesn’t work with ease. I’ve gone to the effort of drawing up an entire flight of stairs and then realised that I’m missing a tread. Then I’d have to redo the whole thing from the beginning. Once you have this outline done, the a good chunk of the work is finished.

    One of our many, many versatile routines:

    Here is a gif of the project:

    A Stair AutoCAD Plugin
    A plugin I wrote for AutoCAD. Written using c#.

    And here is the code for the benefit of study.

    I suppose I should refactor it, but I don’t think I’ll be changing it any time soon. So why worry?