Grasshopper - Tekla Structural Designer Live Link

Tekla Structural Designer
2019i
Tekla Structural Designer
2019
Tekla Structural Designer
Grasshopper
Environment
Not environment-specific
Image
concrete_frame_loaded.png

 


Note. This article is applicable upto and including Tekla Structural Designer 2019i. If you are using Tekla Structural Designer 2020 then please refer to the article here
 

 

Introduction

The Grasshopper-Tekla Structural Designer (GH-TSD) live link enables algorithmic modelling for Tekla Structural Designer (TSD) using Rhino (64-bit)/Grasshopper. The link is a set of Grasshopper components that can create and update objects live in TSD.
 



The Grasshopper-Tekla Structural Designer link currently supports the UK (Eurocode) Headcode only.


 

Prerequisites

You need to have Rhino (download) and Tekla Structural Designer (version 2019i or later) installed on the same machine. TSD 2019i SP2 and earlier versions must be run as an administrator to interact with the Grasshopper-TSD link. TSD 2019i SP3 does not require administrator privileges.

Grasshopper is included in the Rhino 6 install. If you're using Rhino 5, you need to install Grasshopper separately (download).

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

Setup


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

  1. Download the zip with the required files (GH-TSD.gha, TSD_Steel_Example.gh, TSD_Concrete_Example.gh) from Tekla Warehouse.
    • Make sure you download a package targeting the (installed) version of Tekla Structural Designer you'd like to work with.
  2. Run Tekla Structural Designer (2019i SP2 and earlier - run as administrator) and create a new document.
  3. Run Grasshopper within Rhino (64-bit) and drag GH-TSD.gha onto the canvas to install the components. A new component tab labeled TSD [version] should appear.
    • If the TSD 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 GH-TSD.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 (64-bit)/Grasshopper. The TSD tab should now be visible in Grasshopper.
To update, re-install or install components for another Tekla Structural Designer version:
  1. In Grasshopper, click File > Special Folders > Components Folder
  2. Close Grasshopper and Rhino, and replace the GH-TSD.gha in the Components Folder with the new file
  3. Launch Grasshopper again
    • If the TSD tab doesn't show up, you need to unblock it as described in the previous section
Once Installed, take a look at the Working with the link section of this article to start working with Grasshopper.

Working with the link

 

Getting started - example files



Once the GH-TSD link is installed, you are ready to try the example files.

For best results, TSD should be started before Grasshopper.

Starting with both TSD & Grasshopper closed:
  1. Run TSD (version 2019i or later) as an administrator and create a new document
  2. Run Rhino (64-bit) and ensure the units are set to m to match the example file units
  3. Run Grasshopper
  4. Open one of the example files (Concrete_Multi_Storey.gh or Steel_Multi_Storey.gh)
  5. Connect the input geometry to the Columns, Slab Items or Wall Panels components:
    1. Image
      connect_columns.png
    2. TSD will display preview graphics while changes are exported from Grasshopper:
      1. Image
        column_graphics.png
    3. TSD will update the model after the last export from Grasshopper:
      1. Image
        columns_in_model.png
    4. You can now connect other components, or change the input parameters and see those changes reflected live in TSD

General notes

  • Make sure you run TSD as an administrator, and open a (new) document before running Rhino/Grasshopper or inserting components. The components generate and modify objects live in TSD. Components will show warnings when TSD cannot be reached.
  • The TSD components convert native Rhino/Grasshopper Geometry objects such as lines & polylines to structural objects such as beams, columns and walls in TSD. It is good modelling practice to get your script producing a suitable configuration in Grasshopper, before adding and connecting TSD components.
  • If there are multiple (compatible) instances of TSD running, the GH-TSD link will create geometry in the instance that was opened first.
  • It is best practice to work with only one running instance of TSD, only one running instance of Grasshopper, and a single Grasshopper script. If multiple scripts containing TSD components are open, it is necessary to recompute the solution after switching from one script to another.
  • Removing components from the canvas, or removing their inputs, removes the generated objects from the TSD document.
  • The link uses the units of the currently open Rhino Document for the geometrical inputs.
  • The link uses the units of the currently open TSD Document for all other inputs (Force, Area, Inertia etc.)
  • To cut the link between a Grasshopper component and the TSD object it has generated, right-click the component and select Bake to TSD. This will leave the object as-is in TSD, and a copy of the object will be generated upon further modifications of the component input.

