We need your help! 🔥
Please consider disabling your ad-blocker to support this website! 🔑
We are a free, community-supported website! 🥰
We only display small unobtrusive ads which help us stay online! 💯
Thank you in advance! ❤️
Analyze
Edit
Effects
Loop
Make
Map
Modify
Select
Show
Smooth
Subdivision
Volume
Weave

MeshPlus

ADDON. Version 2.1.03. Released on 2019-Sep-12. Provides 136 components. Created by David Mans. Features 0 video tutorials.
Mesh+ is a set of user objects which enable a wide range of mesh editing, creation, interaction, and topology modification within Grasshopper 3d.

Subdivision

Frame+0 (m+Frame+0)
Replaces selected faces of a mesh or the interior of a curve with a frame around the edge by evaluating a point from the face's vertex to its center, creating 0 new points along the edge.
Frame+1 (m+Frame+1)
Replaces selected faces of a mesh or the interior of a curve with a frame around the edge by evaluating points from the face's vertex and edge midpoint to its center, creating 1 new points along the edge
Frame+2 (m+Frame+2)
Replaces selected faces of a mesh or the interior of a curve with a frame around the edge by evaluating a point from the face's vertex to its center, creating 2 new points along the edge.
Frame+3 (m+Frame+3)
Replaces selected faces of a mesh or the interior of a curve with a frame around the edge by evaluating points from the face's vertex and edge midpoint to its center, creating 3 new points along the edge
T+3 (m+T+3)
Replaces selected faces of a mesh or the interior of a curve with a frame around the edge by evaluating a point from the face's vertex to its center, creating 3 new points along the edge and removing the face's vertex
Tri Frame+1 (m+Tri Frame+1)
Replaces selected faces of a mesh or the interior of a curve with a frame around the edge by evaluating a point from the face's vertex to its center, creating 1 new points along the edge.
Tri Frame+2 (m+Tri Frame+2)
Replaces selected faces of a mesh or the interior of a curve with a frame around the edge by evaluating a point from the face's vertex to its center, creating 2 new points along the edge and removing the existing face's vertex
Tri Frame+3 (m+Tri Frame+3)
Replaces selected faces of a mesh or the interior of a curve with a frame around the edge by evaluating points from the face's vertex and edge midpoint to its center, creating 3 new points along the edge
Aperture+0 (m+Aperture+0)
Replaces selected faces of a mesh or the interior of a curve with a frame around the edge by evaluating points from the points along face's edges to its center, creating 0 new points along the edge.
Aperture+2 (m+Aperture+2)
Replaces selected faces of a mesh or the interior of a curve with a frame around the edge by evaluating points from points along the face's edge to its center, creating 2 new points along the edge and removing the face's vertex
Aperture+3 (m+Aperture+3)
Replaces selected faces of a mesh or the interior of a curve with a frame around the edge by evaluating points from points along the face's edge to its center, creating 3 new points along the edge and removing the face's vertex
Center+1 (m+Center+1)
Replaces selected faces of a mesh or the interior of a curve with a frame around the edge by creating 1 new points along the edge.
Center+3 (m+Center+3)
Replaces selected faces of a mesh or the interior of a curve with a frame around the edge by creating 3 new points along the edge and removes the face's vertex.
Dense+1 (m+Dense+1)
Replaces selected faces of a mesh or the interior of a curve with a frame around the edge by adding a vertex at the face center and creating 1 new point along the edge.
Fan+2 (m+Fan+2)
Replaces selected faces of a mesh or the interior of a curve with a frame around the edge by creating 2 new points along the edge and one at its center, removing the face's vertex.
Fan+3 (m+Fan+3)
Replaces selected faces of a mesh or the interior of a curve with a frame around the edge by creating 3 new points along the edge and removing the face's vertex.
Pinwheel+2 (m+Pinwheel+2)
Replaces selected faces of a mesh or the interior of a curve with a frame around the edge by creating 2 new points along the edge and removing the face's vertex.
Snub+0 (m+Snub+0)
Replaces selected faces of a mesh or the interior of a curve with a frame around the edge by evaluating a point from the face's edge midpoint to its center, creating 0 new points along the edge.
Snub+1 (m+Snub+1)
Replaces selected faces of a mesh or the interior of a curve with a frame around the edge by evaluating a point from the face's edge midpoint to its center, creating 1 new points along the edge.
Snub+2 (m+Snub+2)
Replaces selected faces of a mesh or the interior of a curve with a frame around the edge by evaluating a point from the face's edge midpoint to its center, creating 2 new points along the edge and removing the face's vertex
Snub+3 (m+Snub+3)
Replaces selected faces of a mesh or the interior of a curve with a frame around the edge by evaluating a point from the face's edge midpoint to its center, creating 3 new points along the edge and removing the face's vertex
Stellate+0 (m+Stellate+0)
Replaces selected faces of a mesh or the interior of a curve with a frame around the edge by adding a vertex at the face center and creating 0 new points along the edge.
X+2 (m+X+2)
Replaces selected faces of a mesh or the interior of a curve with a frame around the edge by evaluating a point from the face's edge midpoint to its center, creating 2 new points along the edge.

