π Welcome to the ShapeDiver tutorial library!
Introduction
In this library, you will find Grasshopper definitions demonstrating various ShapeDiver features. Before you get started, here are some helpful links:
- β What is ShapeDiver?
- π€ Create an account to the platform and start exploring.
- π¦ Download the latest version of the ShapeDiver plugin for Grasshopper.
- β¬οΈ Start uploading Grasshopper definitions to your account and generate online applications instantly!
How to use the tutorials
Each definition of this library doubles as a tutorial with in-depth explanations of the various steps to get a specific plugin functionality up and running:

Browse the various sections to read a description of what each tutorial covers, and a hint about the tutorial level:
β β β : Beginner
β β β : Intermediate
β β β : Expert
π‘ Use the navigation on the left to browse sections.
The definitions are regularly updated to the latest version of the ShapeDiver plugin and ready to be uploaded to the ShapeDiver platform, but you can of course use them to get started and start developing your own designs.
Letβs get started!
Basics
| Ref | Description | ShapeDiver links | Grasshopper definition | LevelΒ Β Β Β |
|---|---|---|---|---|
| 1A | Basic example without the ShapeDiver plugin | Model | Download | β β β |
| 1B | Basic example with the ShapeDiver plugin | Model | Download | β β β |
Inputs
| Ref | Resources | Description | ShapeDiver links | Grasshopper definition | LevelΒ Β Β Β |
|---|---|---|---|---|---|
| 2A | π | Direct Text Input | Model | Download | β β β |
| 2B | π π₯ | File Imports | Model | Download | β β β |
| 2C | Use attributes to import properties and user text | Model | Download / Input | β β β | |
| 2D | π π₯ | Selection Input 1 - Basic Tutorial | App | Download | β β β |
| 2E | π π₯ | Selection Input 2 - Influence Geometry and Context | App | Download | β β β |
| 2F | π | Gumball Input 1 - Basic Tutorial | App | Download | β β β |
| 2G | π π₯ | Gumball Input 2 - Loop Transformations | App | Download | β β β |
| 2H | π | Gumball Input 3 - Dynamic Transformable Objects | App | Download | β β β |
| 2I | π π₯ | Points Input 1 - Basic Tutorial | App | Download | β β β |
| 2J | π π₯ | Points Input 2 - Geometry Constraints | App | Download | β β β |
| 2K | Create Image Pickers using Value List Settings | App | Download | β β β | |
| 2L | Create and Override Slider Settings | App | Download | β β β |
Outputs
| Ref | Resources | Description | ShapeDiver links | Grasshopper definition | LevelΒ Β Β Β |
|---|---|---|---|---|---|
| 3A | π | Export Components - Basic Tutorial | Model | Download | β β β |
| 3B | π | Use attributes to export document properties | Model | Download | β β β |
| 3E | π | Direct Data Output - All data types | Download | β β β | |
| 3H | π | Export archives with multiple files | Model | Download | β β β |
Display
| Ref | Description | ShapeDiver links | Grasshopper definition | LevelΒ Β Β Β |
|---|---|---|---|---|
| 4A | Display Basic Tutorial - Overview | Model | Download | β β β |
| 4B | Materials Presets | Model | Download | β β β |
| 4C | Rendering Guide: Make Models Look Great Online | App | Download / START / After Chapter 2 / After Chapter 3 / After Chapter 4 / FINAL | β β β |
Images
| Ref | Description | ShapeDiver links | Grasshopper definition | LevelΒ Β Β Β |
|---|---|---|---|---|
| 5A | Introduction to Grasshopper Bitmaps | Model | Download | β β β |
| 5B | ShapeDiver Image Sampler | Model | Download | β β β |
| 5C | ShapeDiver Image to Mesh | Model | Download | β β β |
| 5D | Use the Squid plugin to generate Bitmaps | Model | Download | β β β |
| 5Dbis | Use the Squid plugin to generate Pdfs | Model | Download | β β β |
JSON
| Ref | Description | ShapeDiver links | Grasshopper definition | LevelΒ Β Β Β |
|---|---|---|---|---|
| 6A | Introduction to JSON object manipulation | Download | β β β |
Attributes
| Ref | Resources | Description | ShapeDiver links | Grasshopper definition | LevelΒ Β Β Β |
|---|---|---|---|---|---|
| 7A | π | Attribute Visualization 1 - Basic Tutorial | Model / App | Download | β β β |
Plugins & Integrations
| Ref | Resources | Description | ShapeDiver links | Grasshopper definition | LevelΒ Β Β Β |
|---|---|---|---|---|---|
| 8A | π π₯ | Publish data to a Speckle model | App | Download | β β β |
| 8B | π π₯ | Load data from a Speckle model | App | Download | β β β |
| 8C | π | Exchange data with a Skema project | App | Download | β β β |
| 8D | π π₯ | Create a Shopify configurator | App | Download | β β β |
App Builder
Some examples using App Builder.
Full workflows
| Ref | Description | ShapeDiver links | Grasshopper definition | Files | LevelΒ Β Β Β |
|---|---|---|---|---|---|
| 11A | App Builder 1 - Basic Tutorial | Model / App | Download | β β β | |
| 11B | App Builder 2 - Contextual UI | Model / App | Download | Input | β β β |
| 11C | App Builder 3 - Link Exports with Image Widgets | Model / App | Download / Input | β β β | |
| 11D | App Builder 4 - Charts and Graphs | Model / App | Download | β β β |
Components
| Ref | Description | ShapeDiver links | Grasshopper definition | LevelΒ Β Β Β |
|---|---|---|---|---|
| 11E | Parameter and Export Controls | Model / App | Download | β β β |
| 11F | Action Control | Model / App | Download | β β β |
| 11G | Accordion and Stack Widgets | Model / App | Download | β β β |
Interaction inputs in App Builder
| Ref | Resources | Description | ShapeDiver links | Grasshopper definition | LevelΒ Β Β Β |
|---|---|---|---|---|---|
| 2D | π π₯ | Selection Input 1 - Basic Tutorial | App | Download | β β β |
| 2E | π π₯ | Selection Input 2 - Influence Geometry and Context | App | Download | β β β |
| 2F | π | Gumball Input 1 - Basic Tutorial | Model / App | Download | β β β |
| 2G | π π₯ | Gumball Input 2 - Loop Transformations | Model / App | Download | β β β |
| 2H | π | Gumball Input 3 - Dynamic Transformable Objects | Model / App | Download | β β β |
| 2I | π π₯ | Points Input 1 - Basic Tutorial | Model / App | Download | β β β |
| 2J | π π₯ | Points Input 2 - Geometry Constraints | Model / App | Download | β β β |
Desktop Clients
ShapeDiver Apps can interact with so-called βDesktop Clientsβ, allowing to send and receive geometry from local software environments in real-time. So far, Rhino and Adobe Illustrator are supported as desktlop clients, as well as some custom integratiosn with industry-specific software. Get in touch if you would like us to support other desktop clients.
| Ref | Description | ShapeDiver links | Grasshopper definition | LevelΒ Β Β Β |
|---|---|---|---|---|
| 12A | Desktop Clients 1 - Basic Tutorial | Model / App | Download | β β β |
Webinar examples
| Ref | Description | ShapeDiver links | Grasshopper definition | LevelΒ Β Β Β |
|---|---|---|---|---|
| 2410A | π₯ Fall β24 Update: Barcelona Neighborhood Analysis (Interactions components and Dynamic Parameters) | Model / App | Download | β β β |
| 2410B | π₯ Fall β24 Update: Modular cabinets configurator (Interactions components and Dynamic Parameters) | Model / App | Download | β β β |
| 2503A | π₯ Spring β25 Update: Speckle pavillion | Model / App | Download | β β β |
| 2503B | π₯ Spring β25 Update: Shopify workflow | Model / App | Download | β β β |
| 2605 | π₯ Food4Rhino β26 Update | App | Download | β β β |
Beta features
The features showcased in the following models are already available in App Builder but the corresponding Grasshopper components are not yet available in the plugin. Instead, the features are included using prototype JSON objects.
Note that the final components and component flow might differ from the current JSON version of these definitions.
Some of the examples below make use of the JSwan Grasshopper plugin (version 1.2.0).
Dynamic inputs
| Ref | Description | ShapeDiver links | Grasshopper definition | LevelΒ Β Β Β |
|---|---|---|---|---|
| BETA | Beta - Dynamic Sliders | Model / App | Download | β β β |
| BETA | Beta - Dynamic Value Lists | Model / App | Download | β β β |
| BETA | Beta - Dynamic Points Input | Model / App | Download | β β β |
Misc
| Ref | Description | ShapeDiver links | Grasshopper definition | LevelΒ Β Β Β |
|---|---|---|---|---|
| BETA | Beta - Searchable Value Lists | Model / App | Download | β β β |
| BETA | Beta - Multiline Text Inputs | Model / App | Download | β β β |
| BETA | Control Instances of other ShapeDiver Models | App | Download / Parametric Box | β β β |
| BETA | Containers with 3D Anchors in the Scene | Model / App | Download | β β β |
| BETA | Containers with 2D Anchors on the Screen | Model / App | Download | β β β |
| BETA | Beta - Play a Sound | Model / App | Download | β β β |
| BETA | Beta - Loop Model State Values back to Grasshopper | Model / App | Download | β β β |
| BETA | Beta - Loop Screenshot back to Grasshopper | Model / App | Download | β β β |
| BETA | Beta - Form widget | Model / App | Download | β β β |
| BETA | Beta - Camera Action | Model / App | Download | β β β |
| BETA | Beta - Saved States Widget | Model / App | Download | β β β |