generative modeling for Rhino
Just wanted to announce the release of a component I was busy with the past few weeks called Hoopsnake. Here's a summary:
"HoopSnake, apart from a mythical creature, is simple component for Grasshopper. What it does in principle is to create a copy of the data it receives at it's input upon user request and store it locally. This duplicate is made available through a standard Grasshopper parameter output.
What turns this operation from mundane to actually promising is the fact that the input of the component includes some custom programming to escape Grasshopper's recursive loop avoidance check.
What this means in practice is that it is possible through the use of HoopSnake to send the output of a set of components back to it's input in a looping fashion. With the help of a little bit of Data Tree / Data List manipulation, this should open up some new possibilities for iterative process modeling. "
Read more/download at Volatile Prototypes.
Please let me know of any problems/feedback/questions you may have!
Do we need a second output? From the component. An I output for the number of iterations? I can use the number of iterations to drive other components. Does this make sense or is it overkill?
Also maybe store results in a tree (with each path corresponding iteration -therefore having a little bit more structure in the data)?
Anyway looks really promising! Cool job!
Great component! Did some simple tests:
An iteration counter output would be helpfull... And maybe an input that forwards the itteration one step when data changes? Might be hard to code...
Example with some basic (stupid) packing of any closed curve shape in any closed curve border.
Its stupid because it just tries to add the shape in a random location and checks if it doesnt intersect other or border.
First of all thanks once again everyone for your interest and great suggestions.
I set up a group where we can gather all information/feedback/examples etc. about the component:
corneel, systemiq, I'd like to add your pictures and examples there too if it's ok with you.
As for the features:
A second output is indeed a great idea. I'm on it.
Storing results to a tree is also a good idea, I would like though to have it as an option that you can e.g. trigger through the interface.
Finally, triggering the component through data change should also be possible, although I'll have to look at it a bit more carefully to get it right..
So, I'll work on these points for the next version, which should be out in the next couple days or so..
Can't wait to see these things happen! :)