Grasshopper

algorithmic modeling for Rhino

Grasshopper

SYSTEM COMPONENTS

Component Index > Grasshopper

Analysis
Cocoon
Curve > Analysis
Curve > Division
Curve > Primitive
Curve > Spline
Curve > Util
Dimensions
Display > Colour
Display > Preview
Display > Vector
Domain
Field
Geometry
Graphs
Input
Intersect > Mathematical
Intersect > Physical
Intersect > Region
Intersect > Shape
List
Math > Operators
Math > Time
Math > Trig
Math > Util
Maths > Domain
Maths > Matrix
Maths > Operators
Maths > Script
Maths > Time
Maths > Trig
Maths > Util
Matrix
Mesh > Analysis
Mesh > Primitive
Mesh > Triangulation
Mesh > Util
Operators
Params > Input
Params > Util
Polynomials
Preview
Primitive
Script
Sets > List
Sets > Sequence
Sets > Sets
Sets > Text
Sets > Tree
Surface > Analysis
Surface > Freeform
Surface > Primitive
Surface > Util
Transform > Affine
Transform > Array
Transform > Euclidean
Transform > Morph
Transform > Util
Tree
Triangulation
Trig
Util
Vector > Colour
Vector > Field
Vector > Grid
Vector > Plane
Vector > Point
Vector > Vector
XForm > Mapping

Curve > Analysis

Center (Cen)
Find the center point and radius of arcs and circles.
Evaluate Length (Eval)
Evaluate a curve at a certain factor along its length. Length factors can be supplied both in curve units and normalized units. Change the [N] parameter to toggle between the two modes.
Closed (Cls)
Test if a curve is closed or periodic.
Control Points (CP)
Extract the nurbs control points and knots of a curve.
Control Polygon (CPoly)
Extract the nurbs control polygon of a curve.
Curve Closest Point (Crv CP)
Find the closest point on a curve.
Curvature
Evaluate the curvature of a curve at a specified parameter.
Derivatives (CDiv)
Evaluate the derivatives of a curve at a specified parameter.
Discontinuity (Disc)
Find all discontinuities along a curve.
Extremes (X-tremez)
Find the extremes (highest and lowest points) on a curve.
Curve Nearest Object (CrvNear)
Find the object nearest to a curve.
Curve Proximity (CrvProx)
Find the pair of closest points between two curves.
Segment Lengths (LenSeg)
Finds the shortest and longest segments of a curve.
Curve Side (Side)
Find on which side of a curve a point exists
Torsion
Evaluate the torsion of a curve at a specified parameter.
Deconstruct Arc (DArc)
Retrieve the base plane, radius and angle domain of an arc.
Deconstuct Rectangle (DRec)
Retrieve the base plane and side intervals of a rectangle.
End Points (End)
Extract the end points of a curve.
Evaluate Curve (Eval)
Evaluate a curve at the specified parameter.
Length (Len)
Measure the length of a curve.
Length Domain (LenD)
Measure the length of a curve subdomain.
Length Parameter (LenP)
Measure the length of a curve to and from a parameter.
Planar
Test a curve for planarity.
Point In Curve (InCurve)
Test a point for closed curve containment.
Point in Curves (InCurves)
Test a point for multiple closed curve containment.
Polygon Center (PCen)
Find the center point (average) for a polyline.
Curve Frame (Frame)
Get the curvature frame of a curve at a specified parameter.
Horizontal Frame (HFrame)
Get a horizontally aligned frame along a curve at a specified parameter.
Perp Frame (PFrame)
Solve the perpendicular (zero-twisting) frame at a specified curve parameter.

Curve > Primitive

Arc
Create an arc defined by base plane, radius and angle domain.
Modified Arc (ModArc)
Create an arc based on another arc.
Arc 3Pt (Arc)
Create an arc through three points.
Arc SED (Arc)
Create an arc defined by start point, end point and a tangent vector.
BiArc
Create a bi-arc based on endpoints and tangents.
Circle (Cir)
Create a circle defined by base plane and radius.
Circle 3Pt (Circle)
Create a circle defined by three points.
Circle CNR (Circle)
Create a circle defined by center, normal and radius.
Circle Fit (FCircle)
Fit a circle to a collection of points.
Circle TanTan (CircleTT)
Create a circle tangent to two curves.
Circle TanTanTan (CircleTTT)
Create a circle tangent to three curves.
Ellipse
Create an ellipse defined by base plane and two radii.
InCircle
Create the incircle of a triangle.
InEllipse
Create the inscribed ellipse (Steiner ellipse) of a triangle.
Line (Ln)
Create a line between two points.
Line 2Plane (Ln2Pl)
Create a line between two planes.
Line 4Pt (Ln4Pt)
Create a line from four points.
Fit Line (FLine)
Fit a line to a collection of points.
Line SDL (Line)
Create a line segment defined by start point, tangent and length.}
Polygon
Create a polygon with optional round edges.
Rectangle
Create a rectangle on a plane
Rectangle 2Pt (Rec 2Pt)
Create a rectangle from a base plane and two points
Rectangle 3Pt (Rec 3Pt)
Create a rectangle from three points
Tangent Arcs (TArc)
Create tangent arcs between circles
Tangent Lines (Tan)
Create tangent lines between a point and a circle
Tangent Lines (Ex) (TanEx)
Create external tangent lines between circles
Tangent Lines (In) (TanIn)
Create internal tangent lines between circles

Surface > Analysis

