Grasshopper Docs

Community documentation for Grasshopper add-ons & plugins

Kangaroo 2

ADDON. Version 2.3.3. Released on 2019-Dec-15. Provides 98 components. Created by Daniel Piker. Features 33 video tutorials.
Components for form-finding, physics simulation, geometric constraint solving and optimization
Goals-6dof
Goals-Angle
Goals-Co
Goals-Col
Goals-Lin
Goals-Mesh
Goals-On
Goals-Pt
Main
Mesh
Utility

Mesh

By Parent (ByParent)
Refine a Mesh, separating outputs by parent face
Checkerboard
Attempt to separate a mesh into 2 lists of non-adjacent faces
Diagonalize (Diag)
Replace each edge with a new face
Face Face Offset (FaceFace)
Offset a conical mesh so that corresponding faces are constant distance apart
Fold Angle (FoldAngle)
Measure the current angle between two triangles about their common edge
Hinge Points (HingePoints)
Get the 4 points for each internal edge to use in a Hinge Force
Combine&Clean (Clean)
Combine and Clean a list of meshes, removing unused and duplicate vertices
Mesh Corners (MC)
Extract corners sharper than some angle
Mesh Direction (MD)
Sort the face directions of a mesh
Mesh Map (MeshMap)
Map points from one mesh to another
Mesh Turn (Turn)
Rotate the vertex order of each face
Naked Vertices (NV)
Sorts the vertices of a mesh into 2 lists according to whether or not they are surrounded by faces
Refine
Divide each quad into 4 quads, and each triangle into 4 triangles
Refine Strips (Strips)
Directional subdivision, refines quads in one direction only
Simple Remesh (SimpleRemesh)
Isotropically remesh a Brep or Mesh
Stripper
Divide a mesh into strips
Tangent Circles (TC)
Generate face incircles, circle packing centred on vertices, or incircular dual
Unroller
Unroll a strip of quads
Vertex Neighbours (VN)
Returns the positions of the vertices connected the given vertex by an edge
Warp Weft (WarpWeft)
Separate the edges of a mesh into 2 lists according to Warp and Weft direction
Remesh By Colour (RemeshByColour)
Remeshing with edge lengths dependent on the vertex colours of the input mesh

Goals-Mesh

Conicalize (Conical)
Adjust a quad mesh to make vertices conical - so the mesh has a face-face offset (See the paper 'The focal geometry of circular and conical meshes' for details). Use together with Planarize
Cyclic Quad (CyclicQuad)
Make a quadrilateral have a circumscribed circle
Developablize
Turn a triangular mesh into developable patches with creases. Based on the paper 'Developability of Triangle Meshes' by Stein, Grinspun & Crane
Edge Lengths (EdgeLengths)
Set the edge lengths of a mesh
Hinge
Hinge
Isothermic (Iso)
Make a quad mesh S-Isothermic, as described in the paper 'Quasiisothermic Mesh Layout' by Sechelmann, Rörig & Bobenko
Live Soap (LS)
For generating minimal and CMC (zero and constant mean curvature respectively) meshes which adapt their connectivity during relaxation to maintain triangle quality
No Fold Through (NoFoldThrough)
To stop the sides of a hinge passing through each other
Planarize
Planarize
Plastic Hinge (PH)
Like Hinge, except folding beyond the plastic/elastic threshold will alter the rest angle
Polygon Area (PolygonArea)
PolygonArea
Pressure
A force normal to each triangle, and proportional to its area
Smooth
Smooth
Soap Film (SG)
For generating zero mean curvature meshes
Tangential Smooth (TSmooth)
Smooth a mesh only in the local tangent planes. Used in conjunction with SoapFilm
Tangent Incircles (TangentIncircles)
TangentIncircles
Vertex Loads (VertexLoads)
Apply equal vertical loads to all vertices of a mesh
Volume
Set the total volume of a mesh
Wind
Wind

Goals-Pt

