Grasshopper useful components

The number of components in grasshopper is enormous. Together with additional packages there are loads of them. On the one hand is a tremendous advantage of Grasshopper. You can do whatever you like in this program: lots of transformations, conversions, operations,  you name it. On the other hand it is challenging to learn all of them. Grasp all names, memorize where to find them and know how they work with the all inputs and outputs. In this post I will show you the Grasshopper useful components that I consider helpful and worth knowing!

Enjoy the article and video!


1. Right Trigonometry

This is a component for all those who do not like math.

Easy to use component calculates for you all the dependencies of the angles and lengths of triangle edges. To get results in the output you have to insert just two inputs. The rest component will calculate automatically. Remember that you have to convert values from degrees into radians first.

The handy component that will prevent you from making a mistake in angle calculations.

Right Trigonometry Component Grasshopper
Math --> Trigonometry --> Right Trigonometry
Learn Grasshopper

Sign up for free mailing and you will receive Grasshopper TIPS every week. 

 Join NOW – I’ll send the first secrets of Grasshopper right away!

2. Concatenate

This component connects some fragments of text. 

With the pluses at the top and bottom (see picture below) you can add more text fragments. If you will add a list of the numbers you will get lists of connected fragments. Moreover you can use a split text component and divide whole text into two lists.

Concatenate Grasshopper component
Set--> Text -> Concatenate
Concatenate Grasshopper Example
Concatenate Grasshopper Example

3. List indices

This component is available in the Pufferfish plugin. Connecting a list to it will result in a list of indices. 

In the other words.

Get a list of the indices from a list of items. How can it be used? For example, to visualise data with correct numbers or set up layers numbers. Indices will present order of items and you can bake data in numbered Rhino layers. 

List indices Grasshopper component
Pufferfish --> List -> List indices
List indicates - Usage Example
List indicates - Usage Example

Lets go to next Grasshopper useful components...

4. Gradient

One of the other things we can do to visualize the list data is to assign a colour to the geometry. Grasshopper has limited ‘rendering’ capabilities, but we can control simple settings like colour, specular colour, transparency, etc. An example in the video shows colourizing panels regarding the z coordinate of the panel centre.

The L0 (lower limit) value represents the gradient’s low end (left side), whereas the L1 value represents the upper end (right side). These values correspond to the start and end of our domain(minimum and maximum values). The t-values are the elements in the list that will get mapped somewhere within the L0 and L1 range.

Right-click on the gradient to set one of the gradients presets, or define your own using the colour node points.

Gradient Grasshopper useful component
Params --> Input--> Gradient
Gradient - Usage Example
Gradient - Usage Example

5. Data dam

“Data Dam” can temporarily prevent the flow of data from the left side to the right until it is clicked.

If you have a definition that takes a lot of time to calculate downstream (on the right side from the data dam) changing the left side parameters may cause that the whole task will be delayed or even shut down machine.

It is possible to block your wires completely or delay flow just for some seconds.

Data dam - Grasshopper component
Params --> Util --> Data Dam
Learn Grasshopper


5 Steps to learn Grasshopper is a guide full of books, exercises, tutorials and videos. Everyone will find something for themselves – regardless of the level of initiation.

Next episode of Grasshopper useful components:

6. Mass addition 

Mass addition component you can find in Math and Operators. In order to show how it works, I will use another component called Gene pool. This one generates several sliders placed in one place. While connecting all these value components will give us two outputs—first one sum of all numbers and second one Partial Result.

The first item will always be the same as the first input item. However, the second one will be a sum of the first and second. The third one will be the sum of 2 previous ones and the third one.

To visualize that, let’s go to an example below. Mass addiction works perfectly with evaluating length component. Points will be created with the distances between defined values in the gene pool.

Mass addition Grasshopper component
Math-> Operators-> Mass addition
Mass addition Grasshopper components
Mass addition - Practical example of use

7. Member index

Definition of member index is: 

Find the occurrences of a specific member in a set. 

It can be found in Set and Sets. Example shows my website name exploded to indexes. With the Member index component, we can check how many times r letter occurs in this webite name and what position.

Grasshopper useful components member index
Set--> Sets -> Member index

Lets go to next Grasshopper useful components...

8. Sort list

Every Grasshopper user should know the sort list component. This component allows you to make sorting based on the keys values. I will show you the example. We have many points on our mesh and we are going to sort these points based on z coordinates. From the lowest to the highest. 

Afterwards, we can give indicates of these points. In this way, the lowest point will have the lowest index and the highest point will have the highest index.

Grasshopper useful components sort
Sort list - Usage Example Text tag with indices and gradient
Grasshopper useful components sort
Sort list - Usage Example Text tag with indices

9. Random

Generate a list of pseudo-random numbers. We call it pseudo because they are not random per definition. Connect your domain as a range for random numbers. The second input is a number of elements. Seed generates the algorithm how the number will be generated. Now you can use these values to grasshopper operations.

Remember that in options of component, you can change values just to integers.

Grasshopper useful components Random
Set--> Sequence--> Random

10. Value List

 The Value List stores a collection of values with a corresponding list of Labels associated with an equal sign. It is beneficial when you want to have a few options labelled with meaning that can supply specific output values.

  1. Right click the Value List component and select an option from the menu.
  2. Double click the Value List component to open the editor and add or change values.
  3. In Dropdown List mode, click the arrow to select one of the values. The solution will recompute each time you change the value.
  4. In Check List mode, click next to each value to check it. The component will output all the values that are checked.
  5. In Value Sequence and Value Cycle modes, click the left and right-facing arrows to cycle through the values.
Value list Grasshopper component
Params --> Input--> Value list

Which Grasshopper Components are your favorite?

Write in the commentary below which you like most. 

Do you have any questions?

Write an email at [email protected]

I always write back !!

Check out more tricks in Grasshopper


5 TIPS To Better Collaboration In GRASSHOPPER

If you want to get more information about Grasshopper and learn parametric modelling, download the free guide

Grasshopper is a plugin to Rhino that you can download HERE 

Did you like that post ? Share it with others !

We spend a lot of time and effort creating all of our articles and guides. It would be great if you could take a moment to share this post !



Notify of
Inline Feedbacks
View all comments
2 years ago

It’s mass addition and not mass addiction!



After reading this guide you will learn:

  • How BIM is used on the biggest projects in Norway
  • What were the challenges for the design team and how were they solved
  • What were the challenges on the construction site and what was our approach to them

Newest articles: