0% found this document useful (0 votes)
556 views22 pages

Parametric - Modeling - and - Design - Combining SOFiSTiK - and - Grasshopper PDF

Uploaded by

Gustavo Solar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
556 views22 pages

Parametric - Modeling - and - Design - Combining SOFiSTiK - and - Grasshopper PDF

Uploaded by

Gustavo Solar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 22

Berechnungsmodelle erstellen Inhaltsverzeichnis

SOFiSTiK & Grasshopper


Parametric Modeling and Design combining
SOFiSTiK and Grasshopper.

7 steps to explain the principles of


parametric data preparation - from simple cases to multiple T beam
bridges.
The workflow explains how to use the visual programming tool Grasshoppers
for Rhinoceros to create analytical models for SOFiSTiK.

BIM in a neutral format! Possible extension to 3D modeling in other platforms


such as REVIT and TEKLA.

i
SOFiSTiK (2019)

Parametric Modeling and Design combining SOFiSTiK and Grasshopper

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)

Parametric Modeling and Design combining SOFiSTiK and Grasshopper

Contents
SOFiSTiK Program Structure...................................................................3
1.1 Teddy – CADINP.................................................................................................. 3

Rhinoceros ................................................................................................ 4
2.1 Grasshopper ........................................................................................................ 4

SOFiSTiK Workflows Utilizing Rhinoceros............................................. 5


3.1 Rhinoceros Interface ............................................................................................ 5
3.2 Grasshopper Interface.......................................................................................... 5
3.2.1 Grasshopper Components ................................................................................... 6
3.2.2 Grasshopper CADINP Scripting ........................................................................... 7

User Interface Interoperability .................................................................8


4.1 Workflow Utilizing Rhinoceros, Grasshoppers, SOFIPLUS and TEDDY - 7 steps
…………….to follow. .............................................................................................................. 8

SOFiSTiK with direct Grasshopper data generation ........................... 11


5.1 Geometry generation.......................................................................................... 11
5.2 Loads ................................................................................................................. 13
5.3 Cross sections properties ................................................................................... 14

SOFiSTiK Analysis and Design ............................................................. 15

Typical applications ............................................................................... 16


7.1 Standard Bridges ............................................................................................... 16
7.2 External References for Bridge Alignment .......................................................... 20

Conclusion .............................................................................................. 21

ii
SOFiSTiK (2019)

Parametric Modeling and Design combining SOFiSTiK and Grasshopper

SOFiSTiK Program Structure


The core of the SOFiSTiK product line is the central database (CDB). A set of program
modules, which are addressed by standard text files or by graphical user interfaces,
interchange all their information through the database. SOFiSTiK Structural Desktop (SSD)
handles this set of program modules and most of the interactions in-between.
For pre-processing the user may pick between SOFiPLUS(-X) (AutoCAD based graphical
interface), FEA Extension for Autodesk Revit, Rhinoceros Interface or Teddy text input. Each
of these pre-processing methods comes with its strengths and can also be used together and
controlled via SOFiSTiK Structural Desktop.

SOFiSTiK program structure

1.1 Teddy – CADINP


The most comprehensive pre-processing method of SOFiSTiK is CADINP. It is a
straightforward programming language which comes beside common commands with
variables, loops, and expressions. The available text editor Teddy supports the user creating
the input as well as controlling the different program modules. CADINP can be used as a sole
input method as well as in combination with other SOFiSTiK pre-processing applications.

3
SOFiSTiK (2019)

Parametric Modeling and Design combining SOFiSTiK and Grasshopper

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

Grasshopper within Rhinoceros

4
SOFiSTiK (2019)

Parametric Modeling and Design combining SOFiSTiK and Grasshopper

SOFiSTiK Workflows Utilizing Rhinoceros


The SOFiSTiK Rhinoceros Interface is an extension to the 3D NURBS modeler Rhinoceros.
It provides functionalities to create a finite element model straightforward from Rhinoceros to
analyze it in SOFiSTiK FEA. Analytical properties such as material, cross-sections or boundary
conditions can be assigned to Rhinoceros-objects. The finite element model can be generated
directly within Rhinoceros through the SOFiSTiK toolbar. The toolbar also provides access to
SOFiSTiK programs such as SOFiSTiK Structural Desktop, Teddy, Animator and Wingraf.

3.1 Rhinoceros Interface


The Rhinoceros-Interface includes functionalities to create elements such as points, lines,
areas and couplings for the analytical model.