Anchor
Anchor
Anchor XYZ (AnchorXYZ)
Fix a point only along chosen world axes. If you need to reset the initial position, disconnect then reconnect the Point input.
Bomb (B)
Causes an explosion after a given number of iterations
Coincident (C)
Equivalent to a zero length constraint between a pair of points
Floor
Floor
Magnet Snap (MS)
Snap points together according to proximity
Plastic Anchor (PlasticAnchor)
PlasticAnchor
Transform
Keep a given transformation between 2 points
Load
Load

Goals-Lin

Clamp Length (ClampLength)
Keep length within given bounds
Constant Tension (CT)
An element which adapts its stiffness to maintain a constant force
Direction
Align a line segment with a given vector, or if none supplied, the closest of the World XYZ vectors
Dynamic Weight1d (DW)
A load in the negative Z direction, which updates its magnitude according to the length of the line
Equal Length (EqualLength)
EqualLength
Length Ratio (LengthRatio)
Maintain a fixed ratio between the lengths of a pair of lines
Length Snap (LengthSnap)
Snap length to whole number multiples of a given number
Plastic Length (PL)
This tries to preserve the length of the line elastically, until it is deformed beyond the limit, then its rest length gets changed
Length(Line)
Length(Line)

Goals-6dof

Align Faces (AlignFaces)
Align faces of a pair of rigid bodies
Beam
Beam resisting bending and torsion
Concentric
Align axes of a pair of rigid bodies
Rigid Body (RigidBody)
RigidBody
Rigid Point Set (RigidPointSet)
A set of points which maintain their relative positions
Solid Collide (SolidCollide)
Collision between a pair of solids
Solid Plane Collide (SolidPlaneCollide)
Collision between a plane and a solid
Support
Set support conditions for a beam end or rigid body

Main

Show
Show
Grab
This lets you drag Kangaroo particles in Rhino viewports
Bouncy Solver (BouncySolver)
Solver with momentum
Solver
The main component where Goals are combined and applied
Soft & Hard Solver (Soft&HardSolver)
Solver with separate inputs for soft goals, and hard constraint type goals
Zombie Solver (ZombieSolver)
A version of the solver component which keeps all iterations internal, and outputs the final result
Step Solver (StepSolver)
Solver which advances only when input refreshed. Useful for making animations

Goals-Angle

Angle
Angle
Angle Snap (AS)
Snap the angle between 2 lines to the closest whole number multiple of a given value
Clamp Angle (ClampAngle)
Keep an angle between 2 lines within a given range
Equal Angle (EA)
Equalize angles between multiple pairs of lines
G2
Maintain curvature continuity between 2 nurbs curves
Rod
Bending and stretching resistant rod

Goals-Col

Collider
Collisions between thickened line segments and spheres
Curve Point Collide (CPC)
Keep a set of points outside or inside a given 2d curve
Curve Collide (CC)
Collisions between closed curves in a given plane
Image Circles (ImgCircles)
Circle packing with sizes from image colours
Solid Point Collide (SPC)
Keep a set of points outside or inside a given Mesh
Sphere Collide (SC)
Collisions between large numbers of equal sized spheres

Utility

Dot Display (Dot)
Show points as round dots
interconnect Points (inter)
Draws one line between every pair of points in a list
Möbius Transformation (MB)
3d Möbius Transformations of any geometry using 4d rotation
remove Duplicate Lines (dupLn)
Removes similar lines from a list.
remove Duplicate Pts (dupPt)
Removes similar points from a list
Split At Corners (SplitAtCorners)
Break a polyline into multiple parts based on angle

Goals-Co

Co Circular (CoCircular)
CoCircular
Co Linear (CoLinear)
CoLinear
Co Planar (CoPlanar)
CoPlanar
Co Spherical (CoSpherical)
CoSpherical

Goals-On

On Curve (OnCurve)
Keep a point on a given Curve
On Mesh (OnMesh)
Keep a point on a given Mesh
On Plane (OnPlane)
Keep a point on a given plane

Video Tutorials

Site design © Robin Rodricks.   Kangaroo 2 and associated data © 2020 Daniel Piker.  
Rhinoceros and Grasshopper are registered trademarks of Robert McNeel & Associates.  Hosted by GitHub

Report an Issue  |  Terms of Service