Grasshopper Styles

The Grasshopper Styles are those VisualARQ object styles created from Grasshopper definitions.

Grasshopper is a graphical algorithm editor integrated with Rhino's 3D modeling tools (www.grasshopper3d.com).

The Grasshopper styles are created and managed from the Style Properties dialog for each one of the following objects.

Grasshopper definition setup

The Grasshopper definitions are the Grasshopper files (.gh) that contain the components that generate a Dynamic block, as an assembly of elements.

To create a VisualARQ style from a Grasshopper definition, it is necessary to have Input parameters and Output parameters in the Grasshopper script.

Grasshopper definition to generate a Cone
An example of a Grasshopper definition that creates a Cone

  1. Input parameters
  2. Definition components
  3. Output parameters
  4. Geometry preview

Input parameters

The input parameters define the features and dimensions of the final object style. They will become the parameters that can be used to edit the VisualARQ objects by style or by instance in the model.

VisualARQ only recognizes the input parameters that are starting components with their input nodes unconnected. These are the supported component types as input parameters:

  • Input (Params > Input)
    • Number Slider Number Slider
    • Boolean Toggle Boolean Toggle
    • Digital scroller Digital scroller
    • Value list Value list
  • Primitive (Params > Primitive)
    • Integer Integer
    • Number Number
    • Boolean Boolean
    • Text Text
  • Geometry (Params > Geometry)
    • Point ParamPoint
    • Curve Param Curve
    • Plane Param Plane
    • Brep Param Brep
    • Extrusion Param Extrusion (only in Rhino 8)
    • Mesh Param Mesh
    • SubD Param SubD
    • Surface Param Surface
    • Geometry Param Geometry

Output parameters

The output parameters define the final geometrical parts of the new style, but also the calculated parameters that can be displayed in the properties dialog or listed in tables.

VisualARQ only recognizes the output parameters that are ending components with their output nodes unconnected.

Output components

They are the geometrical components that become the visible parts of the object in the model. These are the different supported entity types:

  • Geometry (Params > Geometry)
    • Geometry Geometry
    • Curve Param Curve
    • Brep Param Brep
    • Extrusion Param Extrusion (only in Rhino 8)
    • Mesh Param Mesh
  • Text Param Text (Params > Geometry > Text)
  • Hatch Param Hatch (Params > Geometry > Hatch)

Once the VisualARQ object style is created, these components will be displayed with the following icons for each type:

  • Component Geometry
  • Text Component Text
  • Hatch Component Hatch
Output parameters

They are calculated parameters that are displayed as Read-only information in the VisualARQ properties panel. These are the supported component types:

  • Integer Integer (Params > Primitive > Integer)
  • Number Number (Params > Primitive > Number)
  • Boolean Boolean (Params > Primitive > Boolean)
  • Text Text (Params > Primitive > Text)

Create a new Grasshopper style

Assuming the Grasshopper definition (.gh file) is already done, open the object styles dialog of the desired object type: (i.e.: vaElementStyles). Click on the New button and select the Grasshopper style option.

The Grasshopper Style wizard will appear. This wizard will guide you through the steps to define the Grasshopper style parameters. The left side of the wizard shows a preview of the object style generated as soon as the required information is completed.

Step 1: Open the grasshopper definition

Grasshopper style wizard step 1
Grasshopper style wizard step 1

Click on the Browse button to select the .gh file or choose one of the recent files from the drop-down list.

Step 2: Configuration

Grasshopper style wizard step 2
Grasshopper style wizard step 2

Set the Grasshopper style global values:

  • Style name
  • Definition units
  • Linked properties
Linked properties

Depending on the object type and the input parameters, this step may require to specify the linked properties that are necessary to generate the object.

  • Insert point/plane: for the Column (point) and Furniture, Element, and Annotation objects (plane). It determines the base point/plane to place the object. Any input Plane or Point parameter created in the Grasshopper definition will be available here. If the None option is selected, the origin of the Grasshopper definition will be used instead. If a Point/Plane parameter is selected, the object will be evaluated according to that referenced point or plane.
  • Path curve: for the Wall, Curtain wall, Beam and Railing objects.
  • Height: for the Wall and Curtain wall objects.
  • Boundary: for the Slab and Roof objects.
  • Profile: for the Window and Door objects. When the Auto option is selected, the bounding box of the dynamic block will perform as the cutting volume when this object is inserted in a specific host.
Note

The Height parameter for walls and curtain walls must be defined as a Floating number type in the Grasshopper definition. Integer numbers won't be supported for that parameter.

Step 3: Geometry

Grasshopper style wizard step 3
Grasshopper style wizard step 3

Specify which of the geometry blocks/components to import into VisualARQ, and which representation they will be used for. The names of these Geometry blocks are taken from the name of the output geometry components in the Grasshopper definition.

Each component can be assigned to a different representation:

  • Model: object representation in 3D views.
  • Plan: object representation in plan views when the Cut Plane of the level where the object is situated is enabled.
  • Preview: object representation when the object is being inserted or moved.
Note 1

A geometry component can be assigned to both Model and Plan representation. In the case of 3D geometry, the Plan representation of this object will be taken from the real section of the object according to the level cut plane height where the object is situated.

Note 2

It is highly recommended to use the Preview representation only for the necessary geometry that helps to insert the object in the model. The fewer components checked for the preview, the faster will be the insertion or edition of these objects in the model, especially when they are made with complex Grasshopper definitions. Beware to leave at least one component with this representation checked.

Note 3

The Annotation object doesn't have the Plan representation mode, since the geometry is equally displayed in model view as in plan view.

Step 4: Parameters

Grasshopper style wizard step 4
Grasshopper style wizard step 4

This step shows the list of input and output parameters that define the object style. These parameters can be numeric values or referenced geometry in the Grasshopper definition. Choose which of these parameters you want to import to VisualARQ and their settings:

  • Editable by (for Input parameters):
    • Definition: the parameter will be hidden in the VisualARQ style and properties dialogues.
    • Object: the parameter can be edited separately for each element with that style in the model. However, parameters editable "by object" can also take the value defined "by style".
    • Style: the parameter can be edited by style, so the changes will apply to all elements with that style.
  • Default: shows the default value. Unreferenced geometry will show up in red color. You will need to click on the button and pick the object in Rhino before moving forward.
  • Type: shows the different types of values.
  • Visibility (for Output parameters):
    • None: the parameter will be hidden in the VisualARQ properties dialogues.
    • Object: the parameter will be visible in the VisualARQ properties dialogues.

The Editable by and Type settings can be modified at once from a multiple selection of parameters.

The list of parameters displayed can be filtered by groups, in case they are located inside named groups in the Grasshopper definition. The rest of the parameters will be listed when filtering by <All> and <Ungrouped>.

Named group
Named group in the Grasshopper definition

Note

It is recommended to internalize data on the input components that reference geometry inside the Grasshopper definition.

Edit the Grasshopper style

Once the grasshopper style wizard is completed, the new style will appear in the object styles list. To edit the style again, right-click on the style name to open the context menu and select Edit. This operation will open the Grasshopper style wizard again.

Edit Grasshopper Style
Edit Grasshopper Style

Grasshopper style done
Grasshopper style finished

Once the object style is created, you will be able to insert it in the model and change its parameters from the Object Properties dialog box VisualARQ properties or in the VisualARQ Properties section (in Rhino Properties Panel Rhino properties icon), as any other regular VisualARQ object.