Grasshopper 3D - WordPress.com › 2019 › 11 › … · Introduction I Grasshopper 3D I tutorial...

29
Grasshopper 3D ADD - An introduction to parametric modelling using the Grasshopper plug-in for Rhino3D 20/11/2019 PhD candidate and researcher at CPU-Lab By Mahmud Tantoush

Transcript of Grasshopper 3D - WordPress.com › 2019 › 11 › … · Introduction I Grasshopper 3D I tutorial...

Page 1: Grasshopper 3D - WordPress.com › 2019 › 11 › … · Introduction I Grasshopper 3D I tutorial I QA 1- Connect the output curve to a surface container. This will make the curve

Grasshopper 3DADD - An introduction to parametric modelling using the Grasshopper plug-in for Rhino3D20/11/2019

PhD candidate and researcher at CPU-Lab

By Mahmud Tantoush

Page 2: Grasshopper 3D - WordPress.com › 2019 › 11 › … · Introduction I Grasshopper 3D I tutorial I QA 1- Connect the output curve to a surface container. This will make the curve

2 GRASSHOPPER 3D20/11/2019

Lesson breakdown• Introduction

- What is Grasshopper?• Parametric modelling

- Grasshopper interface - How to use the grasshopper components - making scripts to solve architectural problems

• What can you achieve? - Grasshopper as a design tool - Grasshopper outputs?

• Grasshopper 3D tutorial - linking GH to Rhino - making NURBS surfaces - moving and rotating geometry - Box Morph - Baking geometry

• Questions and answers

Page 3: Grasshopper 3D - WordPress.com › 2019 › 11 › … · Introduction I Grasshopper 3D I tutorial I QA 1- Connect the output curve to a surface container. This will make the curve

Introduction to Grasshopper User interface and how to use

Grasshopper components

Page 4: Grasshopper 3D - WordPress.com › 2019 › 11 › … · Introduction I Grasshopper 3D I tutorial I QA 1- Connect the output curve to a surface container. This will make the curve

4 GRASSHOPPER 3D20/11/2019

Introduction I Grasshopper 3D I tutorial I Q&A

What is Grasshopper 3D ?

Page 5: Grasshopper 3D - WordPress.com › 2019 › 11 › … · Introduction I Grasshopper 3D I tutorial I QA 1- Connect the output curve to a surface container. This will make the curve

5 GRASSHOPPER 3D20/11/2019

Introduction I Grasshopper 3D I tutorial I Q&A

Opening Grasshopper 3D

Rhino 6 has grasshopper already installed. You can open the grasshopper plugin by:

1- clicking on the grasshopper icon

2- Run it through the command prompt in rhino: _Grasshopper

3- grasshopper programming interface then pops up

12

3

Page 6: Grasshopper 3D - WordPress.com › 2019 › 11 › … · Introduction I Grasshopper 3D I tutorial I QA 1- Connect the output curve to a surface container. This will make the curve

6 GRASSHOPPER 3D20/11/2019

Introduction I Grasshopper 3D I tutorial I Q&A

How does it work ?

Geometry from grasshopper are only representations in Rhino.

Grasshopper 3d

Rhino 3d

The grasshopper in-terface is where you code, the geometry is then visualised in the Rhino pro-gramme.

Page 7: Grasshopper 3D - WordPress.com › 2019 › 11 › … · Introduction I Grasshopper 3D I tutorial I QA 1- Connect the output curve to a surface container. This will make the curve

7 GRASSHOPPER 3D20/11/2019

Introduction I Grasshopper 3D I tutorial I Q&A

Grasshopper nodes

INPUT 1

INPUT 2

OUTPUT

INSTRUCTIONSGrasshopper nodes usually accept one or more inputs. A function is then applied to those inputs resulting in an out-put.

Please see this example. The node called “multiplication” takes two number inputs and outputs the result by multiply-ing them.

Page 8: Grasshopper 3D - WordPress.com › 2019 › 11 › … · Introduction I Grasshopper 3D I tutorial I QA 1- Connect the output curve to a surface container. This will make the curve

