Grasshopper 3D

A series of algorithms and general purpose tools User Objects for Grasshopper 3d, a visual scripting plugin developed by David Rutten for Rhinoceros 3d (v.5), by Robert McNeel and Associates. Many of these tools were inspired by Projects developed at Grimshaw Architects and Projects at Woods Bagot and are made available under the MIT License.

Field of View

Description This view analysis component takes a user-specified visual plane, field of view angle, and distance limit to test for view obstruction from input meshes.…

Lloyd’s Algorithm

Description This user object runs what is known as Lloyd’s Algorithm, an iterative implementation of a Voronoi Solution where each iteration uses the previous iterations…

Even Random Distribution

This user object component takes a list of objects and randomly distributes them into a user specified number of sets.

Deconstruct EPW

This user object component takes an Energy Plus Weather (.epw) file path input and deconstructs the tabulated data into lists corresponding to the sample dates.

Divide Curve By Proximity

This component is developed to create a more even aspect ratio for grids by creating points through iteratively sampling proximity to adjacent curves.

Rhino Lights v2

This set of components allows for the manipulation and creation of Rhino light objects from grasshopper.

Fab Tab Tiles

This component lays out each face of a mesh as a set of tiles on a two dimensional plane adding annotated tabs. If faces are…

FabTab Triangular Tiles

This component triangulates a mesh and lays out each face as a set of tiles on a two dimensional plane adding annotated tabs.

Flow Path

This component iteratively samples a surface, mesh, or polysurface to find the most vertical flow path along a geometry.

Geometry Sequential CP

This component sequentially finds the closest point from a list of geometry including curves, breps, and meshes

NOAA Solar

This component uses a Latitude and Longitude coordinate and GMT offset value with a date and time and returns the sun’s vector at the specified…

Rhino Sun

Description This series of components access the sun system in Rhino and allow for control and returning of sun parameters. There are three component types,…

Offset Two

This component uses the same basic setup as the Offset curve component, but returns two curve sets as an output using both a positive and…

Mesh Outline

This component projects mesh silhouette polylines to a given plane or view plane.

Average Color

This component takes a list of colors and returns the mean average color based on the rgb channels.

Rounding

These components allow for several types of rounding available from the expressions component, but made unique objects here for simplicity.

Parametric Gradient

This component allows for the parametric definition and evaluation of a color gradient. Using a list of colors as an input a gradient will be…

Adobe ASE to CMYK & RGB

The following function allows for the conversion of Adobe ASE swatch library files to Grasshopper RGB and CMYK values which can be plugged into the…

Limit

This vb Component for Grasshopper tests a number value against a floor and ceiling value returning the floor if lower, the ceiling if higher, and…

Layers

This component returns the full layer path for a referenced rhino object from its GUID. The path is returned as a concatenated string, list of…

Invert Color

This component inverts the RGB values from a color and returns the converted value.

Basic Fillet Surface

This very basic component implements the Rolling Ball Fillet from Rhino Common. Using two surfaces and corresponding UV point values to define the relative location…

Ecotect Translator

This vb Component for Grasshopper is a simple stripped down tool that takes an analysis from Ecotect and extracts the relevant information into numerical values…

Data Types

This vb Component for Grasshopper takes a series of values and creates unique indexes for common values.

Boolean

This vb Component for Grasshopper uses a Boolean pattern to select either a true or false value input.

Pattern.er

This vb Component allows for the production of repetitious patterns in repeating rhythms in a two dimensional array with an output of a set values…

Quad from Grid

This function takes a rectangular grid of points and extracts collections of four points in the order needed to make a four point surface.

Radial Diamond

The Radial Diamond component mimics the setup of the radial grid component in grasshopper and creates a diamond cell patterning radially about the center of…

Radial Hexagon

The Radial Hexagon component mimics the setup of the radial grid component in grasshopper and creates a hexagonal cell patterning radially about the center of…

Radial Sort

This component radially sorts points about a plane based on their angle to the X axis.

RAL Colors

This collection of preset value list components contain the RGB values for the RAL color scheme.

Reflector [beta]

This component progressively bounces rays off of breps for a given number of loops from an origin and initial direction. It is beta, and has…

Regular Triangular Mesh

This vb Component for Grasshopper takes a series of values and locates and indexes common values.

Ripples

The component tests a single sample point against a list of origin points which can have a wavelength and diminishing rate assigned to them.

Swap

This vb component tests a provided value against a list of domains for inclusion. If the value falls within the given domain it is replaced…

Triangle by Edge Length

This vb Component for Grasshopper takes three edge length and produces the corresponding triangle.

Triangle Incircle

This vb Component for Grasshopper takes three non linear points and evaluates their triangular in center plane and incircle, returning both the point and the…

Unitize Points

This vb Component for Grasshopper takes a list of points in any sequence and proportionally unitizes the X,Y,Z values from 0 to 1.

Unitize Values

This vb Component for Grasshopper takes a list of numbers in any sequence and proportionally unitizes the values from 0 to 1.