Analyze

Connected Edge Angles (m+V-E Ang)
Returns the angle at each vertex normal of a mesh tested against the vector along each connected edge.
Connected Edge Lengths (m+VEL)
Returns the cumulative length of each edge connected to a given vertex.
Connected Faces (m+ConFace)
Returns the number of faces connected to each face.
Connected Vertex Normal Angle (m+V-V Ang)
Returns the angle at each vertex normal of a mesh tested against the connected vertex normals.
Edge Lengths (m+EdgeLen)
Returns the length for each edge of the mesh.
Edge Shared Face Angles (m+EdgeAng)
Returns the angle of the faces connected to each edge.
Extract Edges (m+Edges)
Returns the edge lines and topology vertices in the topology order of the mesh.
Face Edge Lengths (m+FEL)
Returns the cumulative edge length of each face of a mesh.
Face Normal Direction (m+FaceDir)
Returns the angle at each face normal of a mesh tested against a vector.
Face to Face Angles (m+F-F Ang)
Returns the angle at each face normal of a mesh tested against its connected face normals.
Face Vertex Angles (m+F-V Ang)
Returns the angle at each face normal of a mesh tested the normals at it's vertices.
Mesh Face Area (m+FaceArea)
Returns the area of each face of a mesh.
Topology Vertices (m+Vert)
Returns the mesh vertices per earch topology vertex of the mesh.
Unitize Mesh Distances (m+Unit)
Returns a unitized value for each specifed component of a mesh, vertex, face center, or edge midpoint based on its distance to the closest sample index point relative to the furthest point from all sample points
Valence (m+Valence)
Returns the valence or number of connected vertices to a given vertex.
Vertex Face Angles (m+V-F Ang)
Returns the angle at each vertex normal of a mesh tested against the connected vertex normals.
Vertex Normal Direction (m+VecDir)
Returns the angle at each vertex normal of a mesh tested against a vector.

Volume

Batwing (m+Batwing)
Creates a volumetric mesh from either a single mesh face and depth or between two parallel meshes of idential construction based on the topology of the Batwing adapted with parametric inputs to the geometric proportions within the bounds of each offset pair of mesh faces
Box (m+Box)
Creates a mesh which spans two meshes bridging them from either the vertex or edge center
CLP (m+CLP)
Creates a volumetric mesh from either a single mesh face and depth or between two parallel meshes of idential construction based on the topology of the Schwarz CLP adapted with parametric inputs to the geometric proportions within the bounds of each offset pair of mesh faces
Cross (m+Cross)
Creates a mesh which spans two meshes bridging them from the face center and connecting faces at either the vertex point or edge centers
D (m+D)
Creates a volumetric mesh from either a single mesh face and depth or between two parallel meshes of idential construction based on the topology of the Schwarz D adapted with parametric inputs to the geometric proportions within the bounds of each offset pair of mesh faces
F-RD (m+F-RD)
Creates a volumetric mesh from either a single mesh face and depth or between two parallel meshes of idential construction based on the topology of the Schoen F-RD adapted with parametric inputs to the geometric proportions within the bounds of each offset pair of mesh faces
F-RDr (m+F-RDr)
Creates a volumetric mesh from either a single mesh face and depth or between two parallel meshes of idential construction based on the topology of the Schoen F-RDr adapted with parametric inputs to the geometric proportions within the bounds of each offset pair of mesh faces
F-RDr2 (m+F-RDr2)
Creates a volumetric mesh from either a single mesh face and depth or between two parallel meshes of idential construction based on the topology of the Schoen F-RDr with higher vertex count, adapted with parametric inputs to the geometric proportions within the bounds of each offset pair of mesh faces
I-WP (m+I-WP)
Creates a volumetric mesh from either a single mesh face and depth or between two parallel meshes of idential construction based on the topology of the Schoen I-WP adapted with parametric inputs to the geometric proportions within the bounds of each offset pair of mesh faces
I-WPr (m+I-WPr)
Creates a volumetric mesh from either a single mesh face and depth or between two parallel meshes of idential construction based on the topology of the Schoen I-WPr adapted with parametric inputs to the geometric proportions within the bounds of each offset pair of mesh faces
Nevious (m+Nevious)
Creates a volumetric mesh from either a single mesh face and depth or between two parallel meshes of idential construction based on the topology of the Neovious adapted with parametric inputs to the geometric proportions within the bounds of each offset pair of mesh faces
P (m+P)
Creates a volumetric mesh from either a single mesh face and depth or between two parallel meshes of idential construction based on the topology of the Schwarz P adapted with parametric inputs to the geometric proportions within the bounds of each offset pair of mesh faces
Pa (m+Pa)
Creates a volumetric mesh from either a single mesh face and depth or between two parallel meshes of idential construction based on the topology of the Schwarz Pa adapted with parametric inputs to the geometric proportions within the bounds of each offset pair of mesh faces
SS (m+SS)
Creates a volumetric mesh from either a single mesh face and depth or between two parallel meshes of idential construction based on the topology of the SS adapted with parametric inputs to the geometric proportions within the bounds of each offset pair of mesh faces
Switch (m+Switch)
Creates a mesh which spans two meshes bridging them from either the vertex or edge center
X&T (m+X&T)
Creates a volumetric mesh from either a single mesh face and depth or between two parallel meshes of idential construction bridging the vertices to the face center between two mesh faces