8 GRASSHOPPER 3D20/11/2019

Introduction I Grasshopper 3D I tutorial I Q&A

Node status

The colour of the nodes can change to indicate an error or warnings. Please look at the following examples and see how the colour of the nodes change when the inputs do not match what is required.

CORRECT STATUS

WARNING STATUS ERROR STATUS

Such as missing data, also orange con-nection means no data is flowing

Such as incorrect data input

Page 9: Grasshopper 3D - WordPress.com › 2019 › 11 › … · Introduction I Grasshopper 3D I tutorial I QA 1- Connect the output curve to a surface container. This will make the curve

9 GRASSHOPPER 3D20/11/2019

Introduction I Grasshopper 3D I tutorial I Q&A

Disabling and pre-viewing nodes

By right clicking ion the nodes, you can enable or disable Preview of geom-etry in Rhino, or dis-able the node en-tirely

Now lets try this with a 3d box node in grasshopper...

PREVIEW ON PREVIEW OFF

DISABLED NODE

Enables preview of geometry in rhino

Disables preview of geometry in rhino but retaining function

Shut off node completely preventing data flow.

Page 10: Grasshopper 3D - WordPress.com › 2019 › 11 › … · Introduction I Grasshopper 3D I tutorial I QA 1- Connect the output curve to a surface container. This will make the curve

10 GRASSHOPPER 3D20/11/2019

Introduction I Grasshopper 3D I tutorial I Q&A

Single and list inputs

Some Grasshopper nodes accept lists as input. Please look at the differences between lists and single list inputs. If the lists do not have the same size, grasshopper will apply the additional items in the longest list multiple times to the last item of the shortest list.

SINGLE INPUTS SINGLE INPUT AND LIST INPUT

TWO LIST INPUTS

Direct multiplication Double multiplication

Multiplication with corresponding items

Page 11: Grasshopper 3D - WordPress.com › 2019 › 11 › … · Introduction I Grasshopper 3D I tutorial I QA 1- Connect the output curve to a surface container. This will make the curve

11 GRASSHOPPER 3D20/11/2019

Introduction I Grasshopper 3D I tutorial I Q&A

Connecting nodes to create a parametric script

A series of logically connected nodes make up a generative scripts. This geometry can be controlled by changing the initial starting points/conditions and parameters in the script. Parametric modelling can help you explore multiple design options with clear and logical rules and parameters.

OUTPUT

Page 12: Grasshopper 3D - WordPress.com › 2019 › 11 › … · Introduction I Grasshopper 3D I tutorial I QA 1- Connect the output curve to a surface container. This will make the curve

Why use GrasshopperGrasshopper is the most popular parametric design tool. Parametric design is a skill that requires a different way of thinking that can help

you solve problems in new ways

Page 13: Grasshopper 3D - WordPress.com › 2019 › 11 › … · Introduction I Grasshopper 3D I tutorial I QA 1- Connect the output curve to a surface container. This will make the curve

13 GRASSHOPPER 3D20/11/2019

Introduction I Grasshopper 3D I tutorial I Q&A

You can use grasshopper to design complicated diagrams that are visually pleasing and highly informative. A diagram like this is difficult to get right manually and will take up a lot of time.

For diagrams

By Author

UTILITIES GO

VERN

ME

NT R

ES

IDEN

TIAL COMMERCIAL INDUSTRIAL

TRA

NSP

OR

T

MIS

CELLA

NEOUS

17

RELATIONAL DIAGRAM

SimCity consisted of multiple aspects which formed a city. Each of player’s action will cause a chain re-action from one aspect to another aspect. It will be a challenge for the player to balance the necessity needed by every aspect of the game.

For example, location of industrial zoning will greatly affect the growth of the city. If the zoning of industrial is made within the pathway of natural wind direction, it may pollute the whole city. The effect? Health of Sims depleted, population happiness decreased, and eventually they will leave the city.

02 All the aspects in SimCity are related to each other in a complex manner.

Page 14: Grasshopper 3D - WordPress.com › 2019 › 11 › … · Introduction I Grasshopper 3D I tutorial I QA 1- Connect the output curve to a surface container. This will make the curve

