Grasshopper - Tekla Structural Designer Live Link (GH-TSD)

Tekla Structural Designer
2020
Tekla Structural Designer
Grasshopper
Environment
Australia
British Standard
Eurocode
India
USA
Not environment-specific


Image
1_2020_Landing.png

Introduction

The Grasshopper-Tekla Structural Designer (GH-TSD) live link enables algorithmic modelling, parametric design exploration, and data driven design for Tekla Structural Designer (TSD) using Rhino/Grasshopper. 

The link is a set of Grasshopper components that can create and update objects live in TSD. The link also provides the capability to automate TSD static analysis & record global displacement results using Grasshopper.
 

Prerequisites

You need to have Rhino (download) and Tekla Structural Designer (version 2020 or later) installed on the same machine. There are specific versions of the GH-TSD plugin for each major TSD release & each service pack.

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 from Tekla Warehouse (download).
    • 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 and create a new document.
  3. Run Grasshopper 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/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.


 

1. Working with the link

 

1.1 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 2020 or later) and create a new document
  2. Run Rhino (64-bit)
  3. Run Grasshopper
You are now ready to run the first example file.

1.2 Getting started - creating a model

  1. In the folder for your headcode/region (EC or US), open one of the Concrete_MultiStorey files, and ensure the units in Rhino match those of the example file:
    1. EC: metres or millimetres
    2. US: inches or millimetres
  2. Locate the model component (blue circle) and link it to TSD, by right-clicking on the black part of the component:
    1. Image
      2_Link_Model_Component.png
    2. TSD will display preview graphics while the model is exported from Grasshopper:
      1. Image
        3_Model_Update_Ghost.png
    3. TSD will update the model after the last export from Grasshopper. 
    4. In TSD, switch to the Grasshopper loadcase to see the loads that have been exported from Grasshopper:
      1. Image
        4_Model_Update_Solid.png
    5. You can now add & connect other components, or change the input parameters, and see those changes reflected live in TSD.
 
 

1.3 Getting started - running an analysis and collecting results

 
  1. In the folder for your headcode/region (EC or US), open one of the Steel_Truss files, and ensure the units in Rhino match those of the example file:
    1. EC: metres or millimetres
    2. US: inches or millimetres
  2. Locate the model component (blue circle) and link it to TSD, by right-clicking on the black part of the component
    1. The model will be exported to TSD and updated
  3. Connect the model component loading output to the analysis component loading input:
    1. Image
      5_Truss_Run_Analysis.png
  4. The analysis will complete. In TSD, progress can be seen in the process window. In TSD, switch to the results view and look at the deflections for the combination:
    1. Image
      6_Truss_Analysis_Completed.png
  5. Connect the combination component to the Global Nodal Displacements component loading input:
    1. Image
      7_Truss_Connect_Combo.png
  6. The maximum and minimum displacements (also seen in the TSD results view) will be available in Grasshopper:
    1. Image
      8_Truss_See_Results.png

 
 

1.4 General notes

  • Make sure you run TSD and open a (new) document before running Rhino/Grasshopper or inserting components. 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.
  • To export the TSD objects created by individual components, they must be linked to a Model Component. Only one Model Component may be active at any one time.
  • Removing components from the canvas, removing their inputs, or disconnecting them from the model component removes the generated objects from the TSD document.
  • 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 switching between multiple scripts containing TSD components, refresh the TSD model by disabling and re-enabling the Model Component.
  • 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.)
  • The link uses specific data from the currently open TSD Document, such as section sizes and material grades.
  • For best results, TSD should be started before Grasshopper. 

 
 

1.5 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
9_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
10_option_component_right_click.png


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

Image
11_option_components_toolbar (1).png


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

Image
12_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
13_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
  5. Enable the model component

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. envelopes, and have those persist between sessions.


Opening Grasshopper Scripts saved with the 2019i versions of the plugin

Grasshopper scripts saved in GH-TSD 2019i are compatible with GH-TSD 2020. However, upon opening a script saved in GH-TSD 2019i, it is necessary to add a Model Component, and perform a first time export of TSD objects from Grasshopper to TSD.

 

1.6 Troubleshooting

 

TSD Status in Grasshopper



The TSD status banner in Grasshopper indicates whether Grasshopper can ‘see’ TSD:

Image
14_Status_Green.png


When TSD is busy completing a process, the banner will indicate which process is completing:

Image
15_Status_Yellow.png


If Grasshopper cannot ‘see’ TSD, the banner will highlight this in red:

Image
16_Status_Red.png


Should you see this, check that a compatible version of TSD is running, and was started before starting Grasshopper. Warning messages will also show on components, as detailed in the following section.

The status banner can be hidden by navigating (in Grasshopper) to the menu: Display >> Canvas Widgets >> TSD Status.
 

Warning messages on components

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

