algorithmic modeling for Rhino



Nudibranch is a set of components facilitating and automating Grasshopper’s capacity to generate distance-based value datasets, while recording particle traces moving within attractor defined vector-fields, that can be further implemented into animated simulations.

In particular, Nudibranch aims to automate the attractor generation and development process (one or multiple), while covering most of the frequently used cases, without however intenting to replace or render useless the basic understanding of how attractors operate. In addition a few animation components enable the real-time interaction between attractors and the affected data offering a more coherent output of the affected enitities or values.

Nudibranch is an experimental project and it might still contain  bugs. Please use it "as is", it does not come with warranties. Please give credit where credit is due according to the license file.

What is a Nudibranch????????? Specifically Glaucus Atlanticus..

You can download Nudibranch from the  Food4Rhino website.

A brief documentation and generic examples are also included in the download folder.

If you develop an interesting design using this tool, or even better if you want to share some feedback and your thoughts on Nudibranch just drop a line. It will be really appreciated.

Location: The Internet
Members: 211
Latest Activity: Sep 10, 2023


  • Nudibranch 0.01 for Rhino 4.0 and Rhino 5.0 | GH 0.9.0014 

        Download 0.01

  • Nudibranch 0.028 for Rhino 5.0 | GH 0.9.005x series

        Download 0.028

Discussion Forum

Curve attractor with text 6 Replies

For this experimentation i used nudibranch curve attractor. the curves that i used are an exploded text.Continue

Tags: attractor, nudibranch, text

Started by Ruben Camponogara. Last reply by martyn hogg Sep 25, 2017.

Trouble with the list management of the point attractor component 1 Reply

I was trying to make sure that the lists were correctly arranged.I've tried the effeto of…Continue

Started by Dēmiurgos. Last reply by Arash Aug 8, 2017.

Nudibranch 0.028 and Grasshopper3d (Explicit History) for Mac 1 Reply

Hi all,Given the latest news regarding GH3D's release for Mac, I thought I should let the…Continue

Tags: windows, dependencies, operatingsystem, Nudibranch, Mac

Started by Marios Tsiliakos. Last reply by Marios Tsiliakos Jan 12, 2016.

Lunchbox noob question

Serious noob here I want to use twirl attractor component over triagrid made with lunchbox with no separation to be possible I mean the most adjusted to the surface ready to be extruded with pull or…Continue

Started by HEEN Apr 8, 2015.

Latest News

Loading… Loading feed

Comment Wall


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

Comment by Marios Tsiliakos on March 5, 2017 at 4:52am


you can feed the same amount of sliders or fixed values in the range input of the component. for instance if you have 3 curves you can have a different range of influence for each one. this rule is working as per the longest list arrangement logic. so if less are provided the last one is repeated for the rest.

then, and providing that the ranges overlap you can choose the way the way that the values from each are accumulated (ie averaged, minimum etc. You can also choose what happens to the parts of the filed collection that are not affected by the ranges.

try the generic examples(coming with the installation package) by changing the initial values to see the different effects.


Comment by K YANG on March 5, 2017 at 3:16am

Hi Marios,

I am new to here and thanks for developing this plug-in.

when using "CurveAttractor", I wonder whether I could give different weights to different curves?



Comment by Marios Tsiliakos on August 27, 2014 at 2:45am

Ty Ewa,

I have re-written most of the code and the components run significantly faster now. Hopefully there will be an update in the following months.



Comment by Ewa Kus on August 26, 2014 at 11:10am

Marvelous plug-in, thank you Marios:)

Comment by Marios Tsiliakos on February 6, 2014 at 11:24am


Thanks for your kind words.

Range is variable if you connect more sliders to the range input. I'm afraid that force and iterations are global for the moment. It would make calculation time really slow if I made those locally defined. But I will keep an open mind about that.

A simple workarround for the time being is to connect more twirl attractors to your definition and add the resulting vectors. You will get the result you are looking for.



Comment by Ivan on February 6, 2014 at 2:50am
Hi Marios,
Just downloaded your tool, that's really great!
I have a question about the Twirl Arrtactor: is it possible there to control range, force and iterations for each point?
Comment by Marios Tsiliakos on May 20, 2013 at 4:49pm

Hello Igor,
Thank you for your feedback.
I found the bug in the satellite component. (it isn't that it doesn't work with one item, it seems that its missing certain data types like GH_box. so if you reference a box from rhino(1 single item) it works, if you input a mesh from gh it works (ie mesh_plane) but if you input a single box, or sphere or cone it doesn't). Thanks for pointing that out. Will be fixed in the new release 002.
For the min/max value:
The meaning of a minimum value is that every point outside the attractor's range gets the minimum vector value (i.e 0.00 or bigger), so when the attractor is far away from the grid and the points are outside of the range of the attractor, there is no min value (is null)thus no vector to be added (so the points disappear).
in the case of the max set to true he maximum value of all the points within the attractor's range is being added to all the points outside the attractors range so there are no null points a valueis constantly added. However in this case it would be useful to set a conditional in the code so whenever the points are all outside the attractor's range the maintain their original coordinates. so thanks once again for pointing this out..


Comment by Igor on May 20, 2013 at 9:30am

Hi Marios,

thanks for great tool. But....

Could you explain the logic of a attractor range?

In my example when points out of attr range and cheked Max it's allright(more or less), but when cheked Min all values are crashed.

And why Sattelite component dont working with one geometry?

Comment by jorge sainz de aja on May 7, 2013 at 8:21am

Comment by Toussaint Jimenez Rojas on April 7, 2013 at 11:32am

Humm Marios Thanks For your invitation, i will going to test it  congrats cuz looks interesting 


Members (211)






  • Add Photos
  • View All


  • Add Videos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service