Communicate / transfer data without I/O lines?



I know the whole point of Grasshopper is automating this stuff with a graph of components and data, which by definition of a graph, are linked together with lines/edges. But is there a way in Grasshopper to pass the data across the document/diagram without using the lines? Like storing it in some temporary variable that can be reused in another part of the graph?

I ask because my document is getting increasingly more complex with lines everywhere, some of which come from the “beginning” nodes of the graph all the way toward the “end” of the graph. I was wondering if there was a way to put some data in a component that you didn’t have to drag a line from, but could be read from somewhere else, so that I could cut down on the number of lines spanning across my graph.

For example, instead of doing something like this (ignore the specific components I’m using):

Can you do something like this (again not necessarily with those components):

My current graph looks like this high level, but is going to get a lot more complicated soon…

It looks like there’s file I/O, so I guess I could write stuff out and back in, but that seems a little much for just passing data around the graph. What about Python components? Is there a global space I could store variables in that can be accessed from other Python components?

(qythium) #2

for Python that’s the scriptcontext.sticky dict, but be careful as it doesn’t respect the order of grasshopper data flow.


You can just hide the wire, and type something meaningful as the name tag, like so:

I often use these components also as “name tags” at the end of wires, a bit like relation “role names” in UML diagrams.

// Rolf


Fantastic! Thank you friends!