Area Moments (AMoments)
Solve area moments for breps, meshes and planar closed curves.
Area
Solve area properties for breps, meshes and planar closed curves.
Box Corners
Extract all 8 corners of a box.
Box Properties (BoxProp)
Get some properties of a box
Brep Closest Point (Brep CP)
Find the closest point on a brep
Brep Edges (Edges)
Extract the edge curves of a brep.
Brep Topology (Topology)
Get and display the topology of a brep.
Point In Brep (BrepInc)
Test whether a point is inside a closed brep
Point In Breps (BrepsInc)
Test whether a point is inside a collection of closed breps
Brep Wireframe (Wires)
Extract the wireframe curves of a brep.
Deconstruct Box (DeBox)
Deconstruct a box into its constituent parts.
Deconstruct Brep (DeBrep)
Deconstruct a brep into its constituent parts.
Evaluate Box (Box)
Evaluate a box in normalised {UVW} space.
Evaluate Surface (EvalSrf)
Evaluate local surface properties at a {uv} coordinate.
Shape In Brep (ShapeIn)
Tests whether a shape is inside a brep
Surface Closest Point (Srf CP)
Find the closest point on a surface.
Surface Curvature (Curvature)
Evaluate the surface curvature at a {uv} coordinate.
Dimensions (Dim)
Get the approximate dimensions of a surface
Surface Inflection (SInf)
Compute the inflection curves for a surface
Is Planar (Planar)
Test whether a surface is planar
Osculating Circles (Osc)
Calculate the principal osculating circles of a surface at a {uv} coordinate.
Surface Points (SrfPt)
Get the control-points of a Nurbs Surface
Principal Curvature (Curvature)
Evaluate the principal curvature of a surface at a {uv} coordinate.
Point In Trim (TrimInc)
Test whether a {uv} coordinate is inside the trimmed portion of a surface
Volume Moments (VMoments)
Solve volume properties for closed breps and meshes.
Volume
Solve volume properties for closed breps and meshes.

Mesh > Util

Exposure
Solve mesh exposure for a collection of energy rays and obstructions.
Occlusion (Occ)
Solve occlusion for a collection of view rays and obstructions.
Blur Mesh (MBlur)
Blur the colours on a mesh
Mesh Brep (Mesh)
Create a mesh that approximates Brep geometry
Simple Mesh (SMesh)
Create a mesh that represents a Brep as simply as possible
Cull Faces (CullF)
Cull faces from a mesh
Cull Vertices (CullV)
Cull vertices from a mesh
Delete Faces (DeleteF)
Delete faces from a mesh
Delete Vertices (DeleteV)
Delete vertices from a mesh
Mesh Join (MJoin)
Join a set of meshes into a single mesh
Quadrangulate (Quad)
Quadrangulate as many triangles as possible in a mesh
Settings (Custom) (Custom Mesh Settings)
Represents custom mesh settings.
Settings (Speed) (Jagged)
Represents 'Jagged & faster' mesh settings.
Settings (Quality) (Smooth)
Represents 'Smooth & slower' mesh settings.
Mesh Shadow (MShadow)
Compute the shadow outline for a mesh object
Disjoint Mesh (Disjoint)
Split a mesh into disjoint pieces.
Mesh Split Plane (MSplit)
Split a mesh with an infinite plane.
Mesh Surface (Mesh UV)
Create a Surface UV mesh
Triangulate (Tri)
Triangulate all quads in a mesh
Unweld Mesh (Unweld)
Unweld (split) creases in a mesh
Weld Mesh (Weld)
Weld (merge) creases in a mesh
Smooth Mesh (MSmooth)
Smooth the vertices of a mesh

Curve > Util

Polyline Collapse (PCol)
Collapse short segments in a polyline curve.
Seam
Adjust the seam of a closed curve.
Curve To Polyline (ToPoly)
Convert a curve to a polyline.
Extend Curve (Ext)
Extend a curve by a specified distance.
Fillet
Fillet the sharp corners of a curve.
Fillet Distance (Fillet)
Fillet the sharp corners of a curve by distance.
Fillet
Fillet a curve at a parameter.
Fit Curve (Fit)
Fit a curve along another curve.
Flip Curve (Flip)
Flip a curve using an optional guide curve.
Join Curves (Join)
Join as many curves as possible
Offset
Offset a curve with a specified distance.
Offset Loose (Offset (L))
Offset the control-points of a curve with a specified distance.
Offset Loose 3D (Offset (3D))
Offset the control-points of a curve with a specified distance in 3D.
Offset on Srf (OffsetS)
Offset a curve on a surface with a specified distance.
Project
Project a curve onto a Brep.
Pull Curve (Pull)
Pull a curve onto a surface.
Rebuild Curve (ReB)
Rebuild a curve with a specific number of control-points.
Reduce (RedPLine)
Reduce a polyline by removing least significant vertices.
Simplify Curve (Simplify)
Simplify a curve.
Smooth Polyline (SmoothPLine)
Smooth the vertices of a polyline curve.
Offset Polyline (OP)
Offset a 2D polyline
Explode
Explode a curve into smaller segments.

Curve > Spline

Bezier Span (BzSpan)
Construct a bezier span from endpoints and tangents.
Blend Curve (BlendC)
Create a blend curve between two curves.
Blend Curve Pt (BlendCPt)
Create a blend curve between two curves that intersects a point.
Catenary (Cat)
Create a catenary chain between two points.
Catenary Ex (CatEx)
Create a variable catenary chain between two points.
Connect Curves (Connect)
Connect a sequence of curves.
Nurbs Curve (Nurbs)
Construct a nurbs curve from control points.
Interpolate (IntCrv)
Create an interpolated curve through a set of points.
Curve On Surface (CrvSrf)
Create an interpolated curve through a set of points on a surface.
Interpolate (t) (IntCrv(t))
Create an interpolated curve through a set of points with tangents.
Tangent Curve (TanCurve)
Create a curve through a set of points with tangents.
Iso Curve (Iso)
Construct {uv} isocurves on a surface.
Kinky Curve (KinkCrv)
Construct an interpolated curve through a set of points with a kink angle threshold.
Match Curve (MatchCrv)
Match two curves.
NurbsCurve (NurbCrv)
Construct a nurbs curve from control points, weights and knots.
Knot Vector (Knots)
Construct a nurbs curve knot vector.
PolyArc (PArc)
Create a polycurve consisting of arc and line segments.
PolyLine (PLine)
Create a polyline connecting a number of points.
Geodesic
Construct a surface geodesic between two points.
Sub Curve (SubCrv)
Construct a curve from the sub-domain of a base curve.
Swing Arc (Swing)
Create a polycurve consisting of arcs defined by center points.
Tween Curve (TweenCrv)
Tween between two curves.

Surface > Freeform

