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: 357
Latest Activity: Sep 12

Discussion Forum

Cytoskeleton 24 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 Nidhi Parsana Sep 12.

Dynamic remeshing script with Plankton and Kangaroo 89 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 Declan Halpin Jun 28.

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.

cytoskeleton problem 1 Reply

Continue

Started by ilyas ekinci. Last reply by ilyas ekinci May 25, 2018.

Comment Wall

Comment

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

Comment by spiral on April 7, 2015 at 12:34pm

Thanks Daniel, it is possible to make the edges of equal length? changing only the angle between them.

Comment by Daniel Piker on April 7, 2015 at 12:22pm

Hi Spiral - generating Chebyshev nets can be done in Kangaroo by fixing or equalizing the edge lengths, and draping over or pulling to some target surface.

Comment by spiral on April 7, 2015 at 11:52am

how to use the Plankton in order to build net (mesh) Chebyshev on the surface?

Comment by Lionel on November 14, 2014 at 9:42am

Ok, I finally manage to make it work. Some thing was wrong with my python Install. Now it's working for both 2.7 and 3.4.

Tks,
Lionel

Comment by Will Pearson on November 7, 2014 at 6:12am

Try Python 2.7. If you have any more questions can we discuss them elsewhere? Perhaps http://discourse.mcneel.com/c/uncategorized would be appropriate, or open a github issue :)

Comment by Lionel on November 7, 2014 at 4:07am

I also tried to launch pycco on the pycco/main.py and got the same kind of error :

C:\Python34\Scripts\pycco\pycco>pycco main.py -p
lionel
Traceback (most recent call last):
File "C:\Python34\Scripts\pycco-script.py", line 10, in <module>
load_entry_point('Pycco==0.3.0', 'console_scripts', 'pycco')()
File "C:\Python34\lib\site-packages\pkg_resources.py", line 353, in load_entry
_point
return get_distribution(dist).load_entry_point(group, name)
File "C:\Python34\lib\site-packages\pkg_resources.py", line 2302, in load_entr
y_point
return ep.load()
File "C:\Python34\lib\site-packages\pkg_resources.py", line 2029, in load
entry = __import__(self.module_name, globals(),globals(), ['__name__'])
File "<frozen importlib._bootstrap>", line 2237, in _find_and_load
File "<frozen importlib._bootstrap>", line 2226, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 1191, in _load_unlocked
File "<frozen importlib._bootstrap>", line 1161, in _load_backward_compatible
File "C:\Python34\lib\site-packages\pycco-0.3.0-py3.4.egg\pycco\__init__.py",
line 1, in <module>
File "<frozen importlib._bootstrap>", line 2237, in _find_and_load
File "<frozen importlib._bootstrap>", line 2222, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 2164, in _find_spec
File "<frozen importlib._bootstrap>", line 1940, in find_spec
File "<frozen importlib._bootstrap>", line 1916, in _get_spec
File "<frozen importlib._bootstrap>", line 1897, in _legacy_get_spec
File "<frozen importlib._bootstrap>", line 863, in spec_from_loader
File "<frozen importlib._bootstrap>", line 904, in spec_from_file_location
File "C:\Python34\lib\site-packages\pycco-0.3.0-py3.4.egg\pycco\main.py", line
484
print "pycco = %s -> %s" % (s, dest)
^
SyntaxError: invalid syntax

Comment by Lionel on November 7, 2014 at 3:49am

Tks Will !

I've manage to install pycco and it's dependencies. But I can't get it work properly ...

Is it working with python 3.4 or 2.7 ?

I get this error (see below) when launching the script from the consol on the Compass.cs file in a \src folder in the C:\Python34\Scripts\pycco folder

Any idea where it comes from ??

Thanks again,

Lionel

C:\Python34\Scripts\pycco>python pycco/main.py src/Compass.cs
File "pycco/main.py", line 484
print "pycco = %s -> %s" % (s, dest)
^
SyntaxError: invalid syntax

 

Comment by Will Pearson on November 7, 2014 at 1:00am

Lionel, I added the XML comment parsing to an existing Python documentation program. It's a bit hacky. It runs on the .cs files themselves. Check it out below, instructions in the README.

https://github.com/pearswj/pycco/tree/csharp-xml-docs

Comment by Lionel on November 6, 2014 at 7:12am

Hello Will,

I've seen a little bit of what you do on Plankton ... and I'm interesting about the documentation you've pushed on your website !

I'm developing rhino & gh tools in my research lab right now and I'm seeking a way to document it in a "friendly" way for others.

How did you manage to make the doc on your website ? Is it auto-generated from a XML doc file (from VS) ?

Thanks in advance for your advice ...

Lionel

Comment by Will Pearson on September 20, 2014 at 1:29pm

All, just pushed some documentation to pearswj.co.uk/plankton.

I'm deliberately trying something different (rather than the usual Sandcastle docs as used by Rhinocommon and Grasshopper) in an attempt to bring users closer to the code.

 

Members (357)

 
 
 

About

Translate

Search

Photos

  • Add Photos
  • View All

© 2019   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service