Table of Contents

Grasshopper for New Users

What is Grasshopper?

From grasshopper.com: “Grasshopper® is a graphical algorithm editor tightly integrated with Rhino’s 3-D modeling tools. Unlike RhinoScript, Grasshopper requires no knowledge of programming or scripting, but still allows designers to build form generators from the simple to the awe-inspiring.” It allows geometric operations to be automated and programmed for design exploration.

Through its support of plug-ins, Grasshopper can also be extended to automate other processes that operate on geometry. Intact.Simulation for Grasshopper is just one example of these types of extensions.

Blocks

Blocks in Grasshopper represent data (numbers, text, geometry) or processes that operate on data. (In Grasshopper parlance, the more proper term is “Components.” We use the term “Blocks” to distinguish them from Intact.Simulation Components which are solids to which a material is assigned for simulation.)

Connectors

Connectors define the flow of data from the output of one block into the input of another. Connectors are inserted by clicking and dragging from the output node of one block to the input node of another - clicking and dragging in the opposite direction works as well. Connectors may be deleted by right-clicking on a node's label and choosing Disconnect.

Data Types

Grasshopper supports a wide range of data types. Here we'll only cover the basic types that are used by Intact.Simulation.

Entering Numbers

Integers:  /Params\ --> Primitive --> <7> --> RMB on Number block --> Set Integer
Reals:  /Params\ --> Primitive --> <0.1> --> RMB on Number block --> Set Number
Slider:  /Params\ --> Input --> <Slider> --> RMB on Slider block --> Set Slider parameters
Integer Shortcut / Slider: DLMB on canvas --> Keyword search --> enter integer
Real Shortcut / Slider: DLMB on canvas --> Keyword search --> enter real with decimal point
Shortcut: RMB on block input label --> enter number

Entering Vectors

Vector block: /Params\ --> Geometry --> <Vector> --> RMB on Vector block --> Set one Vector (in Rhino) --> Follow Rhino prompts
By components: /Vector\ --> Vector XYZ --> Specify vector components on Vector block inputs
Shortcut: RMB on vector input label --> Set one Vector (in Rhino) --> Follow Rhino prompts

Entering Lines

Line block: /Params\ --> Geometry --> <Line> --> RMB on Line block --> Set one Line (in Rhino) --> Follow Rhino prompts
Shortcut: RMB on line input label --> Set one Line (in Rhino) --> Follow Rhino prompts

Entering Surfaces, Breps, Meshes

Surface block: /Params\ --> Geometry --> <Surface> --> RMB on Surface block --> Set one Surface (in Rhino) --> Follow Rhino prompts
Brep block: /Params\ --> Geometry --> <Brep> --> RMB on Brep block --> Set one Brep (in Rhino) --> Follow Rhino prompts
Mesh block: /Params\ --> Geometry --> <Mesh> --> RMB on Mesh block --> Set one Mesh (in Rhino) --> Follow Rhino prompts
Shortcut: RMB on geometry input label --> Set one Geometry / multiple Geometries (in Rhino) --> Follow Rhino prompts

Creating Lists

Some Intact.Simulation blocks accept lists as input. For example, Intact.Simulation can operate on bonded assemblages of components, or multiple loads may be applied in a simulation. Lists can be created in the following ways:

"Flat" tree: /Sets\ --> Tree --> Merge block --> Connect multiple inputs to Merge block
Shortcut: Hold shift while connecting blocks to list input