4Point Surface (Srf4Pt)
Create a surface connecting three or four corner points.
Boundary Surfaces (Boundary)
Create planar surfaces from a collection of boundary edge curves.
Edge Surface (EdgeSrf)
Create a surface from two, three or four edge curves.
Extrude (Extr)
Extrude curves and surfaces along a vector.
Extrude Along (ExtrCrv)
Extrude curves and surfaces along a curve.
Extrude Linear (Extrude)
Extrude curves and surfaces along a straight path.
Extrude Point (Extr)
Extrude curves and surfaces to a point.
Fragment Patch (FPatch)
Create a fragmented patch from a polyline boundary
Loft Options (Loft Opt)
Create loft options from atomic inputs
Loft
Create a lofted surface through a set of section curves.
Network Surface (NetSurf)
Create a surface from curve networks
Patch
Create a patch surface
Pipe
Create a pipe surface around a rail curve.
Pipe Variable (VPipe)
Create a pipe surface with variable radii around a rail curve.
Surface From Points (SrfGrid)
Create a nurbs surface from a grid of points.
Rail Revolution (RailRev)
Create a surface of revolution using a sweep rail.
Revolution (RevSrf)
Create a surface of revolution.
Ruled Surface (RuleSrf)
Create a surface between two curves.
Sum Surface (SumSrf)
Create a sum surface from two edge curves.
Sweep1 (Swp1)
Create a sweep surface with one rail curve.
Sweep2 (Swp2)
Create a sweep surface with two rail curves.

Util

Cluster Input
Represents a cluster input parameter
Cluster Output
Represents a cluster output parameter
Data Recorder
Records data over time
Cherry Picker
Pick a single item from a data tree
Param Viewer
A viewer for data structures.
Gene Pool
Contains a collection of genes (i.e. variables)
Data Dam
Delay data on its way through the document
Smooth Numbers
Smooth out changing numbers over time
Natural logarithm
Returns a factor of the natural number (e).
Epsilon
Returns a factor of double precision floating point epsilon.
Golden Ratio
Returns a factor of the golden ratio (Phi).
Pi
Returns a factor of Pi.
Maximum
Return the greater of two items.
Minimum
Return the lesser of two items.
Transform Matrix
A 4x4 Transformation matrix
Merge Group
Merge two groups
Split Group
Split a group
Ungroup
Ungroup a set of objects
Octopus
Multi-objective seach and optimzation
Carve
Perform boolean operations on two meshes using the Carve library.

Vector > Plane

Plane Coordinates (PlCoord)
Get the coordinates of a point in a plane axis system.
Adjust Plane (PAdjust)
Adjust a plane to match a new normal direction
Align Plane (Align)
Perform minimal rotation to align a plane with a guide vector
Align Planes (Align)
Align planes by minimizing their serial rotation.
Construct Plane (Pl)
Construct a plane from an origin point and {x}, {y} axes.
Deconstruct Plane (DePlane)
Deconstruct a plane into its component parts.
Plane 3Pt (Pl 3Pt)
Create a plane through three points.
Plane Closest Point (CP)
Find the closest point on a plane.
Plane Fit (PlFit)
Fit a plane through a set of points.
Line + Line (LnLn)
Create a plane from two line segments.
Line + Pt (LnPt)
Create a plane from a line and a point.
Plane Normal (Pl)
Create a plane perpendicular to a vector.
Plane Offset (Pl Offset)
Offset a plane.
Plane Origin (Pl Origin)
Change the origin point of a plane
Rotate Plane (PRot)
Perform plane rotation around plane z-axis
XY Plane (XY)
World XY plane.
XZ Plane (XZ)
World XZ plane.
YZ Plane (YZ)
World YZ plane.

Input

Boolean Toggle
Boolean (true/false) toggle
Button
Button object with two values
Colour Picker
Provides a colour picker object
Colour Swatch
Colour (palette) swatch
Colour Wheel
Creates a palette of related colours
Control Knob
A radial dial knob for settings numbers
Digit Scroller
Numeric scroller for single numbers
Graph Mapper
Represents a numeric mapping function
Image Sampler
Provides image (bitmap) sampling routines.
MD Slider
A multidimensional slider
Number Slider
Numeric slider for single values
Panel
A panel for custom notes and text values
Value List
Provides a list of preset values to choose from
Calendar
Represents a calendar
Clock
Represents a 24 hour clock
Read File
Read the contents of a file
Gradient
Represents a multiple colour gradient
False Start Toggle
Just like a normal Boolean Toggle, except it always reverts to "False" on file open.

Maths > Operators

Series Addition (SA)
Perform serial addition until a goal has been reached
Equality (Equals)
Test for (in)equality of two numbers
Larger Than (Larger)
Larger than (or equal to)
Mass Addition (MA)
Perform mass addition of a list of items
Mass Multiplication (MM)
Perform mass multiplication of a list of numbers
Relative Differences (RelDif)
Compute relative differences for a list of data
Similarity (Similar)
Test for similarity of two numbers
Smaller Than (Smaller)
Smaller than (or equal to)
Integer Division (A\B)
Mathematical integer division
Factorial (Fac)
Returns the factorial of an integer.
Gate And (And)
Perform boolean conjunction (AND gate).
Gate Majority (Vote)
Calculates the majority vote among three booleans.
Gate Nand (Nand)
Perform boolean alternative denial (NAND gate).
Gate Nor (Nor)
Perform boolean joint denial (NOR gate).
Gate Not (Not)
Perform boolean negation (NOT gate).
Gate Or (Or)
Perform boolean disjunction (OR gate).
Gate Xnor (Xnor)
Perform boolean biconditional (XNOR gate).
Gate Xor (Xor)
Perform boolean exclusive disjunction (XOR gate).

Vector > Point

Project Point (Project)
Project a point onto a collection of shapes
Closest Point (CP)
Find closest point in a point collection.
Closest Points (CPs)
Find closest points in a point collection.
Construct Point (Pt)
Construct a point from {xyz} coordinates.
Cull Duplicates (CullPt)
Cull points that are coincident within tolerance
Deconstruct (pDecon)
Deconstruct a point into its component parts.
Distance (Dist)
Compute Euclidean distance between two point coordinates.
Numbers to Points (Pt2Num)
Convert a list of numbers to a list of points
Barycentric (BCentric)
Create a point from barycentric {u,v,w} coordinates
Point Cylindrical (Pt)
Create a point from cylindrical {angle,radius,elevation} coordinates.
Point Groups (PGroups)
Create groups from nearby points
Point Oriented (Pt)
Create a point from plane {u,v,w} coordinates.
Point Polar (Pt)
Create a point from polar {phi,theta,offset} coordinates.
To Polar (Polar)
Convert a 3D point to plane polar coordinates.
Points to Numbers (Pt2Num)
Convert a list of points to a list of numbers
Pull Point (Pull)
Pull a point to a variety of geometry.
Sort Points (Sort Pt)
Sort points by Euclidean coordinates (first x, then y, then z)
Sort Along Curve (AlongCrv)
Sort points along a curve

Vector > Vector

Vector XYZ (Vec)
Create a vector from {xyz} components.
Deconstruct Vector (DeVec)
Deconstruct a vector into its component parts.
Unit Vector (Unit)
Unitize vector.
Unit X (X)
Unit vector parallel to the world {x} axis.
Unit Y (Y)
Unit vector parallel to the world {y} axis.
Unit Z (Z)
Unit vector parallel to the world {z} axis.
Vector 2Pt (Vec2Pt)
Create a vector between two points.
Amplitude (Amp)
Set the amplitude (length) of a vector.
Angle
Compute the angle between two vectors.
Cross Product (XProd)
Compute vector cross product.
Divide (VDiv)
Perform vector-scalar division.
Dot Product (DProd)
Compute vector dot product.
Vector Length (VLen)
Compute the length (amplitude) of a vector.
Multiply (VMul)
Perform vector-scalar multiplication.
Reverse (Rev)
Reverse a vector (multiply by -1).
Rotate (VRot)
Rotate a vector around an axis.
Addition (VAdd)
Perform vector-vector addition.
Solar Incidence (Solar)
Gets the solar incidence vector for a certain time and place

Sets > List

Combine Data (Combine)
Combine non-null items out of several inputs
Dispatch
Dispatch the items in a list into two target lists.
Insert Items (Ins)
Insert a collection of items into a list.
Null Item (Null)
Test a data item for null or invalidity
Item Index (Index)
Retrieve the index of a certain item in a list.
List Item (Item)
Retrieve a specific item from a list.
List Length (Lng)
Measure the length of a list.
Partition List (Partition)
Partition a list into sub-lists
Pick'n'Choose (P'n'C)
Pick and choose from a set of input data.
Replace Items (Replace)
Replace certain items in a list.
Replace Nulls (NullRep)
Replace nulls or invalid data with other data
Reverse List (Rev)
Reverse the order of a list.
Shift List (Shift)
Offset all items in a list.
Sift Pattern (Sift)
Sift elements in a list using a repeating index pattern.
Sort List (Sort)
Sort a list of numeric keys.
Split List (Split)
Split a list into separate parts.
Sub List (SubSet)
Extract a subset from a list.
Weave
Weave a set of input data using a custom pattern.

Primitive

Boolean
Contains a collection of boolean values
Colour
Contains a collection of RGB colours
Complex
Contains a collection of complex numbers
Culture
Contains a collection of culture specifiers
File Path
Contains a collection of file paths
Data
Contains a collection of generic data
Guid
Contains a collection of Globally Unique Identifiers
Integer
Contains a collection of integer numbers
Domain
Contains a collection of numeric domains
Domain²
Contains a collection of 2D number domains
Matrix
Contains a collection of numeric matrices
Number
Contains a collection of floating point numbers
Shader
Contains a collection of display materials
Text
Contains a collection of text fragments
Data Path
Contains a collection of data-tree paths
Time
Contains a collection of times and dates
Mesh Pipe
Create a mesh pipe.
Mesh Sweep
Create a mesh sweep with one rail curve.

Tree

Path Mapper
Perform lexical operations on data trees.
Clean Tree
Removed all null and invalid items from a data tree.
Explode Tree
Extract all the branches from a tree
Flatten Tree
Flatten a data tree by removing all branching information.
Flip Matrix
Flip a matrix-like data tree by swapping rows and columns.
Graft Tree
Graft a data tree by adding an extra branch for every item.
Match Tree
Match one data tree with another.
Path Compare
Compare a path to a mask pattern
Prune Tree
Remove small branches from a Data Tree.
Replace Paths
Find & replace paths in a data tree
Shift Paths
Shift the indices in all data tree paths
Simplify Tree
Simplify a data tree by removing the overlap shared amongst all branches.
Stream Filter
Filters a collection of input streams
Stream Gate
Redirects a stream into specific outputs.
Split Tree
Split a data tree into two parts using path masks.
Trim Tree
Reduce the complexity of a tree by merging the outermost branches.
Unflatten Tree
Unflatten a data tree by moving items back into branches.

Intersect > Mathematical

Curve | Line (CLX)
Solve intersection events for a curve and a line.
Curve | Plane (PCX)
Solve intersection events for a curve and a plane.
Line | Line (LLX)
Solve intersection events for two lines.
Line | Plane (PLX)
Solve intersection event for a line and a plane.
Brep | Line (BLX)
Solve intersection events for a Brep and a line.
Brep | Plane (Sec)
Solve intersection events for a Brep and a plane (otherwise known as section).
Contour
Create a set of Brep or Mesh contours
Contour (ex) (Contour)
Create a set of Brep or Mesh contours
Mesh | Ray (MeshRay)
Intersect a mesh with a semi-infinite ray
Mesh | Plane (Sec)
Solve intersection events for a Mesh and a Plane (otherwise known as section).
Surface | Line (SLX)
Solve intersection events for a surface and a line.
IsoVist (IVist)
Compute an isovist sampling at a location
IsoVist Ray (IVRay)
Compute a single isovist sample at a location
Plane | Plane | Plane (3PX)
Solve the intersection events of three planes.
Plane | Plane (PPX)
Solve the intersection event of two planes.
Plane Region (PlReg)
Create a bounded region from intersecting planes.

Geometry

Circular Arc
Contains a collection of circular arcs
Box
Contains a collection of boxes
Brep
Contains a collection of Breps (Boundary REPresentations)
Curve
Contains a collection of generic curves
Field
Contains a collection of vector fields
Geometry
Contains a collection of generic geometry
Group
Contains a collection of geometric groups
Mesh
Contains a collection of polygon meshes
Mesh Face
Contains a collection of triangle or quad mesh faces
Plane
Contains a collection of three-dimensional axis-systems
Point
Contains a collection of three-dimensional points
Surface
Contains a collection of generic surfaces
Vector
Contains a collection of three-dimensional vectors
Geometry Cache
Bake or Load geometry to and from the Rhino document
Geometry Pipeline
Defines a geometry pipeline from Rhino to Grasshopper
Cloud
Contains a cloud

Intersect > Shape

Solid Difference (SDiff)
Perform a solid difference on two Brep sets.
Solid Intersection (SInt)
Perform a solid intersection on two Brep sets.
Split Brep (Split)
Split one brep with another.
Trim Solid (Trim)
Cut holes into a shape with a set of solid cutters.
Solid Union (SUnion)
Perform a solid union on a set of Breps.
Box Slits (Slits)
Add slits to a collection of intersecting boxes
Boundary Volume (BVol)
Create a closed polysurface from boundary surfaces
Region Difference (RDiff)
Difference between two sets of planar closed curves (regions)
Region Intersection (RInt)
Intersection between two sets of planar closed curves (regions)
Region Union (RUnion)
Union of a set of planar closed curves (regions)
Region Slits (RSlits)
Add slits to a collection of intersecting planar regions
Mesh Difference (MDif)
Perform a solid difference on two sets of meshes
Mesh Intersection (MInt)
Perform a solid intersection on a set of meshes
Mesh Union (MUnion)
Perform a solid union on a set of meshes
Mesh Split (MSplit)
Mesh Mesh split

Trig

ArcCosine
Compute the angle whose cosine is the specified value.
ArcSine
Compute the angle whose sine is the specified value.
ArcTangent
Compute the angle whose tangent is the specified value.
Cosine
Compute the cosine of a value
CoSecant
Compute the co-secant (reciprocal of the Sine) of an angle.
CoTangent
Compute the co-tangent (reciprocal of the Tangent) of an angle.
Secant
Compute the secant (reciprocal of the Cosine) of an angle.
Sine
Compute the sine of a value
Sinc
Compute the sinc (Sinus Cardinalis) of a value.
Tangent
Compute the tangent of a value
Centroid
Generate the triangle centroid from medians.
Circumcentre
Generate the triangle circumcentre from perpendicular bisectors.
Incentre
Generate the triangle incentre from angle bisectors.
Orthocentre
Generate the triangle orthocentre from altitudes.

Maths > Domain

Construct Domain\x00b2 (Dom\x00b2)
Create a two-dimensional domain from two simple domains.
Construct Domain\x00b2 (Dom\x00b2Num)
Create a two-dimensinal domain from four numbers.
Construct Domain (Dom)
Create a numeric domain from two numeric extremes.
Deconstruct Domain\x00b2 (DeDom2)
Deconstruct a two-dimensional domain into its component parts
Deconstruct Domain\x00b2 (DeDom2Num)
Deconstruct a two-dimensional domain into four numbers
Deconstruct Domain (DeDomain)
Deconstruct a numeric domain into its component parts.
Divide Domain\x00b2 (Divide)
Divides a two-dimensional domain into equal segments.
Divide Domain (Div)
Divide a domain into equal segments.
Find Domain (FDom)
Find the first domain that contains a specific value
Includes (Inc)
Test a numeric value to see if it is included in the domain
Consecutive Domains (Consec)
Create consecutive domains from a list of numbers
Bounds (Bnd)
Create a numeric domain which encompasses a list of numbers.
Bounds 2D (Bnd)
Create a numeric two-dimensional domain which encompasses a list of coordinates.
Remap Numbers (ReMap)
Remap numbers into a new numeric domain

Sets > Sets

Create Set (CSet)
Creates the valid set from a list of items (a valid set only contains distinct elements).
Find similar member (FSim)
Find the most similar member in a set.
Disjoint
Test whether two sets are disjoint.
SubSet
Test two sets for inclusion.
Key/Value Search (KeySearch)
Extract an item from a collection using a key-value match
Delete Consecutive (DCon)
Delete consecutive similar members in a set.
Replace Members (Replace)
Replace members in a set.
Carthesian Product (CProd)
Create the Carthesian product for two sets of identical cardinality.
Set Difference (Difference)
Create the difference of two sets (the collection of objects present in A but not in B).
Set Intersection (Intersection)
Creates the intersection of two sets (the collection of unique objects present in both sets).
Member Index (MIndex)
Find the occurences of a specific member in a set.
Set Difference (S) (ExDiff)
Create the symmetric difference of two sets (the collection of objects present in A or B but not both).
Set Majority (Majority)
Determine majority member presence amongst three sets.
Set Union (SUnion)
Creates the union of two sets (the collection of unique objects present in either set).

Sets > Sequence

Sequence (Seq)
Create a sequence of textual characters.
Fibonacci (Fib)
Creates a Fibonacci sequence.
Jitter
Randomly shuffles a list of values.
Random
Generate a list of pseudo random numbers.
Range
Create a range of numbers.
Series
Create a series of numbers.
Cull Index (Cull i)
Cull (remove) indexed elements from a list.
Cull Nth (CullN)
Cull (remove) every Nth element in a list.
Cull Pattern (Cull)
Cull (remove) elements in a list using a repeating bit mask.
Duplicate Data (Dup)
Duplicate data a predefined number of times.
Random Reduce (Reduce)
Randomly remove N items from a list
Repeat Data (Repeat)
Repeat a pattern until it reaches a certain length.
Stack Data (Stack)
Duplicate individual items in a list of data
RandomEx (RndEx)
Generate random data between extremes.

Sets > Text

Text Case (Case)
Change the CaSiNg of a piece of text
Concatenate (Concat)
Concatenate some fragments of text
Format
Format some data using placeholders and formatting tags
Text Fragment (Fragment)
Extract a fragment (subset) of some text
Replace Text (Rep)
Replace all occurences of a specific text fragment with another
Sort Text (TSort)
Sort a collection of text fragments
Text Distance (TDist)
Compute the Levenshtein distance between two fragments of text.
Text Join (Join)
Join a collection of text fragments into one
Text Length (Len)
Get the length (character count) of some text
Match Text (TMatch)
Match a text against a pattern
Text Split (Split)
Split some text into fragments using separators
Characters (Chars)
Break text into individual characters
Text Trim (Trim)
Remove whitespace characters from the start and end of some text.

Transform > Morph

Map to Surface (Map Srf)
Map a curve onto a surface via control points.
Bend Deform (Bend)
Deform a shape by bending it
Box Morph (Morph)
Morph an object into a twisted box.
Point Deform (PDeform)
Deform a shape by moving control-points individually
Blend Box (BlendBox)
Create a twisted box between two surfaces.
Surface Box (SBox)
Create a twisted box on a surface patch.
Twisted Box (TBox)
Create a twisted box from corner points.
Mirror Curve (Mirror)
Mirror a shape in a freeform curve.
Mirror Surface (Mirror)
Mirror geometry in a freeform surface.
Surface Morph (SrfMorph)
Morph geometry into surface UVW coordinates
Spatial Deform (Deform)
Perform spatial deformation based on custom space syntax.
Spatial Deform (custom) (Deform)
Perform spatial deformation based on custom space syntax.
Camera Obscura (CO)
Camera Obscura (point mirror) transformation.

Mesh > Triangulation

Delaunay Edges (Con)
Delaunay connectivity
Convex Hull (Hull)
Compute the planar, convex hull for a collection of points
Delaunay Mesh (Del)
Delaunay triangulation
Facet Dome (Facet)
Create a facetted dome
OcTree (OcT)
A three-dimensional oc-tree structure
Voronoi
Planar voronoi diagram for a collection of points
Proximity 2D (Prox)
Search for two-dimensional proximity within a point list
Proximity 3D (Prox)
Search for three-dimensional proximity within a point list
QuadTree (QT)
A two-dimensional quadtree structure
Voronoi Groups (VorGroup)
Compute a custom set of nested voronoi diagrams.
Substrate
Substrate algorithm inspired by Jared Tarbell (Complexification.net)
Voronoi 3D (Voronoi\x00b3)
Volumetric voronoi diagram for a collection of points
Voronoi Cell (VCell)
Compute a single 3D Voronoi cell

Surface > Util

Brep Join (Join)
Join a number of Breps together
Cap Holes Ex (CapEx)
Cap as many holes as possible in a Brep.
Cap Holes (Cap)
Cap all planar holes in a Brep.
Copy Trim (Trim)
Copy UV trim data from one surface to another.
Flip
Flip the normals of a surface based on local or remote geometry
Isotrim (SubSrf)
Extract an isoparametric subset of a surface.
Merge Faces (FMerge)
Merge all adjacent co-planar faces in a brep
Offset
Offset a surface by a fixed amount.
Offset Loose (Offset)
Offset a surface by moving the control points.
Retrim
Retrim a surface based on 3D trim data from another surface.
Untrim
Remove all trim curves from a surface.
Divide Surface (SDivide)
Generate a grid of {uv} points on a surface.
Surface Frames (SFrames)
Generate a grid of {uv} frames on a surface

Surface > Primitive

Bounding Box (BBox)
Solve oriented geometry bounding boxes.
Box 2Pt (Box)
Create a box defined by two points.
Box Rectangle (BoxRec)
Create a box defined by a rectangle and a height.
Center Box (Box)
Create a box centered on a plane.
Cone
Create a conical surface
Cylinder (Cyl)
Create a cylindrical surface.
Domain Box (Box)
Create a box defined by a base plane and size domains.
Plane Surface (PlaneSrf)
Create a plane surface
Plane Through Shape (PxS)
Make a rectangular surface that is larger than a given shape.
Sphere (Sph)
Create a spherical surface.
Sphere 4Pt (Sph4Pt)
Create a spherical surface from 4 points.
Sphere Fit (SFit)
Fit a sphere to a 3D collection of points

Curve > Division

Dash Pattern (Dash)
Convert a curve to a dash pattern.
Shatter
Shatter a curve into segments.
Contour
Create a set of Curve contours
Contour (ex) (Contour)
Create a set of Curve contours
Curve Frames (Frames)
Generate a number of equally spaced curve frames.
Horizontal Frames (HFrames)
Generate a number of equally spaced, horizontally aligned curve frames.
Perp Frames (PFrames)
Generate a number of equally spaced, perpendicular frames along a curve.
Divide Curve (Divide)
Divide a curve into equal length segments
Divide By Deviation (DivideDev)
Divide a curve into segments with equal deviation
Divide Distance (DivDist)
Divide a curve with a preset distance between points
Divide Length (DivLength)
Divide a curve into segments with a preset length

Intersect > Physical

Curve | Curve (CCX)
Solve intersection events for two curves.
Curve | Self (CX)
Solve all self intersection events for a curve.
Multiple Curves (MCX)
Solve intersection events for multiple curves.
Brep | Curve (BCX)
Solve intersection events for a Brep and a curve.
Brep | Brep (BBX)
Solve intersection events for two Breps.
Surface | Curve (SCX)
Solve intersection events for a surface and a curve.
Surface Split (SrfSplit)
Split a surface with a bunch of curves.
Mesh | Curve (MCX)
Mesh Curve intersection
Mesh | Mesh (MMX)
Mesh Mesh intersection
Collision Many|Many (ColMM)
Test for many|many collision between objects
Collision One|Many (ColOM)
Test for one|many collision between objects

Maths > Util

Interpolate data (Interp)
Interpolate a collection of data.
Average (Avr)
Solve the arithmetic average for a set of items
Extremes (Extrz)
Find the extremes in a list of values
Truncate (Trunc)
Perform truncation of numerical extremes
Weighted Average (Wav)
Solve the arithmetic weighted average for a set of items
Round
Round a floating point value.
Complex Argument (Arg)
Get the argument of a Complex number
Complex Components (Complex)
Extract the Real and Imaginary components from a complex number
Complex Conjugate (z*)
Create the conjugate of a Complex number
Complex Modulus (CMod)
Get the modulus of a Complex number
Create Complex (Complex)
Create a complex number from a Real and an Imaginary component

