This shows you the differences between two versions of the page.
labs:explicithistory:objectsexplained [2015/09/14] |
labs:explicithistory:objectsexplained [2020/08/14] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== Grasshopper Objects Explained ====== | ||
+ | |||
+ | | {{: | ||
+ | | [[http:// | ||
+ | |||
+ | ---- | ||
+ | |||
+ | > **Summary: | ||
+ | |||
+ | \\ | ||
+ | |||
+ | ===== Grasshopper Definition Objects===== | ||
+ | |||
+ | A Grasshopper Definition can consist of many different kinds of objects, but in order to get started you only need to familiarize yourself with two of them: | ||
+ | |||
+ | \\ | ||
+ | * Parameters | ||
+ | * Components | ||
+ | \\ | ||
+ | |||
+ | Parameters contain data, meaning that they **store** stuff. Components contain actions, meaning that they **do** stuff. The following image shows some of the possible objects you are likely to encounter in a History Definition: | ||
+ | |||
+ | \\ | ||
+ | |||
+ | {{: | ||
+ | |||
+ | \\ | ||
+ | |||
+ | **A)** A parameter which contains data. Since there is no wire coming out the left side of the object, it does not inherit its data from elsewhere. Parameters which do not contain errors or warnings are thin, black blocks with horizontal text. | ||
+ | |||
+ | \\ | ||
+ | |||
+ | **B)** A parameter which contains no data. Any object which fails to collect data is considered suspect in an Explicit History Definition since it appears to be wasting everyones time and money. Therefore, all parameters (when freshly added) are orange, to indicate they do not contain any data and have thus no functional effect on the outcome of the History Solution. Once a parameter inherits or defines data, it will become black. | ||
+ | |||
+ | \\ | ||
+ | |||
+ | **C)** A selected component. All selected objects have a green sheen to them. | ||
+ | |||
+ | \\ | ||
+ | |||
+ | **D)** A regular component. | ||
+ | |||
+ | \\ | ||
+ | |||
+ | **E)** A component containing warnings. Since a component is likely to contain a number of input and output parameters, it is never clear which particular object generated the warning by just looking at the component. There may even be multiple sources of warnings. You'll have to use the context menu (see below) in order to track down the problems. Note that warnings do not necessarily have to be fixed. They may be completely legit. | ||
+ | |||
+ | \\ | ||
+ | |||
+ | **F)** A component containing errors. Similar to warnings, it is not possible to see where the error was generated in a component. You'll need to use the context menu (see below). Note that a component which contains both warnings and errors will appear red, the error colour takes precedence over the warning colour. | ||
+ | |||
+ | \\ | ||
+ | |||
+ | **G)** A connection. Connections always appear between an output and an input parameter. There is no limit to how many connections any particular parameter may contain, but it is not allowed to create a setup with cyclical/ | ||
+ | |||
+ | \\ | ||
+ | \\ | ||
+ | |||
+ | ---- | ||
+ | \\ | ||
+ | |||
+ | A component usually requires data in order to perform its actions, and it usually comes up with a result. That is why most components have a set of nested parameters, referred to as Input and Output parameters respectively. Input parameters are positioned along the left side, output parameters along the right side: | ||
+ | |||
+ | \\ | ||
+ | |||
+ | {{: | ||
+ | |||
+ | \\ | ||
+ | |||
+ | //A//) The three input parameters of the Division component. By default, parameter names are always extremely short. You can rename each parameter as you please. | ||
+ | |||
+ | //B//) The Division component area | ||
+ | |||
+ | //C//) The three output parameters of the Division component. | ||
+ | |||
+ | \\ | ||
+ | |||
+ | When you hover your mouse over the individual parts of a Component object, you'll see different tooltips that indicate the particular type of the (sub)object currently under the mouse. Tooltips are quite informative since they tell you both the type and the data of individual parameters: | ||
+ | |||
+ | \\ | ||
+ | |||
+ | {{: | ||
+ | |||
+ | \\ | ||
+ | \\ | ||
+ | |||
+ | ===== Using Context Popup Menus===== | ||
+ | |||
+ | All objects on the Canvas have their own context menus that expose most of the features for that particular component. Components are a bit trickier, since they also expose (in a cascading style) all the menus of the subobjects they contain. For example, if a component turns orange it means that it, or some parameter affiliated with the component, generated a warning. If you want to find out what went wrong, you need to use the component context menu: | ||
+ | |||
+ | \\ | ||
+ | |||
+ | {{: | ||
+ | |||
+ | \\ | ||
+ | |||
+ | Here you see the main component menu, with the cascading menu for the " | ||
+ | |||
+ | \\ | ||
+ | |||
+ | The context menu for the " | ||
+ | |||
+ | |||