Parametric - Modeling - and - Design - Combining SOFiSTiK - and - Grasshopper PDF
Parametric - Modeling - and - Design - Combining SOFiSTiK - and - Grasshopper PDF
i
SOFiSTiK (2019)
FOREWORD
This script aims to inform SOFiSTiK user about the principles and possibilities of using
Grasshopper as a full or partial pre-processor to generate calculation models for SOFiSTiK,
showing the opportunities of utilizing parametrization for different tasks as well as types of
structures are the goal.
Seven essential steps describe an overview of the workflow as well as the possibility of using
a neutral BIM format for SOFiSTiK.
This script requires general SOFiSTiK knowledge. It is assumed that the reader can create
simple SOFiSTiK calculation models using text input with the built-in script language CADINP.
CADINP has been available for 30+ years and gives access to create data from various
sources and SOFiSTiK.
The focus is mainly on the workflow of utilizing Grasshopper to generate analytical models for
SOFiSTiK.
The required software to utilize features and workflows, described below are
- SOFiSTiK 2018
- Rhinoceros 6, including Grasshopper
- SOFiSTiK Rhinoceros Interface for Rhinoceros 6 (via SOFiSTiK Application Manager;
The Rhino-Interface is only necessary when structural objects are baked. For a workflow
where the user keeps entirely within Grasshopper, the Rhino-Interface as well as the
associated license is not necessary).
- SOFiSTiK Grasshopper components via GitHub
You can also get familiar with the topic and deeper into the applications with SOFiSTiK
consulting services provided by our Consulting team and our various specialist services.
Copyright
This script is copyrighted. No part may be duplicated or rewritten in any way without the written permission of
SOFiSTiK AG. SOFiSTiK reserves the right to revise or update this publication at any time.
SOFiSTiK assures that the script was created to the best of its knowledge and beliefs but does not guarantee that
the script is error-free. The user remains responsible for his own application.
Trademark:
SOFiSTiK is a registered trademark of SOFiSTiK AG.
Grasshopper is a registered trademark of Robert McNeel & Associates
i
SOFiSTiK (2019)
Contents
SOFiSTiK Program Structure...................................................................3
1.1 Teddy – CADINP.................................................................................................. 3
Rhinoceros ................................................................................................ 4
2.1 Grasshopper ........................................................................................................ 4
Conclusion .............................................................................................. 21
ii
SOFiSTiK (2019)
3
SOFiSTiK (2019)
It’s the users choice to generate the text input utilize independent text editors, spreadsheets,
scripting languages or visual programming applications such as Grasshopper for Rhinoceros
or Dynamo for Revit.
Rhinoceros
Rhinoceros (typically abbreviated Rhino, or Rhino3D) is a commercial 3D computer graphics
and computer-aided design (CAD) application software developed by Robert McNeel &
Associates. The Rhinoceros geometry is based on the NURBS mathematical model, which
focuses on producing a mathematically precise representation of curves and freeform surfaces
in computer graphics (as opposed to polygon mesh-based applications). Rhinoceros is
available for Microsoft Windows and OS X. A visual scripting language add-on for Rhinoceros
– Grasshopper - is developed by Robert McNeel & Associates.
McNeel Rhinoceros software requires a separate license.
2.1 Grasshopper
Grasshopper is a graphical algorithm editor for Rhinoceros’s 3-D modeling tools. Since version
6 of Rhinoceros, Grasshopper is included in the installation package.
A canvas (to place the visual script) and ribbons are the main two sections of the applications.
The visual script creates or utilizes data in Rhinoceros, which is maintained by a live link.
Start Grasshopper
Grasshopper window
Grasshopper canvas
4
SOFiSTiK (2019)
5
SOFiSTiK (2019)
The components create the necessary data (text file based on CADINP) in Grasshopper for
the generation of the model in SOFiSTiK. Moreover, they are maintaining - by producing the
input file - the link between Grasshopper and SOFiSTiK. The components including
instructions and examples are available at https://github.com/SOFiSTiK.
These components create the CADINP data based on Grasshopper objects (point, area, line)
with given parameters and values (e.g., point load force as a vector). This data is similar to
using CADINP as built-in pre-processor in SOFiSTiK.
6
SOFiSTiK (2019)
7
SOFiSTiK (2019)
1 - Boundary curves for the free-form surface are created in Rhino3D. The surface is created
in Grasshopper.
8
SOFiSTiK (2019)
2 – Created surface is cut with a cylinder created with parametric values for center and size in
Grasshopper.
9
SOFiSTiK (2019)
6 – Created loads can be converted to a Teddy (CADINP) task as the model might need to be
re-generated (if SOFIPLUS is not capable of meshing complex Rhinoceros geometries (Breps-
surfaces)).
10
SOFiSTiK (2019)
7 – Finally as all the needed geometry and load data is written into the database, the design
can be processed further in SOFiSTiK Structural Desktop with standard workflow and tasks as
usual.
11
SOFiSTiK (2019)
SOFiSTiK data generated from Rhinoceros Line with component and manually.
Axes are fundamental elements in bridge design. Either as a road alignment or structural
component alignment (along the variables and/or the prestressing are defined). Axes can be
parametrized by using Grasshopper components to describe the geometry. Alternatively, an
external geometry can be imported into Rhinoceros and used as an axis. When this external
geometry is updated (modified in Rhinoceros) all the referred/linked data change respectively.
Rhinoceros Grasshopper
External curve defined to an axis and data generated by SOFiSTiK component. Variables
(Support Stations) defined along the axis stations.
12
SOFiSTiK (2019)
5.2 Loads
SOFiSTiK components in Grasshopper provide a straightforward way to take advantage of the
complex geometries for load definitions. Point-, area- and line-loads can be placed on elements
in the structure and case of modification of structure geometry. The data defined for the load’s
changes respectively.
Area load is given for the complex area element with SOFiSTiK area load component (see 4.1)
13
SOFiSTiK (2019)
For areas (QUAD elements) it is easy to define thickness directly despite the components or
direct scripting is used. Naturally, the property selection of the standard components is limited
and depending on the required input; the user shall find the most convenient way (e.g. for
orthotropy or other advanced requirements).
Thickness for the area element given in the SOFiSTiK Structural Area component
14
SOFiSTiK (2019)
As all the tasks in SOFiSTiK Structural Desktop are convertible to CADINP tasks (see right-
mouse click menu for all tasks in SOFiSTiK Structural Desktop) those can be created directly
in Grasshopper, or any pre-processing tool user finds most effective (like REVIT or AutoCAD).
As the tasks are possible to be generated by the parametric pre-processing tool, those can
also be fully parameterized. The degree of parametrization is entirely up to the user. It can be
a simple text block (even as copy-paste from EXCEL) or an advanced format that is being
interpreted.
15
SOFiSTiK (2019)
Typical applications
The parametrization of the project and the whole workflow can be custom written and
configured for different complexities and types of structures. Scripting allows for dynamic,
instantaneous changes which are reflected graphically. Analysis and designs are an iterative
process. Moreover, this is where the benefit comes in for repetitive tasks and assessing design
options very quickly.
Based on the above information the full calculation model can be created.
16
SOFiSTiK (2019)
Visualization of the calculation model with 4-span / 8 girder continuous Super-T superstructure
generated based on only on the data given as described below.
17
SOFiSTiK (2019)
18
SOFiSTiK (2019)
Automated design templates can include SOFiSTiK features depending on the task at hand.
Typically checks to SLS and ULS as per your country code.
Concrete Stresses t=oo at the girder top/bottom + at the top of the concrete slab.
SOFiSTiK automatically generates the calculation report for documentation (model properties,
prestressing data, …)
19
SOFiSTiK (2019)
Bridge structures parametrized on external geometry axis reacting to all changes in the
geometry axis.
20
SOFiSTiK (2019)
Open data also makes it possible to use the information for different applications. Plenty of
third-party applications are available to extend Grasshoppers capabilities.
The created data can fulfill the requirements of the information modeling and the input data for
SOFiSTiK analysis is completely based on user decision.
Conclusion
Amongst others, the advantage of having a smart API (a programming interface) and an even
smarter script interface gives all users the opportunity for feeding SOFiSTiK with analysis data
from various tools. As SOFiSTiK itself is fully parametric already - Grasshoppers seems to be
an ideal, powerful and rather easy to learn and most of all a neutral data format. It is in line
with the general BIM approach; it can be combined with other BIM platforms like REVIT (and
its equivalent DYNAMO). There are third party platforms (e.g. https://speckle.works) offering
such an data exchange.
21