# Grasshopper

- 3D Grid from Surface
- Attractors
- Basic Data Tree Actions
- Basic Principles Explained
- Brick wall
- Clusters and Hops
- Creating Grids
- Curve Regions
- Door and Window
- Elk with grasshopper
- Fractal Canopy
- Galapagos Optimization
- Installing and using Grasshopper Plugins
- Ladybug Light Analysis
- Ladybug Optimization using Galapagos
- Making Graphs
- Move a Cube
- Populate Surface
- Python Algorithm
- Python Stairs
- Railing
- Ramp Easy
- Ramp Intermediate
- Random Points On Surface
- Roof with Holes
- Rotating Tower
- Space Frame
- Stairs Easy
- Stairs Intermediate
- Stepped Topography
- Surface Manipulation
- Surfaces
- Time Based Modelling - Jumping Ball

For designers who are exploring new shapes using generative algorithms, Grasshopper is a graphical algorithm editor tightly integrated with Rhino’s 3D 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.

## What is Grasshopper?

Grasshopper (GH) is a programming interface for designers. Instead of using programming languages, it uses a lego-like interface. However, similar results to programming code can be achieved. Using simple blocks, a designer can easily create parametric designs. More than a tool or software, Grasshopper represents a way of thinking for design issues, a ‘method’ called Parametric or Associative these days.^{[1]} To put it more simple: Grasshopper's ease of use enables architects to play with the concept of Parametric or Associative design without the need to be an expert in scripting/programming. Therefore architects can focus on the "why" instead of the "how". Grasshopper is developed by McNeel and is built into Rhinoceros.

## Basic understanding of Grasshopper

The core feature of grasshopper is its components. The components are the building-blocks for your model. Each component consists of two or three elements:

- One or more inputs
- The action; what it does with the input
- One or more outputs

There are different types of components in Grasshopper panels or components menu which are available. You can find them under ten different tabs called: Params, Maths, Set, Vector, Curve, Surface, Mesh, Intersect, Transform and Display. Each tab has multiple panels and different objects, and commands are sorted between these panels. There are objects in these panels to draw geometry like lines and circles and there are also lots of commands to move, scale, divide and deform these geometries. So some objects draw geometry and generate data, some of them manipulate the already existing geometry or data. Parameters are objects that represent data, like a point or line. Components are objects that do actions like move, copy, and add. Even more components can be added by installing various for grasshopper.

Using the in- and outputs the components can be linked together forming a larger network. The canvas in Grasshopper is a visual representation of components used and their internal relation. It can be compared to writing a script, but with the use of predefined sets of code. This is called visual programming. It is more sensible and usable in designer's hands. The network always works downstream.

### Getting Started

The following pages will give you a short overview of how grasshopper works:

For a more in depth explanation on specific topics, you can use our grasshopper topics overview:

## Tutorials

To get started with grasshopper, after reading the Getting Started chapter explanations, you can continue with one of the tutorials. We recommend you to read the intermezzos when you have finished the prior tutorial.

### Beginner

*//Intermezzo: Modules*

*//Intermezzo: Points, Curves, Surfaces and Solids*

*//Intermezzo: Help! My script doesn't work!*

*//Intermezzo: Basic List Actions*

*//Intermezzo: Grasshopper "Good Practice"*

### Intermediate

*//Intermezzo: Data Tree Editing*

*//Intermezzo: Basic Data Tree Actions*

### Advanced

- Tutorial 17 - Populate Surface
- Tutorial 18 - 3D Grid from Surface
- Tutorial 19 - Brick wall
- Tutorial 20 - Attractors
- Tutorial 21 - Spaceframe
- Tutorial 22 - Galapagos Optimization

### Master

### GHPython

- How to use GhPython?
- Python Algorithm (Collatz Conjecture)
- Python Stairs
- Fractal Canopy
- Installing Python modules for IronPython 2.7

### Plugins

- Installing and using Grasshopper Plugins
- Ladybug Installation
- Ladybug Light Analysis
- Ladybug Optimization using Galapagos
- Speckle - Working together in Grasshopper
- Elk with grasshopper

## Books / Recommended reading

The field of generative design is developing very quickly. If you are interested, there are many interesting blogs and websites you can check out:

** AAD_ Algorithms Aided Design **
Parametric strategies using Grasshopper, an explanatory Grasshopper book written by Arturo Tedeschi. Available in several online webshops.

TU Delft Library for loan

Buy at Bol.com

** Essential Mathematics **
Essential Mathematics for Computational Design introduces design professionals to foundation mathematical concepts that are necessary for effective development of computational methods for 3D modeling and computer graphics.

Download Essential Mathematics

** Generative Algorithms **
Zubin Khabazia, a graduate student from EmTech, Architectural Association (AA), London, has published an on-line book of his design experiments in architecture and related fields in geometry.

Download Generative Algorithms

## Other Links

**Food4Rhino**
Collection of the most used Grasshopper and Rhino plugins.

**McNeel Forum**
McNeel Forums where you can ask questions and solve problems with other people all around the world.

**Karamba3D**
Karamba 3D is a parametric engineering plugin for Grasshopper

**@Hok TU Delft** @Hok ICT support for student of TU Delft, including manuals about installing Rhino, Karamba and Grasshopper.

- ↑ Generative Algorithms, Zubin Khabazi, page 11