﻿ Kangaroo 2 - Addon for Grasshopper | Grasshopper Docs

Community documentation for Grasshopper add-ons & plugins

# Kangaroo 2

##### 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
 SubD
 Triangulation
 Utility

### Mesh

 BipartiteAttempt to assign a boolean to each vertex of a mesh such that no connected vertices share the same value By Parent (ByParent)Refine a Mesh, separating outputs by parent face CheckerboardAttempt to assign a boolean to each face of a mesh such that no adjacent faces share the same value 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 Planarity Analysis (PA)Display face planarity as a coloured mesh RefineDivide each quad into 4 quads, and each triangle into 4 triangles Refine Strips (Strips)Directional subdivision, refines quads in one direction only StripperDivide a mesh into strips Tangent Circles (TC)Generate face incircles, circle packing centred on vertices, or incircular dual UnrollerUnroll 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 DevelopablizeTurn 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 HingeHinge 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 PlanarizePlanarize Plastic Hinge (PH)Like Hinge, except folding beyond the plastic/elastic threshold will alter the rest angle Polygon Area (PolygonArea)PolygonArea PressureA force normal to each triangle, and proportional to its area SmoothSmooth 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 VolumeSet the total volume of a mesh WindWind

### Goals-Pt

 AnchorAnchor 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 FloorFloor Floor Friction (Floor)Floor with static friction Magnet Snap (MS)Snap points together according to proximity Plastic Anchor (PlasticAnchor)PlasticAnchor TransformKeep a given transformation between 2 points LoadLoad

### Goals-Lin

 Clamp Length (ClampLength)Keep length within given bounds Constant Tension (CT)An element which adapts its stiffness to maintain a constant force DirectionAlign 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 BeamBeam resisting bending and torsion ConcentricAlign axes of a pair of rigid bodies Rigid Body (RigidBody)RigidBody Rigid Point Set (RigidPointSet)A set of points which maintain their relative positions Rigid Body Collide (RigidBodyCollide)Collision between a pair of rigid bodies Solid Plane Collide (SolidPlaneCollide)Collision between a plane and a solid SupportSet support conditions for a beam end or rigid body

### Goals-Col

 ColliderCollisions 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 Soft Body Collide (SoftBodyCollide)Collisions between a collection of deformable meshes 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

### Main

 ShowShow GrabThis lets you drag Kangaroo particles in Rhino viewports Bouncy Solver (BouncySolver)Solver with momentum SolverThe 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

 AngleAngle 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 G2Maintain curvature continuity between 2 nurbs curves RodBending and stretching resistant rod

### 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

### SubD

 Multi Pipe (MP)Create a branching pipe around a network of lines/curves Sub D Fuse (Fuse)Combine 2 SubD objects

### Triangulation

 Tri Remesh (TriRemesh)Convert a Brep or Mesh into a mesh of near equilateral triangles

## Video Tutorials

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