Skip to main content
Pick a goal below and follow the steps. Each workflow assumes you’re in the dashboard editor and can add widgets from the sidebar. For concepts and widget choices, see Dashboards. Not sure which widget to add? See Choosing the right widget on the Overview.

Sub-guide: Validation widgets

Use Validation Widgets in Dashboards as a focused sub-guide when you need to choose between dashboard-based validation widgets and checks-and-standards Data Validation.

Run a quantity takeoff

When to use: One model; you need element counts and optional area or length totals (e.g. for cost or schedule).
1

Add a Model Viewer and select your model

Drag Model Viewer onto the canvas. Select your project and model; pin a version if you need a specific state.
2

Add Element count for total elements

Drag Element count onto the canvas. It shows the total count; use page-level filters to slice by level, category, or family.
3

Add Total property value or Count by property for breakdowns

Add Total property value for area/length sums or Count by property for counts by Category, Type, or Family (Revit: Categories, Types, Families). On Total widgets, open Settings and set Aggregation to Sum, Average, Min, Max, or Median. Use Rounding and, for area properties, Display unit if you need a different area unit on the chart.
4

Use page-level filters to slice

Click a value in any chart or table to filter the whole dashboard (e.g. one level, one category).
5

Optionally add Element table to browse or export

Add Element table to see rows; customise columns, filter, and sort. Filter state is saved with the dashboard.
Outcome: Counts and breakdowns tied to the 3D model; filter state saved with the dashboard.

Show each element’s share of the whole

When to use: You already have a number on each element (for example area or length) and you want each one’s share of the project total — as a fraction or percentage — for tables, charts, or filters. This uses two calculated fields: an Aggregate for the total, then Arithmetic to divide each element’s value by that total.
1

Add a Model Viewer and load your model

Drag Model Viewer onto the canvas and select the project and model. Apply any page-level filters you want the “whole” to respect.
2

Create an Aggregate field for the total

Open Calculated Fields, click New calculated field, and choose Aggregate. Pick the number property (for example area), choose Sum (or another operation), and set the population: All data for a fixed project total, or Current view if the total should follow dashboard filters. Save and keep the field on this dashboard.
3

Create an Arithmetic field for the share

Create another calculated field and choose Arithmetic. Write a formula such as a / b (or (a / b) * 100 for a percentage). Bind a to the element property and b to your Aggregate field. Save.
4

Show the share in a table or chart

Add Element table or a chart widget and pick the Arithmetic field as a column or value. You can also filter or colour by it.
Outcome: Each element has a share of the chosen total, without changing the model. The Aggregate value is the same on every element — that is expected; the Arithmetic field is what varies per element.
Prefer this Aggregate + Arithmetic pattern for shares. Putting an All data or Current view Aggregate field into a Ratio widget can inflate the number — see Things to watch out for. For “X per Y” intensity figures from two models (for example power load per m² of room), use Dashboard constants instead. If areas are in the wrong unit first, add a Unit conversion field and use that as the source for both the Aggregate and the Arithmetic bindings.

Show an X-per-Y number from two models

When to use: You want one intensity figure that mixes two models — for example power load per square metre of IT room, desks per floor area, or people per workplace — and you want that figure to stay put when someone clicks filters on the charts. This uses dashboard constants in Calculated Fields (Aggregate → PopulationDashboard constant).
1

Load both models

Add a Model Viewer for each model so both appear on the dashboard — for example an equipment or rack model and a rooms or architecture model.
2

Create one constant for each side of the comparison

Open Calculated Fields, create an Aggregate field, and set Population to Dashboard constant. Example: Sum of rack IT load from one model, and Sum of IT room area from the other. Pick a property that belongs to the model you mean, so the other model does not get mixed in by accident.
3

Show the comparison

Add a Ratio Value widget and pick those two constants as the two sides of the ratio (load ÷ area). Or create an Arithmetic field that only uses those constants (for example a / b).
Outcome: One clear intensity figure such as load per m². It does not jump around when people filter the dashboard. For limits and safer Ratio patterns, see Dashboard constants.

Compare two versions of the same model