Rhinoceros view for the SOFiSTiK mesh

Rhinoceros Interface provides a direct workflow from Rhinoceros geometries to SOFiSTiK


analytical models without any need of scripting. Its functionalities are limited to the geometry,
but the workflow can easily be combined with the built-in AutoCAD based modeler SOFiPLUS
(geometry, load and axis definitions).

3.2 Grasshopper Interface


The Rhinoceros-Interface can be combined/supplemented with Grasshopper. Elements
created in Grasshopper can be “baked” into Rhino (create Rhino object from Grasshopper
object) and used further as a Rhinoceros object (meshing + generate elements into SOFiSTiK).
As the elements are “baked” from Grasshopper to Rhinoceros, the link between both
applications is disconnected. Any further updates in Grasshopper must be updated by re-
baking the model. To maintain the link between parametrization and analysis - direct scripting
from Grasshopper to SOFiSTiK is recommended.

5
SOFiSTiK (2019)

Parametric Modeling and Design combining SOFiSTiK and Grasshopper

3.2.1 Grasshopper Components


SOFiSTiK has developed components for Grasshopper, which are free to download and use.
The components are being published under the MIT-License agreement, which allows to use
the software also in commercial use cases.

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.

SOFiSTiK Grasshopper components

The following components are available:

Generate Project File

Create Geometric axis

Generate loads (load case number, area-,


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

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.

SOFiSTiK Grasshopper components in use.

6
SOFiSTiK (2019)

Parametric Modeling and Design combining SOFiSTiK and Grasshopper

3.2.2 Grasshopper CADINP Scripting


As the components create standard CADINP data, it is also possible to generate native data
directly in Grasshopper by scripting (Python, C#, VB) or more user-friendly - without
programming language knowledge - with Grasshopper built-in components. Direct scripting is
an easy getting started for users well familiar with CADINP.

7
SOFiSTiK (2019)

Parametric Modeling and Design combining SOFiSTiK and Grasshopper

User Interface Interoperability


As the Rhinoceros Interface or provided Grasshopper components do not fill the toolbox
required for analysis and design tasks, other SOFiSTiK post-processor can and shall be used.
Interoperability between the applications depends on the origin of the model as well as the
generation procedure. Moreover, is not completely covered for all functions and all cases.
However, a workflow can be established based on best tool practice.
The strength in the open data generation and multiple user interfaces is that the work can be
done with the best tool/application dependent on the task.

4.1 Workflow Utilizing Rhinoceros, Grasshoppers, SOFIPLUS and


TEDDY - 7 steps to follow.

1 - Boundary curves for the free-form surface are created in Rhino3D. The surface is created
in Grasshopper.

8
SOFiSTiK (2019)

Parametric Modeling and Design combining SOFiSTiK and Grasshopper

2 – Created surface is cut with a cylinder created with parametric values for center and size in
Grasshopper.

3 – Geometry is baked (export data/geometry from Grasshopper to Rhinoceros) to Rhinoceros.


Properties for the boundary lines and the area is given by the SOFiSTiK Rhinoceros-Interface”
and

4 - the model (FE-mesh) is generated directly in Rhinoceros.

9
SOFiSTiK (2019)

Parametric Modeling and Design combining SOFiSTiK and Grasshopper

5 – Model is imported in SOFIPLUS, supplemented with loads and regenerated.

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)

Parametric Modeling and Design combining SOFiSTiK and Grasshopper

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.

SOFiSTiK with direct Grasshopper data generation


When starting a new project with SOFiSTiK, the initial information is defined by selecting the
design standard for the project. Also, the information based on standard libraries (materials,
prestressing systems, cross-sections) is usually specified at the very beginning – despite the
selected pre-processing system. This information is typically given in SOFiSTiK Structural
Desktop when starting a new project.

5.1 Geometry generation


Point, line and area objects, defined directly in Rhinoceros or Grasshopper, can be used for
SOFiSTiK geometry objects. Data can be generated for SOFiSTiK by the Rhinoceros-Interface
but also straight from Grasshopper. The workflow from Grasshopper can utilize SOFiSTiK
components, that includes inputs for typically requested data to create the FE-mesh. The user
can also create the required data by manual definition/scripting. Manual scripting allows the
user to access all features included in SOFiSTiK (CADINP).

11
SOFiSTiK (2019)

Parametric Modeling and Design combining SOFiSTiK and Grasshopper

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)