Transform > Euclidean

Sanity XForm (MWHAHAHA!!)
Apply a sanity transformation to f a r - a w a y, tiny or HUGE geometry
Mirror
Mirror an object.
Move
Translate (move) an object along a vector.
Move Away From (MoveAway)
Translate (move) an object away from another object.
Move To Plane (MoveToPlane)
Translate (move) an object onto a plane.
Orient
Orient an object. Orientation is sometimes called a 'ChangeBasis tranformation'. It allows for remapping of geometry from one axis-system to another.
Rotate
Rotate an object in a plane.
Rotate 3D (Rot3D)
Rotate an object around a center point and an axis vector.
Rotate Axis (RotAx)
Rotate an object around an axis.
Rotate
Rotate an object in a plane.

Dimensions

Text Tag 3D
Represents a list of 3D text tags in a Rhino viewport
Text Tag
Represents a list of text tags in a Rhino viewport
Aligned Dimension
Create a distance annotation between two points
Arc Dimension
Create an angle annotation based on an arc.
Circular Dimension
Create an angle annotation projected to a circle.
Angular Dimension
Create an angle annotation between points.
Linear Dimension
Create a distance annotation between points, projected to a line.
Line Dimension
Create a distance annotation along a line.
Marker Dimension
Create a text annotation at a point
Serial Dimension
Create a distance annotation between multiple points, projected to a line.

Sets > Tree

Entwine
Flatten and combine a collection of data streams
Merge Multiple (Merge)
Merge multiple input streams into one
Merge
Merge a bunch of data streams
Construct Path (Path)
Construct a data tree branch path.
Deconstruct Path (DPath)
Deconstruct a data tree path into individual integers.
Relative Item (RelItem)
Retrieve a relative item combo from a data tree
Relative Items (RelItem2)
Retrieve a relative item combo from two data trees
Tree Branch (Branch)
Retrieve a specific branch from a data tree.
Tree Item (Item)
Retrieve a specific item from a data tree.
Tree Statistics (TStat)
Get some statistics regarding a data tree.

Display > Colour

Spectral (Spec)
Spectral test
Colour CMYK (CMYK)
Create a colour from floating point {CMYK} channels.
Colour HSL (HSL)
Create a colour from floating point {HSL} channels.
Colour L*ab (L*AB)
Create a colour from floating point {CIE L*ab} channels.
Colour LCH (LCH)
Create a colour from floating point {CIE LCH} channels.
Colour RGB (RGB)
Create a colour from {RGB} channels.
Colour RGB (f) (fRGB)
Create a colour from floating point {RGB} channels.
Split AHSV (AHSV)
Split a colour into floating point {AHSV} channels
Split ARGB (ARGB)
Split a colour into floating point {ARGB} channels.
Colour XYZ (XYZ)
Create a colour from floating point {XYZ} channels (CIE 1931 spec).

Transform > Affine

Box Mapping (BoxMap)
Transform geometry from one box into another.
Orient Direction (Orient)
Orient an object using directional constraints only.
Project
Project an object onto a plane.
Project Along (ProjectA)
Project an object onto a plane along a direction.
Rectangle Mapping (RecMap)
Transform geometry from one rectangle into another.
Scale
Scale an object uniformly in all directions.
Scale NU
Scale an object with non-uniform factors.
Shear Angle (Shear)
Shear an object based on tilt angles.
Shear
Shear an object based on a shearing vector.
Triangle Mapping (TriMap)
Transform geometry from one triangle into another.

Polynomials

Power of 10
Raise 10 to the power of N.
Power of 2
Raise 2 to the power of N.
Cube
Compute the cube of a value
Cube Root
Compute the cube root of a value
Power of E
Raise E to the power of N.
Logarithm
Compute the Base-10 logarithm of a value.
One Over X
Compute one over x.
Square Root
Compute the square root of a value
Log N
Return the N-base logarithm of a number.

Mesh > Primitive

Construct Mesh (ConMesh)
Construct a mesh from vertices, faces and optional colours.
Mesh Box (MBox)
Create a mesh box.
Mesh Colours (MCol)
Assign a repeating colour pattern to a mesh object.
Mesh Spray (MSpray)
Assign colours to a mesh based on spray points.
Mesh Plane (MPlane)
Create a mesh plane.
Mesh Sphere (MSphere)
Create a mesh sphere.
Mesh Sphere Ex (MSphereEx)
Create a mesh sphere from square patches.
Mesh Quad (Quad)
Create a mesh quad.
Mesh Triangle (Triangle)
Create a mesh triangle.

Vector > Field

Break Field (BreakF)
Break a field into individual elements
Line Charge (LCharge)
Create a field due to a line charge
Point Charge (PCharge)
Create a field due to a point charge
Spin Force (FSpin)
Create a field due to a spin force
Vector Force (FVector)
Create a field due to a vector force
Evaluate Field (EvF)
Evaluate a field at a point
Tensor Display (FTensor)
Display the tensor vectors of a field section
Field Line (FLine)
Compute the field line through a certain point
Merge Fields (MergeF)
Merge a collection of fields into one

Mesh > Analysis

Deconstruct Face (DeFace)
Deconstruct a mesh face into its four corner indices.
Deconstruct Mesh (DeMesh)
Deconstruct a mesh into its component parts.
Mesh Closest Point (MeshCP)
Finds the closest point on a mesh
Mesh Edges (MEdges)
Get all the edges of a mesh
Mesh Eval (MEval)
Evaluate a mesh at a given parameter
Face Boundaries (FaceB)
Convert all mesh faces to polylines
Face Circles (FaceC)
Solve the circumscribed circles for all mesh faces
Face Normals (FaceN)
Extract the normals and center points of all faces in a mesh
Mesh Inclusion (MInc)
Test a point for Mesh inclusion

Math > Time