When to use: You want to see what changed between two versions (e.g. before/after a design round).
1

Add a Dual viewer or two Model Viewers

Add a Dual viewer and load both versions (first model / second model), or add two Model Viewer widgets and select the same project/model with different versions (pin each to a version).
2

Add widgets that support Compare mode

Add Element count or Total property value (or Count by property). In the widget’s data source setting, select both viewers and choose Compare mode.
3

Optionally sync the camera

If you have two viewers side by side, turn on Sync camera in each viewer’s sidebar so pan/zoom stays aligned.
Outcome: Side-by-side or compared counts and totals so you can see what changed between versions.

Show a site model while analyzing design options

When to use: You want a site or existing-conditions model visible in the 3D view while charts and tables tabulate only your design schemes (for example several Grasshopper-generated options).
1

Load site and schemes in one Model Viewer

Drag Model Viewer onto the canvas. Load your site model, then use Add model in the sidebar Models panel to add each design scheme.
2

Mark the site as a context model

Open the menu on the site model row and choose Use as context model. The site stays visible when you filter the schemes in the viewer.
3

Connect widgets to scheme data sources only

Add charts or tables (for example Element count or Count by property). In each widget’s data source setting, select only the design scheme data sources—not the site model.
4

Filter and compare schemes on the canvas

Click values in charts to add page-level filters. The site model remains fully visible in the viewer while filters isolate objects in your schemes.
Outcome: Site geometry for spatial context in the 3D view; counts and breakdowns driven only by the schemes you connect to analysis widgets.

Perform portfolio analysis

When to use: Multiple projects or models; you want combined totals or differences across them.
1

Add a Model Viewer per project or key model

Add a Model Viewer for each project (or key model) and select project/model for each.
2

Add widgets that support multiple data sources

Add Element count or Count by property and connect them to several viewers (use the widget’s data source setting).
3

Choose Aggregate or Compare mode

Use Aggregate mode to see combined totals across models; use Compare mode to see differences.
4

Use Sections to group by project or metric

Add Section widgets to group areas (e.g. by project or by metric).
5

Share the dashboard

Share via workspace access. Stakeholders see the same layout and data.
Outcome: One dashboard for portfolio-level counts and comparisons; stakeholders see the same view.

Run a quick validation check

When to use: You want to check one or more properties against a rule (e.g. “doors must have fire rating”) and see pass/fail in the dashboard.
1

Add a Model Viewer and load your model

Drag Model Viewer onto the canvas and select project and model.
2

Add Property checker

Drag Property checker from the Basics group. In the widget settings, choose the property and define the rule (e.g. “exists”, “equals”, “matches pattern”).
3

View results and colorize the model

The widget shows pass/fail counts. Use the widget option to colorize the 3D viewer so you can see which elements pass or fail.
4

For full rulesets, use Model Validation

For many rules or reusable rulesets, add Model Validation and define or import a ruleset. See Data Validation.
Outcome: Pass/fail view for one property (Property checker) or a full ruleset (Model Validation); optional colorization in the viewer.

Find models that use a specific family or type

When to use: You need to identify which models or elements use a given family (or category/type) so you can fix or flag them (e.g. auditing families, pre-upgrade checks).
1

Add Model structure or Families (Revit) or Count by property

Load the model(s). Use Model structure or Families (Revit) or Count by property to see family/category/type.
2

Search or filter by family name

Use the widget to search or filter by family name (or category/type).
3

Use Matches pattern in a filter

Add a filter with Matches pattern (e.g. family name *ProblemFamily* or %ProblemFamily%) to find matches.
4

For reusable rules, use Property checker or Model Validation

To flag this family in future, add Property checker or Model Validation and define a rule. See Data Validation.
5

Optionally pin the dashboard version

Pin the model version so the result is reproducible.
Outcome: List or count of models/elements using that family; path to validation if you want rules.

Turn model codes into clear labels for charts

When to use: The model stores short codes (classification, type, zone, and similar), and you have a spreadsheet that maps each code to a clearer name. You want charts, filters, and colour-by in plain language — without changing the published model. This workflow uses Lookup tables and a Calculated fields Map lookup. If you only need maths, unit changes, or simple groups (and no spreadsheet), skip the table and create a calculated field of another type instead.
1

