Grasshopper

algorithmic modeling for Rhino

Information

Plankton

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:

https://github.com/meshmash/Plankton/releases/latest

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:

http://www.flipcode.com/archives/The_Half-Edge_Data_Structure.shtml

http://openmesh.org/Documentation/OpenMesh-2.0-Documentation/mesh_hds.html

http://www.graphics.rwth-aachen.de/media/papers/directed.pdf

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.

Website: https://github.com/meshmash/Plankton
Members: 381
Latest Activity: Jan 30

Discussion Forum

Cytoskeleton 27 Replies

Following on from the images I posted recently (here),I am now making available the source script for Cytoskeleton.First,…Continue

Tags: mesh, Plankton, Weaverbird

Started by Daniel Piker. Last reply by Serge Jul 31, 2020.

Target valency remeshing

Hi,I’m using mesh machine to have a good triangulation of my mesh but I was wondering if I can set target valency for my edges in order to control triangulation. I want to have a triangulation where…Continue

Started by Contestables Jan 21, 2020.

Dynamic remeshing script with Plankton and Kangaroo 90 Replies

Here are some demo's of remeshing with Plankton combined with some relaxation functions from Kangaroo.(Similar to what I described here: …Continue

Tags: remeshing, mesh, Kangaroo, Plankton

Started by Daniel Piker. Last reply by Contestables Jan 20, 2020.

Internal data structure 5 Replies

Plankton 0.4.2. If I take any simple mesh object generated in grasshopper and convert it with the PMesh module, then try running the following python code, I get:for v in…Continue

Started by Cory. Last reply by Will Pearson Nov 27, 2018.

Comment Wall

Comment

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

Comment by Benjamin Felbrich on November 2, 2013 at 11:41am

Hi Hi,

is it just me? I don't get it working in GH. The "CreatePlankton" turns red and says it couldn't find "Plankton, Version 0.2.0.0....." though I have copied the Plankton.dll and .gha in the components folder

Cheers

Comment by Anders Holden Deleuran on September 17, 2013 at 4:11pm

Hehe, you've got it :)

Comment by Will Pearson on September 17, 2013 at 3:45pm

Thanks for pointing that out, Anders! Very useful to know for loading any library into a python script component. I'll gladly add python examples to the documentation wish list :-).

Comment by Anders Holden Deleuran on September 17, 2013 at 3:22pm

FYI, I just had a quick go at implementing Plankton within a Python component, seems to work great. You just have to add a path reference to the Planton.dll, either in the script itself or through the EditPythonScript editor. Attached the file: PlanktonDemoPython.ghx

Comment by Marios Tsiliakos on September 3, 2013 at 8:07am

Ignore my last comment! it seems that you have to restart both grasshopper and rhino to work..

Comment by Daniel Piker on August 16, 2013 at 4:48am

Hi Josh. I've not tried it yet, but this is just a .net library so yes, it should work in Python

Comment by josh lopez-binder on August 15, 2013 at 8:25am

wow this looks pretty neat. Is it possible to use this with rhinoPython?

Comment by Daniel Piker on July 14, 2013 at 7:44am

Thanks all for the comments, and sorry for the delay in posting the source code.

In response to some of the questions below - the Rhino-mesh-to-Plankton-mesh function does currently make use of the TopologyEdges from RhinoCommon to iterate through the edges. I think it should be possible to do this a different way with some checks for which edges have already been visited, that would allow an input of closed polylines (this is also the only real use of Rhino specific code).

Compatibility with Turtle is definitely high on the list of priorities for next things to add. Plankton-to-turtle should be straightforward, Turtle-to-Plankton will I think need the same changes mentioned above first.

The dual function definitely still has some bugs - particularly when it comes to non-closed meshes. I'm trying to fix this now, but will post at the end of today wherever I get to.

Faces connected by a point vs Faces connected by an Edge should be possible with the functions in the current release - I'll try and post a demo soon.

Comment by Christian Schmidts on July 13, 2013 at 6:02am

cool tool!  its truly amazing how far you guys brought meshes in gh!

one question and tree suggestions.

the question is why inputting a for instance the plankton dual (c#) to the plankton deconstruct fails? i guess its due to the wip state of the tool.

its also would be nice if there would be a way to convert closed polylines to plankton mesh.

and another suggestion is to get the faces directly adjacent to a face distinguished by the one who share an edge and the one who just share a point.

also compatibility to turtle would be nice!

thx you!

Comment by Daniel Hambleton on June 28, 2013 at 11:50am

Excited to try this out! How much GH/Rhino specific code is the .dll? Would be fun to use it in Unity!

 

Members (381)

 
 
 

About

Translate

Search

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service