Smooth

Weighted Catmull Clark Subdivision (m+Catmull Clark)
Based off of the implementation of Weaverbird's subdivision, this implementation of Catmull Clark Subdivision introduced the option to modify the weight of smoothing or displacement from origin, of the face, edge, and vertex based vertices
Catmull Clark nGon Subdivision (m+CatmullClark)
Applies Catmull Clark Subdivision to a list of closed polylines which are treated as the faces and vertices of a nGon mesh.
Doo Sabin Subdivision (m+Doo Sabin)
Applies Doo Sabin Subdivision to a list of closed polylines which are treated as the faces and vertices of a nGon mesh.
Expansion Subdivision (m+Expansion)
Applies Expansion Subdivision to a list of closed polylines which are treated as the faces and vertices of a nGon mesh
Face Center Subdivision (m+FaceCenter)
Applies Face Center Subdivision to a list of closed polylines which are treated as the faces and vertices of a nGon mesh.
Mid Edge Subdivision (m+MidEdge)
Applies Mid Edge Subdivision to a list of closed polylines which are treated as the faces and vertices of a nGon mesh.
Modified Kobbelt Subdivision (m+ModKobbelt)
Applies a modified version of Kobbelt Subdivision which creates new quad faces from a list of closed polylines which are treated as the faces and vertices of a nGon mesh.
Root 3 Subdivision (m+Root3)
Applies Root 3 Subdivision to a list of closed polylines which are treated as the faces and vertices of a nGon mesh.
Weighted Butterfly Subdivision (m+Butterfly)
Implements the basic form of Butterfly subdivision which maintains the original meshes vertex locations. This method does requires a closed mesh volume with only triangular faces.
Weighted Loop Subdivision (m+Loop)
Based off of the implementation of Weaverbird's subdivision, this implementation of Loop Subdivision introduced the option to modify the weight of smoothing or displacement from origin, of the edge and vertex based vertices
Weighted Root 3 Subdivision (m+Root 3)
An implementation of Root 3 Subdivision, this method follows the model established in weaverbird for resolving edge conditions

Map

Baycentric Mesh Morph (m+Map Mesh to Mesh)
Uses Barycentric Mapping to morph meshes from reference boundaries to each face of a target mesh, or pair of meshes with identical topologies.
Map Curve to Curve (m+Map Crv to Crv)
Uses Barycentric Mapping to morph curves from a reference boundary polyline to a target polyline of the same topology.
Map Curves to Mesh (m+Map Crv to Mesh)
Uses Barycentric Mapping to morph curves from reference boundaries to each face of a target mesh, or pair of meshes with identical topologies.
Map Edge Values (m+Map Edge)
Maps and averages unitized values cooresponding to each edge of a mesh to its other constituent elements.
Map Face Values (m+Map Face)
Maps and averages unitized values cooresponding to each face of a mesh to its other constituent elements.
Map Mesh to Curves (m+Map Mesh to Crv)
Uses Barycentric Mapping to morph meshes from a reference boundary polyline to a target polyline of the same topology.
Map Points to Curve (m+Map Pt to Crv)
Uses Barycentric Mapping to morph points from a reference boundary polyline to a target polyline of the same topology.
Map Points to Mesh (m+Map Pt to Mesh)
Uses Barycentric Mapping to morph points from reference boundaries to each face of a target mesh, or pair of meshes with identical topologies.
Map Vertex Values (m+Map Vert)
Maps and averages unitized values cooresponding to each vertex of a mesh to its other constituent elements.
Mesh Twisted Box (m+Twisted Box)
Creates twisted boxes which either span or project off of quad mesh faces creating 8 points which can be used to define a twisted box
Wrap Data (WrapData)
Converts a list of data into an integer indexed dictionary which is wrapped into a single object

