Weaverbird Grasshopper

In this Weaverbird Grasshopper tutorial, I will use three different plugins (Weaverbird, Cocoon, and Kangaroo) which will take your modeling to a whole new level! First, we will model our solid mesh with Cocoon and then we will refine the mesh with Kangaroo and at the end, we use weaverbird to give our mesh some power.

You can download the example file from the bottom of the page!

After installing all the plugins you can go to the Cocoon menu and use the point charge tool to produce a point charge

To produce the point charge you can simply give the points to the point input and define the radius by using a “Gene pool” Be sure to double-click the gene pool and set the number of sliders same as the points. The charge strength is basically 1 or -1 and it defines if the charge is positive or negative

After producing the point charge you can use the Cocoon component to model the main mesh. The ISO is a number between 0 and 1 and a lower number will merge the point charges in a near distance compared to a higher ISO number. The cell size is the size of the voxels and it’s better to start with a bigger number and slowly decrease it to find the perfect size! Give a “Boolean toggle” to the Execute input and double click it to “True” so you can have the mesh!

You can also add multiple curves and give them a curve charge and connect them to the charges input. This will produce voxels around the curves and connect the points together.

You can also give a Brep charge if you want to add a solid or a surface to your overall model.

The last step is to use the Refine tool to make the mesh smoother. You can simply give the same number (maybe something between 5 to 15) to the “Samples” “Laplacian smoothing” and “Valence passes” because it will slightly change your overall mesh. The most important input is the SubD which can start from 1 but don’t increase it to something like 3 or 4 as it will subdivide the mesh and increase the mesh size. The sample size can be a number smaller than the size we gave to the cocoon component so start with the same number and gradually decrease it! The tolerance can be like 0.1 or 0.01 . Give a “Boolean toggle” to the Execute input and double click it to “True” so you can have the refined mesh!

You can also have a part of your mesh by using the “Clipping plane”. Simply right-click on your viewport title and choose the clipping plane and move it to see the results.

After refining the Mesh you can use the Mesh split tool and split your mesh with a box mesh for example. You can use the “List item” tool to extract the top mesh and work on it with Kangaroo and cocoon.

After extracting the upper part of the mesh you can head over to Kangaroo Physics menu >mesh and use the Mesh Machine tool. This tool will also refine your mesh after splitting or editing your main mesh. Give your mesh to the Geometry input and go to the weaverbird menu. In the extract section use the naked boundary to extract the boundary of the mesh and give it to the MeshMachine’s Fix curves. This will fix your mesh at the boundary. Give a number to the Length input which will define the length of the mesh edges. Define a number for iterations (maybe 5 to 15) and give a Boolean toggle to the Reset. At the end connect the output to the Params>Geometry>Plankton mesh and finally to a mesh object. If you change the Length be sure to set the reset to true and again to false!

Finally, we get to the Weaverbird core tools. By combining Weaverbird with Cocoon you can produce amazing mesh models.

  1. Mesh frame: This tool will offset your mesh edges and give you borders (you can combine this with Mesh thicken!)
  2.  Mesh window: This component will give you the window of the farmed mesh! You can use the same number as mesh frame to make windows fit the frame!
  3.  Stellate/Cumulation: This component will get the center of the mesh faces and move it  in the normal direction and finally extrudes the mesh face to that point!
  4. Catmull-Clark subdivision will help you to smooth your final mesh.
  5. Inner Polygons Subdivision will give you a star pattern on a triangle mesh.
  6. Bevel Edges will Bevel the Edges! 🙂
  7. Dual Graph will produce a hexagonal pattern on a triangular mesh. It basically connects the center of the edges to the center of the mesh faces!

Register for free to download this file / If you're a user, Sign In

PH Newsletter

Free Weekly Scripts

Join our exclusive email newsletter and be the first to receive our free, useful Grasshopper scripts every week!


  • fairylove

    it is good

  • Joey96

    Do you have files for Rhino 6?

    • rezae

      Hi this definition also working on rhino 6

  • JunYeh

    Attachment  Capture.jpg

    Hi! This is really good. Thank you!
    I got this error message when I try to refine the mesh.
    “1. Solution exception:Could not load file or assembly ‘Plankton, Version=, Culture=neutral, PublicKeyToken=null’ or one of its dependencies. The system cannot find the file specified.”
    Does anyone also encounter this problem? How to solve this?

  • nikki224

    i cant open it with rhino 7 can u help this?

    • rezae

      You can install it from new command called “Package Manager”

  • Gabriele

    Hi, how do you get the PlanktonMesh command? Everything is working fine for me but cannot find that.

  • alysonliang

    This is so fun! Is it possible to make ellipsoids instead of spheres with this script?

  • Shadman09

    Attachment  Capture-1.jpg

    mesh doesn’t show edged faces. that’s why the structural lines cant be seen. how can I have those edged triangular faces as shown in tutorial?

  • rezae

    I think the problem the Preview Mesh Edges is off you can turn it one by “Crtl+M” or go to Display and click on Preview Mesh Edges icon
    connect Weaverbird’s Stellate to the mesh

  • Mahmoud Gamal

    I have an eroor with Coccoon Refine

    1. Solution exception:Unable to cast object of type ‘Grasshopper.Kernel.Types.GH_Mesh’ to type ‘MarchingCubes.Refiner’.

    • rezae

      Hi, can you send me your script or a screenshot?

  • HafiD

    Para Rhino ?

  • mic

    I’m Using Rhino 7. Grasshopper comes with the Kangeroo 2 installed. This comes with a SimpleRemesh function. WHich is more limited than the one Meschmachine used here. Does anyone know a workaround for using Meshmachine in Rhino 7?

    • josericardof33

      For this situation I install the Kangaroo’s old version in Rhino 7, and it works. I hope it works