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 Daniel Piker on April 1, 2014 at 7:02am

Hi Anders - yes, but it needs both the Plankton.dll and Plankton.gha referenced (thanks to Will, there is now a clearer distinction between the mesh library itself, and the parts which interface with Rhino/Grasshopper). It works fine in C#, but I'm always getting mixed up with right way of importing references in Python

Comment by Anders Holden Deleuran on April 1, 2014 at 6:54am

Hi Daniel,
Do you mean that a Rhino.Geometry.Mesh now has a method for converting it to a PlanktonMesh? If so, I'm not able to call it I'm afraid. I'm Running Rhino 5 SR8 64-bit (5.8.40305.11495, 03/05/2014), GH 0.9.0072 with the latest Plankton.dll and Plankton.gha installed. I'm doing good Mathias, likewise :)

Comment by Daniel Piker on April 1, 2014 at 5:30am

Hi Mathias, hi Anders, thanks for updating this.

It should be possible though to use Mesh.ToPlanktonMesh() in the latest Plankton

Comment by Mathias Gmachl on April 1, 2014 at 3:27am

Hi Anders, thanks for the quick response. It works perfectly and you've taught me more Python. Hope you are well! Mathias

Comment by Anders Holden Deleuran on April 1, 2014 at 2:51am

Hi Mathias,
Yes it looks one cannot simple pass a Rhino mesh when instantiating a Plankton mesh in the latest version. I have attached an updated example in which we access vertex/face list and add them to the Plankton mesh "manually". This seems to work. Hope that helps.
Best,
Anders

140401_PlanktonDemoPython.ghx

Comment by Mathias Gmachl on March 31, 2014 at 1:24pm

The python plankton example Anders posted broke with v3. Would someone be able to update them to help me get started?

Comment by Simon on March 7, 2014 at 6:15am

solved it, just put all the .gha and .dll files into the special components folder

Comment by Simon on March 7, 2014 at 6:12am

Hi I get this message when I try to run Plankto, can anyone help

I have checked the permissions I think they're ok

1. Solution exception:Could not load file or assembly 'Plankton, Version=0.3.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified.

Comment by Benjamin Felbrich on November 2, 2013 at 12:16pm

Oh dear,

now it works
Thanks a lot Daniel

Comment by Daniel Piker on November 2, 2013 at 12:13pm

Have you checked that both the dll and gha are unblocked ?

 

Members (381)

 
 
 

About

Translate

Search

Photos

  • Add Photos
  • View All

Videos

  • Add Videos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service