algorithmic modeling for Rhino



Plankton is a free and open library implementing the half-edge data structure for polygon meshes.

This way of storing the mesh connectivity information allows easier adjacency queries and supports mesh faces with any number of sides (Ngons), not just quads and triangles.

The plankton library is intended primarily to be referenced and used from scripts, but  basic GH components for conversion and topology extraction are provided, and more may be added at a future date.

Plankton is still very much a work in progress. This is a first release, and methods/features will change in future versions.

Currently most of the methods relate to extracting topology information from existing meshes, and converting between Rhino meshes and Plankton meshes, but the intent is to over time add more ways of actually modifying and building meshes.

Please share your thoughts and ideas in the forum...

download the latest release here:

This library is distributed under the terms of the GNU Lesser General Public License (LGPL).

(The source is available on GitHub here)

Copyright 2013 Daniel Piker and Will Pearson

For more on half-edges, see:

Thanks to the people I have had many conversations about meshes with over the last few years that have really helped inspire and inform this work: including: Daniel Hambleton, John Harding, Kristoffer Josefsson, Harri Lewis, Giulio Piacentino, and especially Dave Stasiuk, who also shared code that helped get this working.

Members: 294
Latest Activity: Mar 3

Discussion Forum

Installation error 10 Replies

i hav downloaded the latest version of plankton v 0.3.0 . i have four filesplankton.dllplankton.ghaplanktondemo0.3.0.ghplanktonturtledemo.ghxi have to copy the .dll and .gha into the libraries…Continue

Tags: Remeshing, plankton

Started by raja. Last reply by Will Pearson Mar 3.

"AddPlanktonMesh" component or Python equivalent? 4 Replies

Hi all,Is there a way, with a basic gh component or a Python script, to create a Plankton Mesh by specifying lists of vertices, half-edges, etc? I'm looking for something analogous to the Rhinoscript…Continue

Started by David Bachman. Last reply by David Bachman Feb 24.

truncating 1 Reply

"specified argument was out of the range of valid values"PlanktonMesh tpm = pmesh.TruncateVertices((float) 0.2);I've tried -100, -1, -0.2, 0 0.25 , 1, and 1000. Nothing seems to work. Does anyone…Continue

Tags: Truncate, TruncateVertices, Plankton, PlanktonMesh

Started by Andy VanMater. Last reply by Will Pearson Dec 13, 2016.

Plankton standalone? 2 Replies

I've loaded the dll into PUPPICAD and I'd like to make it work with WPF / Helix3D structures.Is it possible to use Plankton classes without Grasshopper, if I write a conversion tool from a more…Continue

Tags: standalone, PUPPICAD

Started by Mihai Pruna. Last reply by Mihai Pruna Nov 18, 2016.

Comment Wall


You need to be a member of Plankton to add comments!

Comment by Will Pearson on February 27, 2017 at 3:33am

Farah – When/where are you seeing this error? Have you unblocked all the .dll/.gha files? (right-click, properties, unblock)

Jay – Plankton doesn't have very many components as it's mostly used for scripting. I wonder if this is why it seems not to be loading... There are a few components which can be found in the "Mesh" tab, under "Triangulation". Are these present?

Gene – Thanks for sharing! I'm really glad that you've been able to build something so cool on top of Plankton! I'll keep an eye on the Leopard forum/github in case there are any cross-over support topics that I can help with :)

Comment by Farah on February 26, 2017 at 9:01am

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.

why does this happen? I have it download in pluggin folder, all 3 parts :(

Comment by Jay on February 10, 2017 at 5:39pm

This may be a really dumb question but how do I install the plankton 0.4.0 gha file. I've used grasshopper for a couple years now and normally just drag and drop. I have tried that, restarting grasshopper, restarting my computer and it never seems to load...??

Comment by Gene Kao on January 30, 2017 at 7:51am

Hi all, 

We created an open source plugin "Leopard" using Plankton for internal mesh processing. We hope that this can be a good example to demonstrate the advantage using Plankton and help improve it. 

More feedback and insights are welcome to discuss in Leopard forum

Source code can be downloaded on GitHub



Comment by johnnyUtah05 on August 27, 2016 at 8:18pm


I am wondering how to draw hexagons/circles around clothed vertices by using their neighboring vertices distances. I have some confusion... Can this be achieved with 'Deconstruct Plankton'? (I assume yes, by getting the proper half edges). 

Also, I have looked inside the 'Tangent Circle' component and see that it only measures the distance from two neighboring vertices. I believe this is why my result is imperfect. See below. 

How can I tweak the tangentCircles component to achieve a more accurate result, or how can I use 'deconstructPlankton' to achieve this?

Thank you in advance.

Comment by Will Pearson on April 13, 2016 at 4:14pm
Josh, please let us know how you get on! I've used Plankton on the Mac via compiled Grasshopper components (MeshMachine, for example) but not yet via scripting as that's only available for Rhino right now, not Grasshopper. Please shout if we can help along the way :)
Comment by josh lopez-binder on April 13, 2016 at 3:46pm

Hi all, Is anyone is using plankton for scripting on mac?

more specifically, for rhino python scripting?

I am considering trying it out, and curious if there are any tips/tricks known already.

Comment by Will Pearson on September 7, 2015 at 11:48am

Glad it's working for you now :)

Comment by Dekani Fisher on September 7, 2015 at 11:47am

HI thanks for your replies, i just had to unblock the dlls and they worked. 

Comment by Will Pearson on September 7, 2015 at 11:32am

What problems are you having?


Members (294)



Search Grasshopper


  • Add Photos
  • View All

© 2017   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service