Parametric Modeling and Design combining SOFiSTiK and Grasshopper

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)

Parametric Modeling and Design combining SOFiSTiK and Grasshopper

5.3 Cross sections properties


Cross sections for beam elements can be selected from the SOFiSTiK section library (in
SOFiSTiK Structural Desktop), by using other standard cross sections (in SOFiSTiK Structural
Desktop or easily with CADINP scripting) or defining solid or thin-walled section by the user. A
combination of several AQUA program is also possible. The user is free to select the most
convenient way to make the definitions available for SOFIMSHA/C before the meshing. Cross
sections from other projects, databases and library can be imported too.

Import cross sections from another database.

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)

Parametric Modeling and Design combining SOFiSTiK and Grasshopper

SOFiSTiK Analysis and Design


As the data is produced and imported in SOFiSTiK Structural Desktop, the user can follow the
default workflows of SOFiSTiK. All templates, practices scripts, used in the typical workflow,
are valid and usable.
The parametrically produced data in Grasshopper can be streamed into the project folder, and
automatically included in SOFiSTiK (#include +filename … these are specific SOFiSTiK Teddy
commands) so that the latest data is available at any time. It is to be remembered that it is the
users responsibility to control the data updates, especially when the updates are not wanted.
In Grasshopper, the folder to stream data is a direct definition. Copying scripts from previous
projects also includes the data streaming to the defined folders/files (overwrites the old data
automatically).

Geometry model defined in Grasshopper and imported to the SOFiSTiK.

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)

Parametric Modeling and Design combining SOFiSTiK and Grasshopper

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.

7.1 Standard Bridges


Different countries have different typical or standard bridge types. In the example below, the
Australian PSC Super-T Girders is used.

The user defines the vertical geometry of the


bridge and the supports as a station on that
axis.

The user provides Bridge basic information


- Overhang
- The thickness of the asphalt layers
- Number of the girders
- Length of the solid girder at the end
- The gap between the girder (at
support)
- Deck slab thickness
- Pre-defined girder type (inc.
geometry + cross-sectional
properties)
- Girder spacing

Based on the above information the full calculation model can be created.

16
SOFiSTiK (2019)

Parametric Modeling and Design combining SOFiSTiK and Grasshopper

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.

Data generation to SOFiSTiK can also be automatized through


Grasshopper. Here all the prestressing data has been provided
including:
- Strand area and steel grade
- Stress for prestressing
- Construction stage for prestressing
- Loadcase for prestressing
- Number of the strands for each layer
- Strand layers (distance from bot or top)
- Sleeve length for each strand group.

Based on the data mentioned above the entire calculation model is


created for SOFiSTiK. The workflow includes geometry, cross-
sectional properties and prestressing as well as construction stages.
Additional loads can be added/modified for every single load case in
SOFiSTiK Structural Desktop. Traffic loader can be used for live load
effect analysis, and standard design features can be automatically
used.

17
SOFiSTiK (2019)

Parametric Modeling and Design combining SOFiSTiK and Grasshopper

SOFiSTiK model corresponds precisely to the model geometry.

Construction stages are scripted in to be considered automatically: Girder DL / Prestressing /


Creep and Shrinkage / deck concreting / asphalt layers / final creep and shrinkage.

18
SOFiSTiK (2019)

Parametric Modeling and Design combining SOFiSTiK and Grasshopper

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.

Automated capacity checks according to the design standard (Md / Mu)

SOFiSTiK automatically generates the calculation report for documentation (model properties,
prestressing data, …)

19
SOFiSTiK (2019)

Parametric Modeling and Design combining SOFiSTiK and Grasshopper

7.2 External References for Bridge Alignment


Existing scripts can be reused, updated and modified. The full geometry information available
provides the designer with the possibility to use the same accurate data for global and local
analysis models, for beam, shell or volume elements, just as the designer wants to the
structural analysis. Users are also able to optimize their workflows creating components,
clusters and templates.

External geometry Geometry read to bridge axis.


Typical challenges are in information modeling related bridge projects, where the geometries
might be tricky and prone for adjustments at a later stage of the project.

Bridge structures parametrized on external geometry axis reacting to all changes in the
geometry axis.

Calculation models can be automatized to follow updated geometry.

20
SOFiSTiK (2019)

Parametric Modeling and Design combining SOFiSTiK and Grasshopper

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

You might also like