Did you know that logged in users can see a lot more content?

Grasshopper-Tekla Live Link

Last updated January 10, 2017 by Tekla Extensions - General Design tekla.extensions-generaldesign@trimble.com

Software version: 
Not version-specific
Not environment-specific

Grasshopper-Tekla Live Link


The Grasshopper-Tekla live link enables algorithmic modelling for Tekla Structures using Rhino/Grasshopper. The link is a set of Grasshopper components that can create and interact with objects live in Tekla Structures. Currently the link is in its beta stage.

Demo Videos

Building Frame

 Double-Curved Roof

Concrete Bridge Deck Part 1 (Tekla Structures 2017 only)

Concrete Bridge Deck Part 2 (Tekla Structures 2017 only)



You need to have Rhino (download), Grasshopper (download) and Tekla Structures installed on the same machine.

You can try out the full version of Rhino for free for 90 days. The Grasshopper add-on is free of charge.



If you've already installed any version of the link and are doing a re-install or update, see the re-install section further down

  1. Download the zip with the required files (GrasshopperTeklaLink.gha, GrasshopperTeklaLinkExample.gh) from Tekla Warehouse.

    • Make sure you download a package targeting the (installed) Tekla Structures version you'd like to work with

  2. Launch Tekla Structures and create a new model.

  3. Launch Grasshopper and drag the GrasshopperTeklaLink.gha onto the canvas to install the components. A new tab labeled Tekla should appear.

    If the Tekla tab doesn’t show up, the component file might be blocked as it’s downloaded from the internet. To unblock the file,

    • In Grasshopper, click File > Special Folders > Components Folder

    • Right-click GrasshopperTeklaLink.gha and click Properties

    • Under the General tab, click on the Unblock button, and click OK. (If you don’t see an Unblock button, the file is not blocked.)

    • Restart Rhino/Grasshopper. The Tekla tab should now be visible in Grasshopper. 

  4. Open the TeklaGrasshopperLinkExample.gh file in Grasshopper.

    • The solution should run and generate some example objects in the Tekla model

    • If some objects aren’t showing up, you probably need to expand the work area certain portion of the model that is currently active for working on in a view

      Tekla Structures indicates the work area using dashed lines. Since objects outside the work area exist but are not visible the user can set a certain sized work area so that the views of the model are simpler and quickly updated, for example.

      and/or view depth thickness of a slice of the model defined starting from, and perpendicular to, the view plane


To re-install or install components for another Tekla Structures version:

  1. In Grasshopper, click File > Special Folders > Components Folder

  2. Close Grasshopper and Rhino, and replace the GrasshopperTeklaLink.gha in the Components Folder with the new file

  3. Launch Grasshopper again

If the new file targets another Tekla Structures version, the components (including any already inserted ones) will now interact with the new Tekla version instead.


The Grasshopper Components

After installation, the components are visible on the Tekla tab in Grasshopper.


Important general notes about the components

  • The components generate, modify and interact with objects live in Tekla Structures. Make sure you have a Tekla model open before inserting any component.

  • Tekla Structures assumes that the units of the geometrical inputs are mm.

  • If you select a component in Grasshopper, the associated objects will be highlighted in Tekla Structures.

  • Double-click the icon of a component to re-run the component manually. This operation also re-generates any deleted members in Tekla Structures.

  • If you right-click an (object creating) component icon, there’s an option called Run in background which is set to true by default. This mode means the Tekla model is updated in the background while the Grasshopper UI remains responsive. This mode also means that the generated part(s) won’t show up in Grasshopper in the component output, so you can’t use the output downstream. To enable component output, turn off Run in background.

  • To cut the link between a Grasshopper component and the Tekla objects it has generated, right-click the component and select Bake to Tekla. This will leave the object as-is in Tekla, and a copy of the object will be generated upon further modifications of the component input.