Combine Date & Time (CDate)
Combine a pure date and a pure time into a single date
Construct Date (Date)
Construct a date and time instance.
Construct Exotic Date (DateEx)
Construct a date using a specific calendar
Construct Smooth Time (SmTime)
Construct a time instance from smooth components
Construct Time (Time)
Construct a time instance
Date Range (RDate)
Create a range of successive dates or times
Deconstruct Date (DDate)
Deconstruct a date into years, months, days, hours, minutes and seconds
Interpolate Date (IntDate)
Interpolate between two dates or times.

Vector > Grid

Populate 3D (Pop3D)
Populate a 3-Dimensional region with points
Populate Geometry (PopGeo)
Populate generic geometry with points
Populate 2D (Pop2D)
Populate a 2-Dimensional region with points
Hexagonal (HexGrid)
2D grid with hexagonal cells
Radial (RadGrid)
2D radial grid
Rectangular (RecGrid)
2D grid with rectangular cells
Square (SqGrid)
2D grid with square cells
Triangular (TriGrid)
2D grid with triangular cells

Operators

Absolute
Compute the absolute of a value.
Negative
Compute the negative of a value.
Division
Mathematical division
Modulus
Divides two numbers and returns only the remainder.
Multiplication
Mathematical multiplication
Power
Raise a value to a power.
Subtraction
Mathematical subtraction

Intersect > Region

Split with Brep (Split)
Split a curve with a Brep.
Split with Breps (Split)
Split a curve with multiple Breps.
Trim with Brep (Trim)
Trim a curve with a Brep.
Trim with Breps (Trim)
Trim a curve with multiple Breps.
Trim with Regions (Trim)
Trim a curve with multiple regions.
Trim with Region (Trim)
Trim a curve with a region.

Maths > Matrix

Construct Matrix (Matrix)
Construct a matrix from initial values
Deconstruct Matrix (DeMatrix)
Deconstruct a matrix into its component parts
Invert Matrix (MInvert)
Invert a matrix
Swap Columns (SwapC)
Swap two columns in a matrix
Swap Rows (SwapR)
Swap two rows in a matrix
Transpose Matrix (Transpose)
Transpose a matrix (swap rows and columns)

Transform > Array

Box Array (ArrBox)
Create a box array of geometry.
Curve Array (ArrCurve)
Create an array of geometry along a curve.
Linear Array (ArrLinear)
Create a linear array of geometry.
Polar Array (ArrPolar)
Create a polar array of geometry.
Rectangular Array (ArrRec)
Create a rectangular array of geometry.
Kaleidoscope (KScope)
Apply a kaleidoscope transformation to an object.

Params > Input

Atom Data (Atom)
Get detailed information for an atom
Import Image (IMG)
Import image data from bmp, jpg or png files.
Import PDB (PDB)
Import data from Protein Data Bank *.pdb files.
Import Coordinates (Coords)
Import point coordinates from generic text files.
Import 3DM (3DM)
Import geometry from Rhino 3dm files.
Import SHP (SHP)
Import data from GIS *.shp files.

Graphs

Bar Graph
Bar graph representation of a set of numbers
Pie Chart
Displays a set of text fragments as a pie chart
Quick Graph
Display a set of y-values as a graph
Value Tracker
Track a collection of numeric values over time
Legend
Display a legend consisting of Tags and Colours

Cocoon

Brep Charge
Metaball charge from Brep
Cocoon
Wrap geometry with marching cubes
Curve Charge
Metaball charge from curve
Curve Group Charge
Metaball charge for group of curves
Refine
Refine the output from cocoon

Display > Vector

Point List (Points)
Displays details about lists of points
Point Order (Order)
Displays the order of a list of points
Vector Display (VDis)
Preview vectors in the viewport
Vector Display Ex (VDisEx)
Preview vectors in the viewport

Transform > Util

Transform
Transform an object.
Compound (Comp)
Compound two transformations.
Inverse Transform (Inverse)
Invert a transformation.
Split
Split a compound transformation into fragments.

Script

C# Script
A C#.NET scriptable component
VB Script
A VB.NET scriptable component
Python Script
A python scriptable component

Domain

Construct Domain²
Create a two-dimensional domain from two simple domains.
Deconstruct Domain²
Deconstruct a two-dimensional domain into its component parts
Divide Domain²
Divides a two-dimensional domain into equal segments.

List

Cross Reference
Cross Reference data from multiple lists
Longest List
Grow a collection of lists to the longest length amongst them
Shortest List
Shrink a collection of lists to the shortest length amongst them

Triangulation

MetaBall
2D Metaball isocurve through point
MetaBall(t)
2D Metaball isosurface by threshold
MetaBall(t) Custom
2D Metaball isosurface by threshold and custom charge values

Field

Direction Display
Display the force directions of a field section
Scalar Display
Display the scalar values of a field section
Perpendicular Display
Display the perpendicularity of a field through a section

Display > Preview

Create Material (Material)
Create an OpenGL material.
Cloud Display (Cloud)
Draw a collection of points as a fuzzy cloud
Dot Display (Dots)
Draw a collection of coloured dots

Math > Trig

Right Trigonometry (RTrig)
Right triangle trigonometry
Triangle Trigonometry (Trig)
Generic triangle trigonometry

Analysis

Point On Curve
Evaluates a curve at a specific location
Curvature Graph
Draws Rhino Curvature Graphs.

Maths > Trig

Degrees (Deg)
Convert an angle specified in radians to degrees
Radians (Rad)
Convert an angle specified in degrees to radians

Maths > Script

Evaluate (Eval)
Evaluate an expression with a flexible number of variables.
Expression
Evaluate an expression

Maths > Time

Realtime (RealTime)
Provides realtime data representing date and time values

Vector > Colour

Blend Colours (BlendCol)
Interpolate (blend) between two colours.

XForm > Mapping

Poincare Map (Poincare)
Represents a conformal mapping from Euclidean 2 space to Poincare hyperbolic disc

Params > Util

Fitness Landscape (LScape)
Display a 2.5D fitness landscape

Matrix

Display Matrix
Display a matrix

Math > Operators

Addition (A+B)
Mathematical addition

Preview

Custom Preview
Allows for customized geometry previews

Math > Util

Blur Numbers (NBlur)
Blur a list of numbers by averaging neighbours

© 2018   Created by Robin Rodricks and Andrew Heumann.   Hosted by

Badges  |  Report an Issue  |  Terms of Service