# Grasshopper

- Generic Solutions in Grasshopper
- Grasshopper Attractors
- Grasshopper Basic List Actions
- Grasshopper Data Item editing
- Grasshopper Surface Manipulation
- Parametrize a Rhino model using Grasshopper
- Tutorial 0 - Basic Principles Explained
- Tutorial 1 - Rotating Tower
- Tutorial 2 - Surface Manipulation
- Tutorial 3 - Populate Surface
- Tutorial 4 - Fabrication
- Tutorial 5 - Creating Grids
- Tutorial 6 - Brick wall
- Tutorial 7 - Attractors
- Tutorial 8 - Random Points On Surface

For designers who are exploring new shapes using generative algorithms, 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.

## What is Grasshopper?

Grasshopper (GH) is a programming interface for designer. Instead of using programming languages, it uses a lego-like interface. Using simple lego blocks, a designer can easily create parametric designs. GH is fast growing to become an important platform for architects and designers to experiment with new ways of representing design ideas. More than a tool or software, it presents 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 as a plug-in for Rhinoceros.

### Development

Since Grasshopper is still a work-in-progress project, and will stay like this for some time, this information will be updated regularly. Although some of the articles and tutorials might be created using an older than current version the overall idea remains the same.

## Basic understanding of Grasshopper

The core feature of grasshopper are 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, Logic, Scalar, Vector, Curve, Surface, Mesh, Intersect, XForm and Complex. 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, rescale, 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 but more visual which makes it more sensible and usable in designer's hand. The network always works downstream.

This is a short overview of how grasshopper works. For a more in depth explanation:

## Tutorials

To get started with grasshopper, after reading the Getting Started with Grasshopper, you can continue with one of the tutorials.

- Tutorial 0 - Basic Principles Explained
- Tutorial 1 - Rotating Tower
- Tutorial 2 - Surface Manipulation
- Tutorial 3 - Populate Surface
- Tutorial 4 - Fabrication
- Tutorial 5 - Creating Grids
- Tutorial 6 - Brick wall
- Tutorial 7 - Attractors
- Tutorial 8 - Random Points On Surface

### Download Grasshopper

You can download grasshopper for from the Official Grasshopper website. This site also offers a lot of tutorials, forums and links to other websites.

## Course Material Levels Grasshopper

**INTRODUCTORY**: Introducing basic concepts of Grasshopper, such as:

- Terminology
- Interface & Navigation
- Simple Setup of Definitions

**BEGINNER**: Learning materials cover all basic concepts of Grasshopper without great depth, such as:

- Basic Geometry (such as Points, Curves, Surface, Breps)
- Transformations
- Data Trees Explanation

**INTERMEDIATE**: Learning materials cover intermediate concepts of Grasshopper both in breadth and depth.

- Complex Geometry (more complexity than Basic Geometry)
- Parametric Relations (Attractor and Distance-based)
- Data Trees Manipulation

**ADVANCED**: Learning materials cover advanced concepts of Grasshopper, including:

- Complex Geometry (more complexity than at Intermediate Level)
- Analysis
- Parametric Relations (Performance-based)
- Rationalization & Optimization
- Data Trees Coupling

**MASTER**: Learning materials cover concepts of Grasshopper at the level of the Master-Thesis, including:

- Complex Geometry (more complexity than at Advanced Level)
- Simulation
- Advanced Data Extraction
- Computational Intelligence
- Exchange of Data using other Softwares (such Revit, ModeFrontier, Finite Element Analysis & Light Simulation Analysis Software, etc.)

## 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:

** Grasshopper Primer **
Lift Architects have written an excellent tutorial, becoming the de facto starting point for anyone wanting to use grasshopper.
Download from: Lift Architects

** 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 from: 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 from: Generative Algorithms

### Other Links

**Digitaltoolbox**
Website with many rhino and grasshopper (video) tutorials

** Modelab**
modeLab is the collective research entity of
Studio Mode. It is conceived of as an open-laboratory and serves as a knowledge base for design research and experimentation. The laboratory is distributed in nature and operates across multiple time-scales and locations ranging from intensive workshops to design studios throughout North America and Europe.

** Grasshopper Visual Introduction **
Webcasts introducing Grasshopper

** Geometry Gym **
A weblog focusing on the integration of grasshopper with structural design software such as GSA (by Arup) and SEP2000.

** DesignReform**
Website of David Fano, Adjunct Professor at Columbia University’s Graduate School of Architecture, Planning, and Preservation teaching Meshing, Re-thinking BIM, and Orchestration, focused on exploring how technology can transform design processes. Primarily this site is a place for students and professsionals to download free tutorials and content on Grasshopper, Revit, and many other programs.

** Kangaroo **
Kangaroo is an extension of grasshopper, allowing for very cool physics like simulations, such as surface relaxation, inflatable architecture and many more exciting developments.
Kanagaroo website
Kanagaroo blog

**UTO**
Blog about the integration of grasshopper with the Autodesk Ecotect Analysis software, for analysis on enegergetic performance of buildings.

**Giulio Piacentino** Experiments by TU Delft graduate Giulio Piacentino

### Blogs

- ↑ Generative Algorithms, Zubin Khabazi, page 11