Steel Components

  •  Beam
    Creates a steel beam along the provided curve or line.

  •  Beam 2Pt
    Creates a steel beam using the provided start and end point.

  •  Column
    Creates a steel column along the provided line. If the input is not a straight line in the Z direction, the resulting Tekla object is a beam.

  •  Plate
    Creates a steel plate (1) part that represents a flat structure

    (1) In some contexts, for example in analysis, the term plate object may be used to refer to plates.

    (2) plate that represents a steel structure

    (2) Plate is mainly used as a connection piece or as a floor plate.

    outlined by the provided geometry. The boundary can be a point list, a simple surface, a rectangle, a circle, a polyline or a general curve.

  •  Item (Tekla Structures 2017 only)
    Creates a steel item based on the provided brep, mesh reinforcement that represents a mesh of steel bars in two perpendicular directions

    In Tekla Structures, the reinforcement mesh bars in one direction are called main bars and reinforcement mesh bars perpendicular to them are called crossing bars.

    or surface geometry. The input has to be a closed surface (solid). Alternatively you can specify a profile (shape) that will be inserted to the Tekla model. The optional Line input can be used to specify the origin and direction of the item.

Concrete Components

  •  Beam
    Creates a concrete beam along the provided curve or line.

  •  Beam 2Pt
    Creates a concrete beam using the provided start and end point.

  •  Column
    Creates a concrete column along the provided line. If the input is not a straight line in the Z direction, the resulting Tekla object is a beam.

  •  Panel
    Creates a concrete panel along the provided curve or line.

  •  Slab
    Creates a concrete slab plate that represents a concrete structure

    In Tekla Structures, a slab is created by picking three or more points.

    Slab may be part of a floor, for example.

    outlined by the provided geometry. The boundary can be a point list, a simple surface, a rectangle, a circle, a polyline or a general curve.

  •  Item (Tekla Structures 2017 only)
    Creates a concrete item based on the provided brep, mesh or surface geometry. The input has to be a closed surface (solid). Alternatively you can specify a profile (shape) that will be inserted to the Tekla model. The optional Line input can be used to specify the origin and direction of the item.

  •  Extrude Beams
    Creates beams between the points in the provided point list, so that the end point of one beam is the start point of the next one. Fittings are automatically applied between each beam pair.

  • In addition to the geometrical inputs, each part component has the following optional inputs:

    • Profile: The part profile as a string

    • Attributes: The part attributes. Use the Part Attributes component to construct the input object.

    • Position: The part position position number that is assigned to a part

      . Use the Position component to construct the input object.

    • Numbering process of assigning position numbers to parts, cast units, assemblies, or reinforcement

      In Tekla Structures, the position numbers assigned in the numbering are shown in marks and templates, for example.

      : The part numbering attributes. Use the Numbering component to construct the input object.

Edit Components

  •  Plane Cut
    Cuts a part with a plane.

  •  Part Cut cut that is defined by a cutting part

    Cuts a part with another part. Optionally the cutting part building object that creates a part-shaped hollow

    can be deleted after the cut has been made.

  •  Fitting adjustment of a part end

    Fits the end of the part to a plane.

  • Create Component
    Creates a connection component for creating such component objects that automatically connect component secondary parts to a component main part and create the necessary other objects

    A connection can be a system or a custom component. Other objects can include bolts, welds, cuts, and fittings.

    , seam, detail or plugin.

    • Name: Use the Component Catalog catalog that contains all system components and custom components, and the macros and applications

      The term component catalog is used in Tekla Structures until version 21.1.

      component to select a component type from the model.

    • Attribute File: Enter the name of the attribute preset

    • Attributes: Set individual component attributes. Syntax example:

          prefix_pos   "p"
          nut1   1
          cdist1   -200.0

      The standard way to find out the names of the component attributes is to fill in values that you recognize in the component dialog in Tekla Structures, save a preset file and then find the attribute names from that file by looking for your values.

    • Main Part (1) part that exists in a building object and that determines the position number for the assembly or cast unit and the direction of assembly or cast unit drawings

      (1) Main part can be an assembly main part or a cast unit main part.

      (2) input part that the user selects first when creating a component

      (2) Connections and details always have a component main part.

      , Secondary Parts and Points: Connect the required inputs as you would pick the input in the model (e.g. for a Detail, connect a main part and a point). Some components (plugins) might have a more complicated input sequence, in that case you need to use the Component Input component to construct your input.

    • Component Input: Connect the output of a Component Input component to handle complicated input sequences for plugins. If you use this option, the Main Part, Secondary Part (1) part that exists in a building object and that is connected to the main part

      (1) Secondary part can be an assembly secondary part or a cast unit secondary part.

      (2) input part that the user selects after selecting the component main part when creating a component

      (2) A component can have none, one or more component secondary parts.

      and Points inputs will be ignored.

  • Grid modeling aid that represents a three-dimensional complex of horizontal and vertical planes

    In Tekla Structures, grids are used as an aid in locating objects in a model. The grid is shown on the view plane by dash-and-dot lines. It is also possible to show grids and grid line labels in drawings, and to modify grid properties in the drawings.

    It is possible to have more than one grid in a model. For example, a large-scale grid for the entire structure, and smaller grids for some detailed sections.

    Creates a standard grid with gridlines through each of the input points. Duplicated values on any axis are filtered out.

  •  Point
    Inserts a point in Tekla Structures (the point is a Beam-type object). When the component is deleted, the points are removed.

