Update:
Hoopsnake is now Open Source!
Check out the repo in Github!
Fork it and fix it :)
Hoopsnake is a component that allows feedback loops within Grasshopper.
Hello:
I have a rather large definition that combines Kangaroo with Hoopsnake. In this definition I need to keep the original length of the "kangaroo springs" and use it on all the following iterations in order to do a correct physical simulation. This "spring lenght" is obtained halfway in iteration 0 and does not belong to input/output loop of hoopsnake, therefore it cannot be extracted from the hoopsnake history.
I am looking at a clean and straightforward way to extract this value at the start of the definition and it use it while looping the definition.
Ideally the definition would automatically bake this "spring length" somewhere inside or outside Rhino in iteration 0 and read it without modifying on the next iterations. However achieving this has proven elusive to me.
I have tried to solve this in the following ways:
Duplicated definition: Create two copies of the same part that deals with the spring length and use one for iteration 0 and another for the the following ones. However I do not consider this a clean and straightforward way to solve the problem.
Ghowl: Ghowl has an excel read and write component. It works well except for the fact that I need to have excel open (which I do not believe should be necessary for such a simple task) and more importantly, the fact that it duplicates the time it takes to compute the solution. Since this is a definition that runs through about 500 iteration speed is quite important.
Panels: I am currently using panels to write a text file and then call it back with a "read file" component. This approach is straightforward and quite fast. The problem is that there is no way (at least to the extend of my knowledge) to stop the panel from rewriting the file with every iteration, and thus destroying the original spring lenght.
Any help on this regard would be greatly appreciated. Also if I miss to explain something please let me know.
Thanks
Diego
Stefan
You could try your luck with a scripting compnent, e.g. as attached
Best regards
Stefan
Apr 18, 2013