Make

Cairo Tiling (m+Cairo)
Applies a Mesh to a surface based on the Cairo Tiling tesselation covering its domain, recognizing closure in both the U and V directions when the patterning allows.
Diamond Tiling (m+Diamond)
Applies a Mesh to a surface based on Diamond Tiling tesselation covering its domain, recognizing closure in both the U and V directions when the patterning allows.
Elongated Triangle Tiling (m+ElongTri)
Applies a Mesh to a surface based on the Elongated Triangle tesselation covering its domain, recognizing closure in both the U and V directions when the patterning allows.
Fill Mesh Holes (m+Fill)
Creates a simple fan mesh from an input curve with options for introducing vertex colors
Mesh Loft (m+Loft)
Creates a mesh from the control points of input curves with multiple methods for defining topology
ngon Mesh (m+ngon Mesh)
This experimental component creates a topology map for mesh comprised of faces of with a vertex count of 3 or higher
Patterned Triangulation (m+TriPat)
Applies a boolean pattern based Triangular Mesh to a surface covering its domain, recognizing closure in both the U and V directions when the patterning allows.
Regular Triangulation (m+RegTriGrid)
Applies a Regular Triangular Mesh to a surface covering its domain, recognizing closure in both the U and V directions when the patterning allows.
Rhombitrihexagonal Tiling (m+Rhombitrihexagonal)
Applies a Mesh to a surface based on the Rhombitrihexagonal tesselation covering its domain, recognizing closure in both the U and V directions when the patterning allows
Snub Square Tiling (m+SnubSqr)
Applies a Mesh to a surface based on the Snubbed Square tesselation covering its domain, recognizing closure in both the U and V directions when the patterning allows.
Truncated Square Tiling (m+TruncatedSqr)
Applies a Mesh to a surface based on the Truncated Square tesselation covering its domain, recognizing closure in both the U and V directions when the patterning allows

Edit

Mesh Caps (m+Caps)
Caps all naked edges in a mesh by introducing a new point at the averaged volumetric center fanning about it.
Explode Unwelded (m+ExpUnweld)
Implements Explode Unwelded.
"Explode the mesh into submeshes where a submesh is a collection of faces that are contained within a closed loop of "unwelded" edges."
Mesh Explode (m+Explode)
Explodes each face of a mesh into a new single faced mesh which maintains vertex colors and whose normals can either be rebuilt or retain the existing vertex normals.
Mesh Extend (m+Extend)
Extends all naked edges of a mesh by a given distance by adding a new row of mesh faces
Mesh Offset & Extrude (m+Offset/Extrude)
Takes a mesh and offsets along each vertex normal or aligned with input vectors with independent options for closing the top, bottom and edges as well as offseting in both directions.
Offset Edges (m+Edges)
Takes edge of a mesh and offsets it along the vertex normal or extrudes along a input vector. Output can be toggled between a single mesh or individual meshes per face.
Span & Bridge (m+Span & Bridge)
Removes multiple pairs of mesh faces at given indices from either one or two meshes and bridges the resulting naked edges
Unweld & Explode (m+UWX)
Unwelds a mesh at the user specified angle and explodes it into new meshes at unwelded edges.

Select

