An archive of open source plugins, tools, and scripts developed by David Mans for Rhinoceros 3d by Robert McNeel & Associates and the visual scripting plugin Grasshopper 3d by David Rutten.

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.

Bezier Constructor

This rhinoscript takes a series of points selected in sequence and creates a bezier curve using the geomtetric method of construction.

Blend Tool 3d

Similar to Adobe Illustrators 2d curve blend, this tool takes a series of curves and creates interpolated steps between them.

Connect Two Curves

This Rhino script allows the user to select two curves to be connected, closing them into a single polyline, using either a rough equivalent of…

Dash Curve

A simple script developed during the Rib maker script, this Rhinoscript interface allows the user to select a set of curves then input a sequential…

Documenter

This rhinoscript takes a collection of objects and produces a series of documentation drawings in Orthographic, Auxillary, and Isometric projection producing a total of 26…

Evaluate Curve By Distance

This Rhino Script breaks a curve down into a series of equidistant points represented as lines. This functionality has been added into rhino 5.

Expanded Surface

The expanded surface is the final release of the unfolded surface series at this time. This version generates an expanded surface which provides higher structural…

Hair From Points

This rhino script allows the user to create highly varied, yet controllable, low polygon count “hairs”.

Image Reader

This is the first set of a developing series of image reading scripts designed to bridge hand sketching with three dimensional modeling. Inspired by a…

Incremental Counter

A tool developed to expedite fabrication. Each click adds text which counts by a specified increment allowing for quick numbering, with your choice of prefixes.

Isolate

This Rhino Script allows the user to select a piece of geometry then selects the inverse and hides it. Use _show to reveal this geometry.

Jitter

This rhinoscript uses a random function to produced minor variations in Position (move), Orientation (rotation), and Dimension (scale) within a range specified by the user.

Lattice Pipe

This Rhino Script allows the user to create an oscillating lattice of curves.

Layer Prefix

This Rhino Script allows the user to select multiple layer names and add a prefix to it.

Arrows

This rhinoscript, developed for circulation diagrams, converts curves into variable styles of surfaced three dimensional arrows.

Median Surface

This tool derives the median surface from a selected set of surfaces and places it at the origin point of a scene.

Multiloft

This Rhino Script allows the used to select multiple sets of curves to run the loft command on, reducing the total amount on time spent…

Multipipe

This rhinoscript allows the user to select multiple curves, the start radius, the end radius, and the cap type. It is not needed in Rhino…

Overkill

Much of this same functionality can be obtained with using the command seldup in Rhino 5.

Pack It

This Rhino Script allows the user to pack a series of curves into a set boundary with several options for scaling, orientation, sorting, and numbering.

Rain

Part of a library of environmental effect graphic generators this Rhino Script produces a series of lines which fall like rain upon Rhino’s cplane.

Random Groups

This simple rhinoscript, developed to randomize sets of objects for material application in rendering, allows the user to select a set of objects and place…

Random Hair on Surface

This rhino script allows the user to create highly varied, yet controllable, low polygon count “hairs”.

Randomizer

This Rhino Script presents the user with a series of options to create random point clusters in different geometric volumes as well as surface or…

Range Rebuild Curves

This script allows the user to rebuild curves that fall within a certain point count range.

Range Rebuild Surface

This script allows the user to rebuild surfaces that fall within a certain point count range.

ReOrient Curves

This Rhino Script takes allows the user to select a series of curves and a curve to reference them against.

Rib Maker

This Rib fabrication Rhino script allows the user to select a surface, input the row and column count, specify the rib dimensions, then sit back,…

Ripple Objects about Curve

This Rhino Script takes allows the user to select a series of curves and a curve to reference them against. From this relationship the user…

Ripple Unfold

This fabrication script presents a simple tool to evaluate a surface with a triangular pattern and unfold this pattern in a series of bands.

Scale Field by Image

This Rhinoscript takes any image reads the luminance value of the image at a user specified 2d increment and uses the results as a scalar…

Surface Morpher

This script allows the user to morph between multiple surfaces at a given instance.

Surface Six Pack

This script produces six options for surface subdivision within Rhino. It provides a curveset as an output which can be used for module population.

Surface Wave

Surface wave is a very simple rhinoscript tool which uses a curve to create a sine wave based surface.

Sweep Tool

The multiSweep script allows for the selection of multiple rails and a profile from which the profile’s relative planar orientation is determined and automatically aligned…

Transform Each

may be a very simple script, but it is a handy one to have around. The command is modeled after adobe illustrator’s transform each feature…

Triangulate Strips

This simple triangulation fabrication script takes a single surface and evaluates it at a user specified density. The script then creates a flattened set of…

Triangulate Tile

This simple triangulation fabrication script evaluates a surface and creates a tiled set of triangulated pieces with incrementally numbered tabs. To assemble, simply combine tabs…

Visualize Points

This Rhino Script presents a series of options for the visualization of points, relative to graphic output.

Weave A

This Rhino Script uses a simple repeating over/under pattern, however this curves in this series run diagonally across the surface creating a pseudo diagrid pattern.

Weave B

This Rhino Script uses a series of curves, warp and weft, running parallel to the UV directions of a surface, weaving two disparate series of…