Compare the geometry and numeric properties of Grasshopper design options in one dashboard.
Mark each variant as a design option, publish it to Speckle, and use Design Explorer to compare
heights, costs, performance scores, or other metrics.
This guide assumes familiarity with the Data Object and Send components in Grasshopper. If
you are new to Speckle in Grasshopper, start with the Grasshopper
connector and Data
Objects guides.
Tag design options in Grasshopper
Create a Data Object per variant
Use a Data Object component for each variant. Connect the variant’s geometry to the Geometries input and set a descriptive Name (e.g. "Option A", "Variant · H2.0 · N4").Each variant appears as a named object on the canvas.
Mark each object as a design option
Right-click the Data Object component and select Mark as Design Option.The component displays a Design Option label to confirm it is enabled.
Add numeric properties as performance metrics
In the Properties input, add numeric values that describe each variant’s performance or characteristics. Properties shared across all design option objects become the chart axes — any property present on some options but not others is excluded from the parallel coordinates chart.Use short property names so the chart axes are easy to read.The component preview shows all property keys and values alongside the Design Option label.
Name and group numeric properties
Group related values under a parent key. The chart uses the last part of each property path as its axis label.
For example, this structure:
produces chart axes labelled material, fabrication, score, efficiency, height_m, and panel_count. Keep leaf names short — they appear as axis labels and in the properties panel.
Publish to Speckle
Connect the Send component
Connect the merged list to a Send component. Set the project and a model name that reflects the study (e.g. facade-study, tower-options).The Send component preview shows the correct object count.
Publish the design options
Click Publish. The options are uploaded to the selected model.
Verify the published options
Open the model in the Speckle web viewer. Confirm each variant is a separate selectable object
with its properties visible in the properties panel.
Open or create a dashboard
From your Speckle workspace, open Intelligence and create a new dashboard, or open an existing one in edit mode.The dashboard editor opens with the widget panel visible on the left.
Add the Design Explorer widget
In the widget panel, open the Grasshopper group and drag a Design Explorer widget onto the canvas.An empty Design Explorer widget appears on the canvas.
Connect to your Grasshopper model
Click the widget to open its sidebar. Under Data sources, click Add data source and select the project and model you published to.The widget loads and displays a thumbnail card for each design option.
Read the results
The widget shows three views simultaneously.
Parallel coordinates chart
One line per option runs across all metric axes. Hover a line to highlight the matching tile in the grid. Click a line to open that option in detail view. The chart makes trade-offs visible: options that score well on one axis often score worse on another.
Grid
The grid shows a thumbnail card for each option. Thumbnails are captured automatically from the live 3D model — no screenshots needed. Use the Sort by dropdown to rank cards by any metric.
Detail view
Click any tile or chart line to open detail view for that option:
- Properties panel (left): all metrics as key-value pairs
- 3D viewer (centre): the selected option’s geometry in isolation, with fit-to-view and orthographic toggle
- Filmstrip (right): the full ranked list for switching between options without returning to the grid
Click the option name in the header bar to return to the grid.
In detail view, the divider between the 3D viewer and the options list is draggable. Drag it to
give more space to whichever panel you need.
FAQ
Why does the widget say 'Design Explorer requires a Grasshopper data source'?
Why does the widget say 'No design options found'?
Check that each Data Object has been marked as a design option via the right-click menu (Mark
as Design Option). Also confirm the objects are at the top level of the model, not nested
inside Collections.
What happens to thumbnails when I reload the page?
Thumbnails are recaptured from the live model on each load. They are not stored between
sessions. Cards are interactive immediately; thumbnails fill in progressively in the background.
Does a Design Explorer widget count toward the 3D viewer widget limit?
Advanced: create design options programmatically
What does 'Mark as Design Option' actually do?
The menu item sets a boolean at the property path
DesignOption.isDesignOption on the Data Object, which is published as:The marker is excluded from the metrics, so it never appears as a chart axis.See SpeckleDataObjectPassthrough.cs#L208-L213 (pinned at dd06520). Can I produce design options from Python or another connector?
This is unsupported. The widget requires a Grasshopper source application, even when another
tool produces objects with the same marker.Build the Data Objects with the marker in their properties, then set the version’s
source application so the widget accepts the model:Two things to watch that the Grasshopper component handles for you:
- The widget isolates the marked object itself, not its children. All geometry for a variant
must sit on that object’s
displayValue.
- Every marked object needs the same numeric property keys, or properties missing from any object are excluded
from the chart.
This workaround misreports the source application and may stop working in a future release.
Contact Speckle support if you need supported design-option
publishing from another application.
See also
Last modified on September 19, 2026