# Oops...

This website is made for modern browsers. You are seeing this, because your browser is missing a feature or two. Please install the latest update or switch to a modern browser. See you soon.

# Glossary

#UI

## Rhino

###### Command prompt

Allows typing command names directly and setting the options for commands. History is shown in the window above.

###### Gumball

If the gumball feature is activated in the status bar, then, after selecting one or more objects in the viewport, the gumball widget is shown which provides shortcuts to move, scale, and rotate the selected objects.

###### Panel

Displays information about the document properties, global and selection-specific properties, and special dialogues, like layer management or rendering. Content is organized in panel tabs and sometimes there are subtabs, like those available through the icons in the properties tab.

###### Status bar

Displays global properties and provides toggles for easy access.

###### Toolbar

Provides access to commonly used commands, organized in toolbar groups. Changing a group will also change the icons listed left of the viewport.

###### Viewport

Displays the working environment for Rhino. Double-clicking the viewport title will toggle between one maximized viewport and multiple smaller viewports. Right-clicking the viewport title will open a menu to set everything related to the view.

## Grasshopper

###### Brep

A Brep, short for boundary representation, is a shape consisting of multiple trimmed or untrimmed surfaces that are connected to each other. Its elements are faces, edges, and vertices.

###### Canvas

The canvas is the primary working environment in Grasshopper and the drawing board to create an algorithm. Objects can be placed, connected, and moved on the canvas in a manner of visual programming.

The Canvas search is a search box to quickly find and place objects on the canvas.

###### Canvas Toolbar

Provides some quick actions on the left and settings for the preview in Rhino on the right.

###### Component

Components are the building blocks for algorithms and perform a narrow task each. By combining them with wires, complex algorithms can be created. They can be placed on the canvas by drag and drop from the component ribbon or through the canvas search. Right-clicking the middle of a component opens its context menu.

###### Component ribbon

The component ribbon or component toolbar is organized in tabs and displays all components that Grasshopper and its plugins offer. They are organized by functionality or by plugin. Objects can be drag and dropped from here to the canvas.

###### Container

A container is similar to a component, but does not perform any transformation. It holds or references values, for example a point or a list of geometry from Rhino.

###### Face

A face is a piece of a greater collection, like a Brep or a mesh, and describes an areal element. Besides faces, there are edges and vertices that together form a Brep or mesh.

###### Input / Output grip

The half circles on the left and right side of components and containers are their input and output grips. Wires can be drawn between them and they offer an individual context menu by right-clicking them.

###### Preview

Geometry that is in preview mode (component’s body is in a lighter gray compared to when preview mode is off) is displayed in the Rhino viewport. Selected objects are previewed in green and non-selected in red (default colors). If the option Only draw preview geometry… is activated (half green cylinder in the canvas toolbar), then only the selected objects are previewed in Rhino, regardless of whether the preview mode is activated for the selected objects or not.

###### Wire

The connections between the objects on the canvas are called wires and they can be drawn with various methods. The display of the wires indicates the data structure that is transported: A single line represents a single data item. A double line represents items in a list and a dotted line indicates that the data is structured as a data tree

. Right-clicking the input grip, with a wire is connected to, allows changing the wire display.

###### Zoomable User Interface (ZUI)

Some components (like List Item

List Item (Item)
Sets  >  List  >  List Item
Retrieve a specific item from a list.
Inputs
List (L)Base list
Index (i)Item index
Wrap (W)Wrap index to list bounds
Outputs
Item (i)Item at {i'}
) offer the possibility to add and remove input and output grips. This is done by zooming in on the component until labels for action appear.

## Programming

###### Array / List

An Array is a collection of data in a list format. Subtleties of programming languages aside, when we talk about lists and arrays in Grasshopper, we usually mean the same thing. Every item in a list gets an index and the sequence is fixed. In Grasshopper, the index is not passed between operations, so every list starts with index 0. Rearranging the list will lead to a new assignment of indices for the list’s items.

Data trees

in Grasshopper are technically lists of lists or arrays within arrays. Contrary to the just described behavior of lists in Grasshopper, they receive a fixed index, for example 0;1. Yet, in Grasshopper terminology this is now called a Branch, not a list. The whole list of lists is called a Tree. Splitting a list of branches will not lead to a reset of the naming scheme, but the branch will keep its index.

###### Boolean

The Boolean data type allows a parameter to have two possible states, called True and False. Respectively, they can also be represented as integers: 1 and 0. Booleans are useful for conditional statements and in Grasshopper often used to filter lists and as a toggle of some kind. See how-to Conditional Statements

for various possibilities to retrieve a list of Booleans.

###### Integer

An integer is a data type that can only be numbers without fractions. In Grasshopper, it is often used for counting and indexing of lists.

###### Seed

A seed is a number to initialize a number generator for producing random values. Some components in Grasshopper, for example Jitter

Jitter (Jitter)
Sets  >  Sequence  >  Jitter
Randomly shuffles a list of values.
Inputs
List (L)Values to shuffle
Jitter (J)Shuffling strength. (0.0 = no shuffling, 1.0 = complete shuffling)
Seed (S)Seed of shuffling engine
Outputs
Values (V)Shuffled values
Indices (I)Index map of shuffled items
or Populate Geometry
Populate Geometry (PopGeo)
Vector  >  Grid  >  Populate Geometry
Populate generic geometry with points
Inputs
Geometry (G)Geometry to populate (curves, surfaces, breps and meshes only)
Count (N)Number of points to add
Seed (S)Random seed for insertion
Points (P)Optional pre-existing population
Outputs
Population (P)Population of inserted points
, take a seed as input to introduce randomness. However, the formula to create this randomness is fixed and therefore the outputted values are foregone. The advantage is that a randomly created pattern is not changing between recalculations in Grasshopper and thus the randomness can become a stable part of the design.

###### String

A string is a data type that contains a sequence of characters. Usually they serve informational purposes or to gain Booleans by comparing two strings. In Grasshopper, strings can also be cast to other data types: 1,4,5 will become a point with the coordinates x=1, y=4, z=5.

This page is open source. Edit it on GitHub or see how you can contribute.