SOFiSTiK – McNeel Rhinoceros & Grasshopper Integration

Update: New SOFiSTiK Grasshopper components in version 2020-03.
Course: Watch the Grasshopper and SOFiSTiK Workflow – Introduction on a Truss System Mini-Course

Parametric design becomes more common in the construction industry. More important it gets to be informed about available workflows and applications. This post is about the possibilities of how to utilise McNeel Rhinoceros and Grasshopper to generate the structural model and to perform the analysis and design in SOFiSTiK FEA afterwards.

SOFiSTiK Rhino-Interface

The SOFiSTiK Rhino-Interface is an extension to the 3D NURBS modeller McNeel Rhinoceros. It provides functionalities to create a finite element model to perform the analyse and design in SOFiSTiK FEA. Analytical properties such as material, cross-sections or boundary conditions can be assigned to the Rhinoceros objects (points, curves or surfaces). Furthermore, the SOFiSTiK commands and toolbars also allow accessing SOFiSTiK programs such as SSD, Text Editor, System Visualisation and Graphics straight from McNeel Rhinoceros.

By using the SOFiSTiK Rhino-Interface, McNeel Rhinoceros will be integrated as additional pre-processor to the SOFiSTiK FEA environment (SOFiSTiK Structural Desktop). You’ll benefit from the McNeel Rhinoceros geometrical modelling capabilities as well as the advanced SOFiSTiK analysis and design features.

A detailed description of the entire capabilities of the SOFiSTiK Rhino Interface 2022.


To achieve a more efficient workflow generating structures with McNeel Rhinoceros – combining the SOFiSTiK Rhino-Interface with the Grasshopper-Interface is possible and widely used for less parametrised models. Elements created in Grasshopper can be “baked” into
McNeel Rhinoceros (creates Rhino object from Grasshopper input). The “baked” geometry within McNeel Rhinoceros is now available to process further (meshing + generating elements into SOFiSTiK). As the elements are “baked” from Grasshopper, the active link between Grasshopper and McNeel Rhinoceros is disconnected. Any updates that happen in Grasshopper must be updated again by “baking”. When intending to create highly parametrised models with Grasshopper – I recommended keeping the link to maintain the generated structure. So bypassing the “bake”-process by direct scripting a CADiNP input file (Teddy) for SOFiSTiK is the way to go. This approach also enables you to benefit from the entire capabilities of the CADiNP syntax.

The SOFiSTiK Grasshopper Components

SOFiSTiK started developing their Grasshopper components just recently. The components basically create the required CADiNP syntax within Grasshopper to maintain the link to SOFiSTiK. You’ll find the latest free components with instructions and examples on GitHub.

The following components are currently available:

“Global Settings” – for scaling loads arrows / adjusting colors / …
“Text File” – Streams the given input to a text file (SOFiSTiK *.dat input)

“Geometric Axis” – Creates a SOFiSTiK geometry axis definition from a curve.

Generate loads (loading case, area- , line- and point loads + input for module SOFiLOAD)

Generate Structural components (area-, line-, point, couplings, and springs + input for module SOFiMSHC)

These components create CADiNP data from Grasshopper objects (point, area, line) with given parameters and values (e.g. point load force as a vector). The generated data can be considered in the analysis afterwards – similar to using CADiNP as built-in pre-processing for SOFiSTiK FEA.

Grasshopper CADiNP Scripting

As the components create a predefined CADiNP input, it’s also possible to generate required data straight in Grasshopper by scripting (Python, C#, VB). Or more user-friendly with Grasshopper built-in components (no coding skills required).

To dive into the CADiNP syntax, check out the Text Input in SOFiSTiK FEA Fundamentals Online Course.

Besides all the available pre-processor applications such as SOFiPLUS(-X) (Autodesk Autocad based graphical interface), FEA Extension for Autodesk Revit or the Rhino-Interface the simple text input is the most comprehensive one. However, creating a structure by entering line by line in a text editor can get challenging. Grasshopper is a welcome tool to simplify this task by providing a visual platform to create and modify data in real-time.

This is just the beginning of an exciting journey in parametric design and connectivity to further platforms such as TEKLA.

Update: New SOFiSTiK Grasshopper components in version 2020-03.

Software version: SOFiSTiK FEA v2018-08, McNeel Rhinoceros 6.