Face Bands (m+Bands)
Indexes Mesh Faces based on their topological distance from naked edges or selected points.
Proximity Vertex Selection (m+ProxSel)
Selects vertices based on their closest point distance to sample geometries.
Select by Topological Distance (m+TopoSel)
Returns a series of unitized values per vertex based on their topological edge's cumulative physical distance, divided by a user specified range for selection.
Select by Vertex Angle (m+SelAng)
Selects vertices based on an angle tolerance, determined by testing the angle between all edges shared by a vertex about a face and sums the value.
Select Mesh Edge (m+SelEdge)
Allows for the selection of Grasshopper or Rhino Mesh Edges. Returning the Indices, Mid Point, and Representational Line at each selection.
Select Mesh Faces (m+SelFace)
Allows for the selection of Grasshopper or Rhino Mesh Faces. Returning the Indices, Face Center, Face, and Face Normal at each selection.
Select Mesh Vertices (m+SelVert)
Allows for the selection of Grasshopper or Rhino Mesh Vertices. Returning the Indices, Point, and Normal at each selection.
Vertex Rings (m+Rings)
Indexes Vertices based on their topological distance from naked edges or selected points.

Effects

Hair (m+Hair)
Creates an advanced hair effect from a tapered extrusion which can rotate within a pore relief on each face of the mesh outwards along the direction of the face normal
Polyp (m+Polyp)
Creates an advanced polyp effect from the edge of each face of the mesh outwards along the direction of the face normal
Pore (m+Pore)
Creates a pore effect with a flat edge and raised facet on each face of the mesh outwards along the direction of the face normal
Antisnub (m+Antisnub)
Creates an advanced face effect by creating the antiprism extrusion from each face and snubbing the top corner vertex of each new face on each face of the original mesh outwards along the direction of the face normal
Node (m+Node)
Creates an advanced face effect stellating the face and creating an optional directional pore from each new face on each face of the original mesh outwards along the direction of the face normal
Peel (m+Peel)
Creates an advanced peeling effect rotating subdivided faes outwards about each edge of each face of the mesh outwards along the direction of the face normal
Pinch (m+Pinch)
Creates an advanced pinching moving points at the vertex and edge centers independently towards the center of each face of the mesh outwards along the direction of the face normal

Modify

Align Mesh Vertices (m+AlignVert)
Collapses vertex positions based on their proximity and the sequence in which they are toplogically ordered.
Calculate Vertex Normals (m+VertNorm)
Rebuilds vertex normals with a full range of options.
Compute Face Normals (m+FaceNorm)
Rebuilds the Face Normals for a mesh with a full range of options.
Mirror Face Orientation (m+MFO)
Mirrors selected face topology.
Reverse Face Normal (m+RFN)
Reverses selected face normals
Shift Face Orientation (m+SFO)
Shifts selected face topology, similar to rotating the face.
Triangulate Mesh (m+Tri)
Triangulates the quad faces of mesh based on natural direction, shortest/ longest length, or greatest or smallest area.

Weave

Continuum (m+Continuum)
Creates a series of connections perpendicular and parallel to each meshes face creating a loop from front face to back face. Inspired by the work of Erwin Hauer.
Criss Cross (m+CrissCross)
Creates a series of connections perpendicular and parallel to each meshes face bridging between every other edge.
Link (m+Link)
Creates a series of radially arrayed links from each mesh face edge about each face center and back to the same edge
Net (m+Net)
Creates a series of radially arrayed interlocking ribbons from each mesh face edge about each face center
Thatch (m+Thatch)
Converts each face into a quad set of thatch woven meshes
Weave (m+Weave)
Converts each face of a mesh into two interwoven meshes

Show

Highlight (m+Highlight)
Applies a color to all naked edge or non naked vertex points in a mesh
Label Edge (m+Edges)
Creates point lists of points at each mesh edge at its midpoint
Label Face (m+Face)
Creates point lists of center points of each mesh face at its center
Label Topo Vert (m+TopoVert)
Creates point lists of the meshes topology vertex points offset on the face to remove overlap
Label Vertex Indices (m+Index)
Creates point lists of vertex sequence of each face offset on the face to remove overlap
Label Vertex (m+Vertex)
Creates point lists of the meshes vertex points offset on the face to remove overlap

Loop

Branch (m+Branch)
Recursively branches each mesh face which is parallel to the original mesh faces into a set of new subdivided quad extrusions.
Crumple (m+Crumple)
Recursively stellates each mesh face into a new mesh offset along the face normal.
Crystalize (m+Crystalize)
Recursively decomposes each mesh face into a new truncated open mesh pyramid offset along the face normal
Expand (m+Expand)
Recursively decomposes each mesh face into a new mesh offset along the face normal connected only by the corner vertices.
Facet (m+Facet)
Recursively stellates a new face made from the midpoints of the edge lines.

Site design © Robin Rodricks.   MeshPlus and associated data © 2024 David Mans.  
Rhinoceros and Grasshopper are registered trademarks of Robert McNeel & Associates.  Hosted by GitHub

Report an Issue  |  Terms of Service