Description of Grasshopper plugin components

This tutorial will help you become familiar with the software's functionality.

Getting Started

Program Requirements

The plugin is currently developed for Rhino 7. Grasshopper is free and built into Rhino 7, so there is no need to install Grasshopper separately. For version compatibility, please search the Rhinoceros webpage.

You can get a trial version of Rhino3d and Grasshopper from the Rhino3d website.

Plugin Installation and Requirements

The Plugin can be installed through the Rhino Package Manager. Once installed and Rhino is restarted, the IDEA StatiCa tab will be available in Grasshopper.

The IDEA StatiCa is built as an extension to the latest versions of the IDEA Open Model (IOM) and IDEA API modules. When using these tools, it is recommended that the latest version of IDEA StatiCa is installed to work correctly and utilize all the latest features. 

Limitations

  • Currently, for the plugin to work correctly, the Rhino Units should be set to meters.
  • All Input Units should also be specified in basic SI units, which follow the IDEA Open Model designation. See the Open Model Units specification for more details.

Help and Feedback

These tools are enhanced with close collaboration with advanced users and their required workflows. We are keen to hear any feedback or suggestions to improve the functionality. Feedback is best provided through the forum on the IDEA StatiCa public GitHub.

Introduction

IDEA StatiCa Grasshopper plugin consists of the following primary parts:

1. Components to generate IDEA Open Model (IOM) 

These are used to facilitate:

  • Create, Import, or Modify IDEA Open Model.
  • Custom FEA Conversions
  • Geometric conversion: IOM <-> Rhino
  • Explicit modeling of members, plates, bolts, cuts, and welds.

2. Components to interact with IDEA Design Applications 

They are used to:

  • Create, import, and modify design app files, such as connections.
  • Get and update geometry and components.
  • Apply user-defined templates.
  • Get and update user-defined parameters.
  • Run calculations and extract results.
  • Get further design information (inc. fabrication costs, etc.)

Components to generate IOM are API agnostic and, therefore, do not require a license of IDEA StatiCa.

The component that interacts with IDEA StatiCa Design App’s requires an active license of IDEA StatiCa. Open Model components are used across Design App components in cases where geometry conversion and interoperability are concerned.

Open Model Object Components

Object components relate to a specific object type in the Open Model data format. Basically, any object that is required to have an Id or Name can be classified as an Open Model Object.

Object Creation

All Open Model Objects are required to have an Id and Name. To make object creation quicker and to improve usability, most objects do not require a user-defined id or name on creation and can be left to be assigned automatically when they are added and compiled to a model.

[!NOTE] Objects that do not have an Id or Name assigned automatically get assigned an Id = 0 and an Empty Name string.

When using a Create component, the output should show the Name and Id provided to that object. The output string is the Open Model Object Type.

[!IMPORTANT] When creating objects in Grasshopper, the object Name should be a Unique string for a particular object type.

[!NOTE] Some specific objects like materials, cross-sections, load cases, and combinations do require a name on object creation.

Open Model Result Components

Open Model Results are used to store analysis results for related analytical members. Using Grasshopper, results in the Open Model Result format can easily be created using the available components.

This allows a flexible way of linking the Physical model with analytical FEA model results.

[!NOTE] Refer to documentation on the Open Model Result for internal force designations and explanations on how to create correct Open Model Result files.

Creating Open Model Result

Creating Open Model Results works similarly to other compiled object types. First, the high-level object should be created with desired settings; then, it can be modified by adding or updating existing entities.

IDEA Connection App Components

Here, we briefly describe components available to work with IDEA StatiCa Connection files in Grasshopper.

The Connection Object

Most components relating to the IDEA Connection App allow the passing around of a ‘Connection’ object.

The connection object is a reference to an IDEA Connection file saved on the disc. First, a user will be required to either reference an existing connection that has previously been created or create one from scratch using the Open Model components.

In Grasshopper, each ‘Connection’ object is treated as a single connection object. IDEA Connection project files that have multiple connections in the project are separated in Grasshopper and treated as multiple objects with a referenced file path and name.

[!WARNING] It is recommended to work with IDEA StatiCa Connection Project files containing a single connection.

The connection object can also store and manage a duplication of the available information that is extracted from the program. This should be persistent until the connection is modified – which reduces the calls required to the API.

Connection Object Components

Below is a list of Components that are available to work with the Connection Object.

Because users will likely need to work with large amounts of connections at once, components have been added with multiple ways of completing a task which allows you to batch update a single connection at a time rather than by multiple parallel operations. Therefore, there are typically multiple ways to do certain types of tasks.

To increase performance, it is encouraged to load as much information when referencing the connection and trying to compile as many modifications into one step as possible if performing modifications.

ComponentDescription
Reference ConnectionReference an existing connection on the disc to perform automated operations. When referencing the connection, you can opt to pre-load some of the connection information. This will open the connection and then extract the basic information about the connection. It will likely save you time downstream if you are not performing a lot of modification on the connection object.
Create from IOMCreate an IDEA Connection File from the IOM Format. A user can either input a file path to an existing model XML file or directly wire the OpenModel object created from the IOM component library.
Update from IOMThis allows a user to update an existing connection file with a modified IDEA Open Model file. This would typically work in-conjunction with the Extract IOM Container component.
DeconstructThe deconstruct component can be used to get general information about the connection object, such as the connection name, file path, settings, etc.
Calculate ConnectionPerform calculations of the connection. Results are read and saved into the Connection Object. If the connection is Modified down the line, results will be wiped from the object. To view the results, pass the connection to the Connection Results Component. The Connection is automatically saved after the calculation has been run.
Connection ResultsOnce a connection has been calculated, results are stored on the connection object and can be retrieved using the Connection Results component. Results can be filtered by specific keys for different elements.
Modify ConnectionAllow you to make changes to connection items. Refer below for further information.
Apply TemplateApply a template to a connection using the available template settings. Refer the section on Templates below.
Get Connection GeometryRetrieve the geometry of the connection into Grasshopper. This exports the connection and converts it to Open Model objects. The Members and Connection Data are exported separately. This component is useful for linking directly with CAD software.
Get Connection CostsAllows the user to extract detailed fabrication costs of the connection. Each Cost item can be deconstructed into granular cost items using the Deconstruct Cost item component.
Evaluate ExpressionEvaluate Expression allows you to evaluate expressions. Expressions are typically used in the Parameters interface; however, can also be used directly inside the application. The parameter reference guide provides examples of available parameters. Refer to the Expression Parameters Reference Guide

Connection Template Components

Connection templates are files that store complex operation data that can be passed between connections of similar topologies. Templates also store any defined connection parameters and other information about the base connection, such as member geometry and section type. Grasshopper provides some components that allow the application and deconstruction of IDEA StatiCa template files. 

Connection Template Object

In Grasshopper, you can reference any number of previously defined templates. Currently, only templates saved to disk (as ‘.ideatemp’) are importable in Grasshopper. 

When a template is imported, we can extract the available parameters that are stored in it. This allows us to understand what parameters will be available in the connection file once the template has been assigned.

[!NOTE] Templates can be exported from base connections using the developer mode in IDEA StatiCa Connection.

Grasshopper Example Files

Examples are currently shipped with the installation files of the plugin.

Within the installation folder directory

%appdata%\McNeel\Rhinoceros\packages\7.0\IDEAStatiCa\0.1.1\ there is a .zip folder:

Examples.zip

This folder contains several workflow examples that are currently available.

Related articles