Attributes Components

  •  Part Attributes

    • Set the Name, Profile, Material, Finish, Class part property that groups parts according to identifiers given by the user

      The identifiers of classes are usually numbers. Classes can be used for defining the color of parts in the model, for example. Class does not influence the numbering of model objects.

      , Phase and User-defined attributes of the part.

    • You can set the part Profile either in this component or directly in the create part component. If the profile is set in both locations, the create part component’s profile is used.

    • User-defined attributes are input as a text string (e.g. from a Panel component). Syntax example:

          MyStringUDA   "my user text"
          MyIntegerUDA   2
          MyFloatUDA   12.5

      You can also put the attributes on the same row if you separate them with a semicolon.

  • Position
    Set the position of the part. Can be used on beams, columns and plates/slabs.

  •  Numbering
    Set the Numbering attributes for the part, as well as the Cast Unit Type property of a concrete part in a cast unit that defines if the structure type of the part is precast or cast in place

    and Pour Phase part property that defines which cast-in-place concrete parts form a pour object

    Pour phase can be used to prevent cast-in-place concrete parts from merging into one pour object.

    (the last ones take effect only on concrete objects).

  • Component Input
    Create arbitary input for Tekla plugins from Tekla objects, points and polygons. The component uses a variable string that is used to bind model objects or to set or store values

    In Tekla Structures, variables have names like P4 or D2.

    parameter interface (i.e. zoom in on the component to add more inputs). Generally, the component inputs and their order must match the input sequence as picked when inserting the plugin from the Tekla Structures user interface.

    Note that there's an element of trial and error here; e.g. when inserting a plugin in Tekla Structure, the plugin might request a start point and then an end point, but some plugins then combine the points into a list of two points. This means that the Grasshopper input must be a list of two points connected to a single input rather than two separate point inputs.

  •  Profile Catalog user interface for displaying or modifying information in categorized lists

    For example, profile catalog and shape catalog are catalogs.

    Outputs a profile string. Double-click the component icon to open a dialog to select the profile from the Profile catalog catalog that displays profiles and information on the profiles

    In addition to the available profiles in the respective Tekla Structures environment, the user can add fixed or parametric user-defined profiles to the profile catalog. It is also possible to import profiles to the profile catalog.


  •  Material Catalog
    Outputs a material string. Double-click the component icon to open a dialog to select the material from the Material catalog catalog that displays material grades and information on them

    By default, the material catalog contains standard, environment-specific materials. The user can add, modify, and delete material grades.


  • Component Catalog
    Outputs a string representing a Tekla component. Double-click the component icon to open a dialog to select the component from the Component catalog.

  •  Shape Catalog catalog that displays a list of predefined item shapes

    The shapes are modeled using software other than Tekla Structures, for example SketchUp.

    Outputs a shape string that can be used as a profile for the Item components. This is not required if you are generating the item directly from geometry input.