Image
17_could_not_connect.png


Image
18_no_document.png


Should you see these messages, check that:

A compatible version of TSD is running, and was started before starting Grasshopper
  1. There is a document in TSD
  2. 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, try the following operations (in order):
  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. Disable and re-enable the model component
  4. Delete the model component and add it again
  5. 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.
  6. Restart Rhino & Grasshopper
    1. This is required to reset default parameter values on components, e.g. Steel Grade
 

2. Components in the GH-TSD link

 

2.1 Geometry Components


Image
19_Components_1_Geometry.png


Steel components
  • Steel Beam 
    Image
    steelbeam.png
    • Creates a single-span steel beam along the provided line
  • Steel Column 
    Image
    steelcolumn.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
    steelbrace.png
    • Creates a steel brace along the provided line


Concrete components
  • Concrete Beam 
    Image
    concretebeam.png
    • Creates a single-span concrete beam along the provided line
  • Concrete Column 
    Image
    concretecolumn.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
    concretewall.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.


Panel components
  • Slab Item 
    Image
    slabitem.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
    roofpanel.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
    wallpanel.png
    • Creates a Wall Panel with the provided boundary (curve). The input curve must be a valid, planar polyline with at least 3 segments.


Miscellaneous components
  • Supports 
    Image
    supports.png
    • Creates a support at the provided point. Fixity of the support can be set by wiring boolean params to the support condition inputs


Option components
  • Decomposition Target 
    Image
    options.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
    options.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
    options.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
    options.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.
  • Wall Releases 
    Image
    options.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.
 
 

2.2 Loading Components


Image
20_Components_2_Loading.png



Member loads components
  • Member Point Load 
    Image
    mpl.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 components
  • Area Load 
    Image
    al.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.
Loadcases components
  • Loadcase 
    Image
    loadcase.png
    • Creates a loadcase with the provided name, member loads and panel loads.
  • Self Weight Loadcases 
    Image
    swloadcase.png
    • Allows access to the 3 self weight cases in TSD, for inclusion in Combinations and Analyses.
Combinations components
  • Combination 
    Image
    combination.png
    • Creates a Combination with the provided name, class & Loadcases.
  • Factored Loadcase 
    Image
    factoredloadcase.png
    • Allows the application of factors to Loadcases included in Combinations - supply a Loadcase & up to 3 factors, and include the output in a Combination.
Option components
  • Combination Class 
    Image
    options.png
    • Specify the class of combinations, for use with the Combination component. This option can be set directly on the Combination component by right clicking the parameter.
  • Loadcase Type 
    Image
    options.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.

 

2.3 Properties


Image
21_Components_3_Properties.png


Option Components
  • Sections Filter 
    Image
    sectionfilter.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
        22_sections_select_section.png
    • Right click the component to change the Section Geometry and Section Group:
      • Image
        23_sections_geometry.png
      • The section geometries and groups are populated from TSD based on the region and headcode.
  • Steel Grade 
    Image
    steelgrade.png
    • Specify a Steel Grade for use on steel components. The list is populated from TSD based on the headcode.
  • Concrete Class 
    Image
    concreteclass.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
    memberalignment.png
    • Specify Member Alignment (snapping and offsets) for use with Steel Beams, Steel Columns, Steel Braces, Concrete Beams and Concrete Columns.
  • Load Direction 
    Image
    loaddirection.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.
 
 

2.4 Model, Analysis and Results Components

Image
24_Components_4_Model_Analysis_Results.png



Model components
  • Model 
    Image
    model.png
    • Export TSD objects from GH to TSD. 
    • All geometry and loading should be connected to their relevant model component input parameters to see them in TSD:
      • Line Elements : Steel Beams, Braces & Columns, Concrete Beams & Columns
      • Panels: Concrete Walls, Roof Panels, Slab Items & Wall Panels
      • Supports: Supports
      • Loading: Loadcases & Combinations
    • To enable / disable the link between GH & TSD, right-click the black part part of the component and select Link / Unlink this component
Analysis components
  • Analysis 
    Image
    analysis.png
    • Instruct TSD to run a static analysis for the specified model and loading.
    • Use with the Model component - connect the“Model” output parameter on the Model component to the relevant input on the Analysis component.
    • To analyse all loading in the provided model, connect the “Loading” output parameter on the Model component to the relevant input on the Analysis component.
Results components
  • Global Nodal Displacements 
    Image
    globalnodaldisp.png
    • Extract maximum and minimum displacement values for a specified TSD analysis and loading.
    • Use with the Analysis component - connect the “Analysis Info” output parameter on the Analysis component to the relevant input on the Global Nodal Displacements component.
    • To get results for all the analysed loading, connect the “Loading” output parameter on the Analysis component to the relevant input on the Global Nodal Displacements component.
 
 
Was this helpful?