14 GRASSHOPPER 3D20/11/2019

Introduction I Grasshopper 3D I tutorial I Q&A

Grasshopper is a powerful design tool. Unlike other 3D modelling software that are usually used for modelling a “vison”. Parametric modelling helps you explore your design, change it around in real-time in a three dimensional space rather than designing in the 2D plane.

For exploring design options

By Author

Page 15: Grasshopper 3D - WordPress.com › 2019 › 11 › … · Introduction I Grasshopper 3D I tutorial I QA 1- Connect the output curve to a surface container. This will make the curve

15 GRASSHOPPER 3D20/11/2019

Introduction I Grasshopper 3D I tutorial I Q&A

Parametric modelling also can save you a lot of time! In this example, the structure of the building is achieved by coding the rules of the structure. So any changes to the overall volume causes the internal structure to adapt saving you a lot of time revising you project.

For structural solutions

By Author

Page 16: Grasshopper 3D - WordPress.com › 2019 › 11 › … · Introduction I Grasshopper 3D I tutorial I QA 1- Connect the output curve to a surface container. This will make the curve

16 GRASSHOPPER 3D20/11/2019

Introduction I Grasshopper 3D I tutorial I Q&A

Achieving new and interesting forms should not be why you use parametric modelling. The aim should be to explore architectural problems in new ways by proposing novel solutions, its the means.

For solving architectural problems

By Author

Page 17: Grasshopper 3D - WordPress.com › 2019 › 11 › … · Introduction I Grasshopper 3D I tutorial I QA 1- Connect the output curve to a surface container. This will make the curve

Grasshopper 3D Tutorial so, lets do a bit of pragmatic modelling.

We will design a tower.

Page 18: Grasshopper 3D - WordPress.com › 2019 › 11 › … · Introduction I Grasshopper 3D I tutorial I QA 1- Connect the output curve to a surface container. This will make the curve

18 GRASSHOPPER 3D20/11/2019

Introduction I Grasshopper 3D I tutorial I Q&A

We will begin by referencing five points to the grasshopper interface. The steps are:

1- open grasshopper

2- place 5 points in Rhino

3- place a point container in GH

4- Select rhino points and reference them by right clicking on the container.

Link Rhino points to grasshopper

1

2

3

4

Page 19: Grasshopper 3D - WordPress.com › 2019 › 11 › … · Introduction I Grasshopper 3D I tutorial I QA 1- Connect the output curve to a surface container. This will make the curve

19 GRASSHOPPER 3D20/11/2019

Introduction I Grasshopper 3D I tutorial I Q&A

Now we want to make a curve from the points. So we use the Nurbs Curve component in grasshopper. Please look at the required input by hovering over the inputs. You can also check what the outputs the same way

1 - Connect the points to the vertices input in the component

You should know what NURBS are, we covered this in the Rhino session.

Make a NURBS curve from the points

1

2

3

4

1

Page 20: Grasshopper 3D - WordPress.com › 2019 › 11 › … · Introduction I Grasshopper 3D I tutorial I QA 1- Connect the output curve to a surface container. This will make the curve

20 GRASSHOPPER 3D20/11/2019

Introduction I Grasshopper 3D I tutorial I Q&A

1- Connect the output curve to a surface container. This will make the curve into a surface

2- Connect the surface to an Area component to get the centroid and area of the surface.

3- turn off geometry that you do not need by right clicking and turning off preview.

From closed curve to surface

1 2

3

Page 21: Grasshopper 3D - WordPress.com › 2019 › 11 › … · Introduction I Grasshopper 3D I tutorial I QA 1- Connect the output curve to a surface container. This will make the curve

21 GRASSHOPPER 3D20/11/2019

Introduction I Grasshopper 3D I tutorial I Q&A

Grasshopper keeps a history of all your geometry. So when you move an object, the originals are stored in the previous components. Follow these steps:

1- connect the surface to a move component

2- explore direction and distance with the motion input. Unit z component moves the object vertically by the amount shown on the slider.

Moving the surface

1

2