Add a Model Viewer and load your model

Drag Model Viewer onto the canvas and select the project and model.
2

Create a Map lookup calculated field

Open Calculated Fields, click New calculated field, and choose Map lookup. Pick the model property that holds the code. Import your CSV or Excel list from the dialog (Import new table if tables already exist), or choose a table you already imported. Set the match column, the return column, and a fallback for codes not in the list. Save the field and make sure it is on this dashboard.
3

Chart or list by the new label

Add Count by property, Total value by property, or Element table. In the widget settings, pick your calculated field instead of the raw code property.
4

Filter or colour the model

Use the calculated field in a filter, or colour the viewer by it, so stakeholders see the friendly labels rather than the codes.
5

Optionally add more calculated fields

Need areas in another unit for filters or further maths? Add a Unit conversion field, then build on it. For chart labels only, use widget Display unit instead (see Aggregation and numeric display). Need pass/fail-style labels for a table column? Add a Logical field. See Calculated fields.
Outcome: Charts and filters use clear labels from your list; the model itself is unchanged. Update the lookup table later when the list changes — fields that use it pick up the new rows when the dashboard reloads the data.

Present a dashboard to a client

When to use: You want to share a read-only view or embed the dashboard in a presentation (e.g. Notion, Miro).
1

Arrange the layout and apply a theme

Resize and reorder widgets; add Section widgets to group content. In the Themes panel, pick a built-in or custom theme so chart and validation colors stay consistent. See Layout for scopes and editing.
2

Use the view link

Share the dashboard view link (not the edit URL). Recipients always open in presentation mode — view mode and shared mode are the same read-only experience. See Sharing for share links and presentation mode.
3

Optionally embed elsewhere

You can embed dashboards in Notion, Miro, and other tools. For step-by-step guides, see Tutorials (filter by Dashboards & Insights).
Outcome: A shareable or embeddable dashboard in presentation mode, with a clear layout and theme.

Show your model on a map with Context (beta)

When to use: You want to place a Speckle model on a pitched 3D map at a real-world site. Models do not need geographic metadata. Context (beta) is the Presentation widget that draws Speckle geometry on OpenFreeMap at the dashboard site location. It is not the same as marking a model as a context model in the Model Viewer.
1

Add a Model Viewer and load your model

Drag Model Viewer onto the canvas and select your project and model. Context reuses geometry from an existing viewer on the dashboard when one is available.
2

Add Context

Drag Context from Presentation onto the canvas. The widget panel shows a Beta badge.
3

Set the dashboard site location

In the Context sidebar, open Site and enter latitude and longitude (optional elevation and rotation). Apply commits placement. The site location is owned by the dashboard — you do not need geographic data on the model. You can also author Site from a Map widget; both share the same site.
4

Optionally add a Map for pins

Drag Map from Presentation if you want a lighter map with location bookmarks only (no Speckle geometry). Search for a place, then add, rename, or remove pins from Locations.
5

Tune filters, colour, and the map

Use Context sidebar controls as needed: local Filters, Apply global filters, Apply color by, and Include nested objects (same idea as Model Viewer). Save a starting viewpoint with Focus or Camera → Save current. Use the bulldozer control to hide basemap buildings that overlap the model; set Building clearance and optionally Show clearance boundary. Clip model to ground hides Speckle geometry below the map deck (on by default).
Outcome: Context shows your Speckle model on a pitched 3D map at the dashboard site. Map (if used) shows site markers and optional pins only.
The Map widget alone does not draw Speckle geometry — only the site marker and location pins. Context is the path for seeing the model on a map. The Model Viewer stays in local coordinates; Context handles the 3D-on-map view. Context can also keep its own Locations bookmarks and a saved starting camera.
Context is beta. Treat it as evolving — not for production-critical dashboards. Map tiles need an internet connection; OpenFreeMap attribution stays visible. Deleting Map or Context widgets does not clear the dashboard site location.

See also

Last modified on July 19, 2026