Grasshopper Data Persistent Data Management

Grasshopper Wiki Pages
Robert McNeel & Associates

Summary: How to set and alter persistent data records


Types of data

Parameters are only used to store information, but most parameters can store two different kinds: Volatile and Persistent data. Volatile data is inherited from one or more source parameters and is destroyed (i.e. recollected) whenever a new solution starts. Persistent data is data which has been specifically set by the user. When a parameter is hooked up to a source object the persistent data is ignored, but not destroyed.


(The exception is output parameters which can neither store permanent records nor define a set of sources. Output parameters are fully under the control of the component that owns them.)


Persistent data is accessed through the menu and, depending on the kind of parameter, has a different manager. Vector parameters, for example, let you set both single and multiple vectors through the menu.


But, let's back up a few steps and see how a default Vector parameter behaves. Once you drag+drop it from the Vector Panel onto the canvas, you will see the following:



The parameter is orange, indicating it generated a warning. It's nothing serious. The warning is simply there to inform you that the parameter is empty (it contains no persistent records and it failed to collect volatile data) and thus has no effect on the outcome of a history solution. The context menu of the parameter offers two ways of setting persistent data: single and multiple.



Once you click on either of these menu items, the Explicit History window disappears and you are asked to pick a vector in one of the Rhino viewports:



Once you have defined all the vectors you want, you can press Enter and they will become part of the Parameters Persistent Data Record. This means the Parameter is now no longer empty and it turns from orange to black:



At this point you can use this parameter to seed as many objects as you like with identical vectors.