algorithmic modeling for Rhino



Mesh+ is a set of user components which produce topological effects from mesh faces and point sets using variable methods of subdivision and normal based three dimensional distortion. 

We are pleased to announce the Beta Release of version 2.0


Images tagged: Mesh(+)mesh(+)

The current version of mesh(+) is developed for:

 - Rhino 5 (32 & 64)

 - Grasshopper version 0.9.0056 (For Rhino 5)

 - Recommended Download: Weaverbird

Location: Brooklyn, NY
Members: 161
Latest Activity: Jan 5


Mesh+ is a set of user objects which enable a wide range of mesh editing, creation, interaction, and topology modification within Grasshopper 3d.

Component categories are:

Analyze | Returns, topological, geometric, and contextual mesh information

Show | Displays topological information

Select | Allows for manual or parameter driven interaction with Rhino or Grasshopper meshes

Modify | Changes topological properties of a mesh

Edit | Alters the physical and makeup of a mesh

Make | Creates meshes from a series of geometric inputs

Map | Uses Barycentric mapping to morph geometery into mesh face bays

Smooth | Applies a series of weighted smoothing methods

Subdivision | Divides faces into new configurations in comprehensive sets based on edge consistency

Effects | Applies a series of more complex mesh configurations to existing mesh faces

Volume | Creates meshes spanning between two similar meshes of tripoly periodic surfaces and custom solutions.

Weave | Creates physically seperated but interlinked meshes

Loop | Creates iterative effects which build off selected faces

This component set was developed to work with Weaverbird.

Installation and Prerequisites 

  • To use mesh(+) you will need the Rhino 5 and the latest Grasshopper 3d installed.
  • Download the mesh(+) User Object Collection.
  • Because mesh(+) is a collection of user objects, it does not have a gha or installer, rather the user files contained in the downloadable zip folder can simply be copied into your local grasshopper user objects folder which can found by going under grasshoppers File > Special Folders > User Objects. (see: )
  • All user objects have the prefix “m(+)” designating them as mesh(+) files.
  • Once the files have been copied to the above location a new mesh(+) tab should appear in the Grasshopper component ribbon
  • All mesh(+) components are VB components and are fully modifiable.
  • These components were conceived with the intention of using the Weaverbird plugin for subdivision, smoothing the mesh effects.


moved to discussions below

Discussion Forum

m+ Face Area giving double area 2 Replies

hi all,I was using the m+FaceArea component to get area of faces for a weighted avg calculation. For curved planar surfaces (200m2 - 1000m2) it was taking a lot of time, grid size 0.1m. takes a few…Continue

Tags: face area, mesh+

Started by Saket Sarupria. Last reply by Saket Sarupria Sep 11, 2019.

output Elevation and sections with dimensions

Hi, please i want to output elevation and sections with dimensions by grasshopper in this 3D wall, can u help me.thanks…Continue

Started by tariq hilmy Dec 3, 2018.

Triangulation from planar Quads

Hi I am very fond of the different options for triangulation provided in the "Regular Triangulation, however, there is one small feature that I would like to have.I have a surface (shell structure)…Continue

Started by Steinar Hillersøy Dyvik Apr 17, 2018.

rendering, translucency and mesh [mesh+]

Hi, I am using weaverbird / and mesh+, testing different ways to thicken and pattern mesh. I am trying to [or thinking it will work] create glass which has many random refractive angles, so that when…Continue

Started by arkadius belov Apr 25, 2017.

Comment Wall


You need to be a member of mesh+ to add comments!

Comment by David Mans on November 3, 2013 at 9:14pm


Thanks for the suggestion, I have just posted an updated set of user components that integrate this suggestion for the Face Effects and Face Subdivision components. For face components you can now pass a corresponding list of variable per each mesh face or a single variable, and for Face Subdivide components you can pass variables which correspond to the shared vertex's. This distinction is needed to keep the new vertices aligned between adjacent faces. To clarify, input naming structure for variables is a follows.

(m#)[mesh] = mesh inputs

(c#)[boolean] = closed vs. open face 

(s#)[boolean] = stellate vs. extrude along face normal

(d#)[double] = distance values which correspond to rhino's model units

(t#)[double] = unitized, (most often 0-1), variables which control face/ vertex based relationships

(f#)[boolean] = (rare) flip between subdivision types

Comment by Danila Babko-Malyi on October 29, 2013 at 12:51pm

I am playing around with the face effects of Mesh (+) and am having a hard time understanding what to plug in into the inputs. In Weaverbird using multiple values on a component like thicken for distance allows you to manipulate every face separately as shown below. However in Mesh(+) the same procedure for a face effect results in creating a new mesh for each value. Is there any way in Mesh (+) to be able to manipulate the t value of a face effect for individual faces without them being unwelded.


Members (161)






  • Add Photos
  • View All

© 2021   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service