Input Components

  •  Get Tekla Point
    Get a Point from Tekla Structures

  •  Get Beam
    Get a Beam from Tekla Structures, its mainline (or polyline) and profile.

  •  Get Plate or Slab
    Get a Plate from Tekla Structures, its boundary and the profile.

  • Notes

    • Right-click the input node analysis model object that Tekla Structures creates at a defined point of an analysis model based on analysis part connectivity

      Tekla Structures creates nodes at ends and intersection points of analysis parts, and the corners of analysis areas.

      of an input component to open the context menu where you can set one or multiple objects or points in Tekla Structures. Grasshopper will be minimized and Tekla Structures will ask you to pick objects.

    • Alternatively, input of these components can be connected to the appropriate type of output of another Tekla component. Note that the component that provides the input needs to have ‘Run in background’ set to false.

    • If the objects that are connected to a component have been moved in the model, you can double-click the component to update its output. The component will also update its output anytime Rhino/Grasshopper is restarted.

    • The components remember the set input between Grasshopper sessions.


  • If using the concrete components, disable pour management in Tekla Structures (set XS_ENABLE_POUR_MANAGEMENT to FALSE) for improved performance, especially in versions before 2016.


  • Rebars, bolts and welds cannot be inserted from Grasshopper using these components, other than by using Tekla components and plugins.

  • Complex shapes and surfaces from Rhino/Grasshopper can be transfered as items in Tekla Structures 2017 only. It is not possible to enable support for items in earlier Tekla versions.

Quick feedback

Your feedback on the documentation. The feedback you give here is not visible to other users. Please use the "contact us" form instead if you have a query and you wish to receive a reply.
We use this to prevent automated spam submissions.
Content rating: 
Average page rating: 4.6 (7 votes)
Refresh page after voting to show updated result.


by Denis Durante

Good evening,
This plugin works really well until I need to generate new models with simple elements. With simple I mean: straight beams and plane plates. I can't create curved beams without tekla discretization. Instead, if I import a dwg and then I associate a profile to it, I can. Is it possible in some way to overpass this problem? I hoped to find a way to generate "complex" beams directly (I could mean only an arch).
(With plates it is not possible to create curved plates directly in tekla, so the reason is another).

Another point is that i can't modify properties/attributes of tekla modeled elements. I can only "import" their axes to rhino and read their profile. And use this information to generate new elements. I think that working on existing elements in tekla could be really useful. Will it be possible?

An issue: when I set "Multiple elements" in tekla from "Select a Beam", it doesn't work. Only one beam selection is possible.

I hope this can be useful for further release

by Sebastian Lindholm

Hi Denis,

Sorry for the delayed response, I've been on vacation.

Curved beams are currently not supported. In general, curves will get converted to polybeams with the maximum 99 control points allowed by Tekla. There are some api limitations that makes converting a Rhino arc into a Tekla curved beam tricky. Would it be sufficient to be able to create a polybeam with 3 points and a rounded chamfer instead, if the input is an arc? It would look indistinguishable from a curved beam.

Modifying model objects that aren't generated in Grasshopper is a good idea, we will consider how this could be implemented.

So when you right-click the beam input and click "Select Multiple Tekla.Structures.Model.ModelObjects/Beams" you mean you can't select more than one beam in Tekla Structures? I'm not able to reproduce this. Perhaps you could post some pictures/video showing the problem or similar on the Extensions forum (https://forum.tekla.com/index.php?/forum/281-tekla-extensions/) to see if we can help you there.


by Oana Catuna


I have an issue after installing the plugin for Tekla version 21.1. The Tekla tab that should appear in Grasshopper is not there. I have unblocked the files and followed the specific steps described.

The plugin for Tekla versions 2016 and 21.0 works without any issues.

Is there any solution for this?

by Sebastian Lindholm

Hi Oana,

The 211.0.2 version initially released on Warehouse had some problems. The issue was reported and updated approx one month ago. If you got hold of that initial release please re-download and re-install the components.

Other than that it sounds strange if 21.0 and 2016 works but not 21.1. Are there any error messages when launching Rhino/Grasshopper? Only reasons I've encountered for the tab not showing up are (1) file blocked (2) mismatch between the downloaded link version and the installed Tekla Structures verison. So double-check that you've downloaded the right link version and - sorry for this - that you've got Tekla 21.1 installed on the same system.



by Tim Messer

I am having problems with component 1042, should I use the column as the main element and tekla points for hte points part of the component?

by Sebastian Lindholm

Hi Tim,

The inputs sound fine. You might experience problems since the detail type gets set to "intermediate" rather than "end". For some reason you can't set the detail type directly using attributes, but you can try adding the attribute "zsuunta" and set it to e.g. 0 (using the Attributes input of the GH component). That seems to change the detail type as well.

I'd recommend posting on the Extensions forum (https://forum.tekla.com/index.php?/forum/281-tekla-extensions/) If you'd like to continue the discussion.