Page 22: Grasshopper 3D - WordPress.com › 2019 › 11 › … · Introduction I Grasshopper 3D I tutorial I QA 1- Connect the output curve to a surface container. This will make the curve

22 GRASSHOPPER 3D20/11/2019

Introduction I Grasshopper 3D I tutorial I Q&A

By using a list of distances, we can move a surface multiple time to create floor plates.

1- create a series with the distances required

2- connect to unit Z component

3- Connect to motion as an input.

4- Add a panel to view the outputs

5- connect to area component

Making an array of surfaces

1

2

3

4

5

Page 23: Grasshopper 3D - WordPress.com › 2019 › 11 › … · Introduction I Grasshopper 3D I tutorial I QA 1- Connect the output curve to a surface container. This will make the curve

23 GRASSHOPPER 3D20/11/2019

Introduction I Grasshopper 3D I tutorial I Q&A

To rotate our list of surfaces, we need a list of rotation values of the same size.

1 - Connect the series output to a radians component

2- connect the output to a rotate component

3- connect the plane: centre of rotation

4- connect the geometry

Rotating a list of surfaces

12

3

4

Page 24: Grasshopper 3D - WordPress.com › 2019 › 11 › … · Introduction I Grasshopper 3D I tutorial I QA 1- Connect the output curve to a surface container. This will make the curve

24 GRASSHOPPER 3D20/11/2019

Introduction I Grasshopper 3D I tutorial I Q&A

We explored lofting in Rhino in our last session. Now we do the same but in grasshopper. The advantage is obvious, if we change the original geometry the loft automatically updates.

1 - connect a loft components to the output geometry from the rotate component.

Lofting in Grasshopper

1

Page 25: Grasshopper 3D - WordPress.com › 2019 › 11 › … · Introduction I Grasshopper 3D I tutorial I QA 1- Connect the output curve to a surface container. This will make the curve

25 GRASSHOPPER 3D20/11/2019

Introduction I Grasshopper 3D I tutorial I Q&A

You have now created a parametric object. You can change around the layout and the building will adapt to any new parameters you give it. Try this by moving the points you originally set in rhino around.

Your first parametric object !

Page 26: Grasshopper 3D - WordPress.com › 2019 › 11 › … · Introduction I Grasshopper 3D I tutorial I QA 1- Connect the output curve to a surface container. This will make the curve

26 GRASSHOPPER 3D20/11/2019

Introduction I Grasshopper 3D I tutorial I Q&A

Now explore how you can modify the code to make the form a bit more interesting.

You can play around with series, shapes, scale, random elements etc.

Have a look at the code and figure out what has happened here.

Add your personal touch

Page 27: Grasshopper 3D - WordPress.com › 2019 › 11 › … · Introduction I Grasshopper 3D I tutorial I QA 1- Connect the output curve to a surface container. This will make the curve

27 GRASSHOPPER 3D20/11/2019

Introduction I Grasshopper 3D I tutorial I Q&A

If you are finished with your results, you can transform it into rhino geometry bay baking the result

1 - To do this, right click on the geometry component you want and click bake.

2- Now, you have a NURBS output that you can render and export to other software.

Baking result

12

Page 28: Grasshopper 3D - WordPress.com › 2019 › 11 › … · Introduction I Grasshopper 3D I tutorial I QA 1- Connect the output curve to a surface container. This will make the curve

28 GRASSHOPPER 3D20/11/2019

Introduction I Grasshopper 3D I tutorial I Q&A

The Box Morph component in grasshopper allows you to map geometry to a NURBS surface. You can create interesting façades with this.

1- divide the surface

2- create surface boxes. You can flip the surface if you want to invert the boxes

3- make an object to map

4- the BB acts as a reference volume

5- connect to the box morph component

Box morph

1

2

34

5

Page 29: Grasshopper 3D - WordPress.com › 2019 › 11 › … · Introduction I Grasshopper 3D I tutorial I QA 1- Connect the output curve to a surface container. This will make the curve

Thank you for followingIf you have any more questions, you can send me an email on:

[email protected] or message me on twitter @mahmud_tantoush