Advanced Topics



 

Setting option parameters


Many TSD components have parameters which are not of the basic Grasshopper types, e.g. strings, numbers, bools.

For example, the Slab Item component has an input parameter for Diaphragm Option:

 
Image
option_component_description.png


There are a number of ways that you as a user can specify such option parameters. The simplest is to set the value directly on the component, by right-clicking the parameter and choosing from the provided list:

 
Image
option_component_right_click.png


Alternatively, there are a number of option components included with the GH-TSD link:

 
Image
option_components_toolbar.png


These allow you to specify a single value for each option, which can then be used on multiple components:

 
Image
option_component_as_input.png


The final alternative is to define such options using a text panel. The provided text must match the name of the option exactly:

 
Image
option_component_text_panel_as_input.png


 

Continuing sessions


The GH-TSD link allows you to parametrically create objects in TSD from Grasshopper, save both files, reopen those files at a later time, and continue working with the parametric link.

To do this:
  1. Finish your modelling in Grasshopper and allow TSD to finish updating the model
  2. Save the Grasshopper model
  3. Save the TSD model

When you want to continue your workflow:
  1. Run TSD
  2. Open the TSD model
  3. Run Grasshopper
  4. Open the Grasshopper script

At this point, changes made in your Grasshopper script should be reflected in TSD as updates of the existing model, rather than as creation of new objects.

This approach can be particularly useful if you want to model some non-parametric objects directly in TSD, or want to create unsupported objects, e.g. combinations or envelopes, and have those persist between sessions.
 

Troubleshooting

Warning messages on components


If TSD cannot be reached, the GH-TSD link will add warning bubbles to TSD components:

 
Image
could_not_connect.png


 
Image
3_2_no_document.png


Should you see these messages, check that:
  1. A compatible version (2019i or later) of TSD is running
  2. TSD was started with administrator privileges
  3. There is a document in TSD
 

Resolving instances where TSD does not respond to changes in Grasshopper

Should you find that TSD does not respond to a change you have made in Grasshopper, and warnings are not visible on components, the following may be tried:
  1. Recompute the solution. Right-click the Grasshopper canvas and select recompute
  2. Disconnect a TSD component from its input geometry, and reconnect it
  3. Close the Grasshopper document (Ctrl+W) and reopen it
    1. This is required if you have changed any model settings in TSD, such as units, headcode or region.

Components in the GH-TSD link

 
Image
4_1_main_gh_tsd_component.png

Steel

Geometry components
  • Steel Beam 
    Image
    Steel-Beam-24.png
    • Creates a single-span steel beam along the provided line
  • Steel Column 
    Image
    Steel-Column-24.png
    • Creates a steel column along the provided line. The column in TSD is automatically split into stacks between levels (levels are added automatically in TSD for Slab Items created from Grasshopper). The column line provided in Grasshopper should represent the whole column including all stacks.
  • Steel Brace 
    Image
    Steel-Brace-24.png
    • Creates a steel brace along the provided line

Concrete

Geometry Components
  • Concrete Beam 
    Image
    Concrete-Beam-24.png
    • Creates a single-span concrete beam along the provided line
  • Concrete Column 
    Image
    Concrete-Column-24.png
    • Creates a concrete column along the provided line. The column in TSD is automatically split into stacks between levels (levels are added automatically in TSD for Slab Items created from Grasshopper). The column line provided in Grasshopper should represent the whole column including all stacks.
  • Concrete Wall 
    Image
    Concrete-Wall-24.png
    • Creates a concrete wall with the provided boundary (curve). The wall in TSD is automatically split into panels based on incoming geometry such as members and slabs. The wall boundary should represent the whole wall including all panels. The input curve must be a valid, planar, non-horizontal polyline with 4 segments.
