This is the first release of our plug-in to loop data in Grasshopper.
Started about four years ago, it is still being developed and to be seen as a WIP. The code to loop parts of a definition with high performance is made by Christoph Zimmel. It has been developed with the support of Bollinger+Grohmann Engineers and the University of Applied Arts Vienna.
The main difference to plug-ins like Anemone and Hoopsnake is that the components to loop are not evaluated on the canvas, but in a separate context, hidden 'within' the component. This makes it work with Galapagos, Octopus, Goat, and thelike, but also allows the calculation of that evaluation-context on other machines. A result of that internal evaluation is a speed-up of up to 1000 times, depending on the example.
The interface borrows from Mateusz Zwierzycki's excellent Anemone, the same input- and output plugs exist and are named equal, but are placed in different positions. A good workflow could be to develop the loop with Anemone for convenience in debugging etc., when finished then connect octopusLoop for speed and compatibility with Galapagos, Octopus, Goat, etc.
Known bugs and issues in this release are:
- sometimes nesting does not work
- the wiring can be confusing
- upstream dependencies [marked blue] are also calculated which is unneccessary. Internalizing those, or feeding them into the Loop component as an input can help.
All of those are going to be solved in the next version we are preparing.
Please use this version "as is", it does not come with warranties. We spent a lot of time developing the logic and implementing it, please give credit where credit is due.
- In Grasshopper, choose File > Special Folders > Components folder. Save the gha file there.
- Right-click the file > Properties > make sure there is no "blocked" text
- Restart Rhino and Grasshopper