Option Components:
  • Wall Releases 
    Image
    Generic-Option-24.png
    • Specify the release conditions at the top and bottom of Concrete Walls. Choose from Fixed, Pinned or Continuous (incoming members pinned). This option can be set directly on the Concrete Wall component by right clicking the parameter.

Panels

Geometry Components:
  • Slab Item 
    Image
    Slab-Item-24.png
    • Creates a Slab Item with the provided boundary (curve). The input curve must be a valid, planar polyline with at least 3 segments.
  • Roof Panel 
    Image
    Roof-Panel-24.png
    • Creates a Roof Panel with the provided boundary (curve). The input curve must be a valid, planar polyline with at least 3 segments.
  • Wall Panel 
    Image
    Wall-Panel-24.png
    • Creates a Wall Panel with the provided boundary (curve). The input curve must be a valid, planar polyline with at least 3 segments.
Option Components:
  • Decomposition Target 
    Image
    Generic-Option-24.png
    • Specify the “Decompose to” option on Wall Panels. Choose from Nodes, Members, or Rigid diaphragms. This option can be set directly on the Wall Panel component by right clicking the parameter.
  • Diaphragm Option 
    Image
    Generic-Option-24.png
    • Specify the Diaphragm Option on Slab Items. Choose from None, Semi-Rigid or Rigid. This option can be set directly on the Slab Item component by right clicking the parameter.
  • Roof Type 
    Image
    Generic-Option-24.png
    • Specify the Roof Type on Roof Panels. Choose from a list of headcode dependent values. This option can be set directly on the Roof Panel component by right clicking the parameter.
  • Slab Item Type 
    Image
    Generic-Option-24.png
    • Specify the Slab Item Type on Slab Items. Choose from Composite Slab, Flat Slab or Slab on Beams. This option can be set directly on the Slab Item component by right clicking the parameter.
 

Miscellaneous

Geometry Components:
  • Supports 
    Image
    Support-24.png
    • Creates a support at the provided point. Fixity of the support can be set by wiring boolean params to the support condition inputs
 

Properties

Option Components
  • Sections Filter 
    Image
    Steel-Section-24.png
    • Find sections matching provided filter criteria. This component outputs a list of all sections matching the input filters, and allows you to choose a section from that filtered list.
    • Right click the Selected Section output parameter to choose a section from the filtered list:
      Image
      4_2_sections_select_section.png
    • Right click the component to change the Section Geometry and Section Group:
      Image
      4_3_sections_geometry.png
      • The section geometries and groups are populated from TSD based on the region and headcode.
  • Steel Grade 
    Image
    Steel-Grade-24.png
    • Specify a Steel Grade for use on steel components. The list is populated from TSD based on the headcode.
  • Concrete Class 
    Image
    Concrete-Class-24.png
    • Specify a Concrete Class for use on concrete components and the Slab Item component. The list is populated from TSD based on the headcode.
  • Member Alignment 
    Image
    Alignment-24.png
    • Specify Member Alignment (snapping and offsets) for use with Steel Beams, Steel Columns, Steel Braces, Concrete Beams and Concrete Columns.
  • Load Direction 
    Image
    Load-direction-24.png
    • Specify the direction of loads, for use with the Member Point Load and Area Load components. This option can be set directly on the Member Point Load and Area Load components by right clicking the parameter.

 

Member Loads

Geometry Components
  • Member Point Load 
    Image
    Member-Point-Load-24.png
    • Creates a point load on a Member (Steel Beam, Steel Column, Concrete Beam or Concrete Column). Loads must be included in a loadcase for them to be added to TSD.

Area Loads

Geometry Components
  • Area Load 
    Image
    Panel-Area-Load-24.png
    • Create a whole panel area load on a Panel (Concrete Wall, Slab Item, Roof Panel or Wall Panel). Loads must be included in a loadcase for them to be added to TSD.
 

Loading

Geometry Components
  • Loadcase 
    Image
    Loadcase-24.png
    • Creates a loadcase with the provided name, member loads and panel loads.
  • Loadcase Type 
    Image
    Generic-Option-24.png
    • Specify the type of loadcases, for use with the Loadcase component. This option can be set directly on the Loadcase component by right clicking the parameter.
 
Was this helpful?