Geometry Backend
Overview
ShapeDiver Geometry Backend Systems are used to
host Grasshopper models in a secure, reliable, scalable, and performant way,
run computations of Grasshopper models, and
cache and output the results of computations and exports.
We operate several Geometry Backend systems, whose computational resources are shared among our users. Enterprise customers are provided with a dedicated Geometry Backend system. Each Geometry Backend System is tied to a specific version of Rhino.
Geometry Backend API
Geometry Backend Systems provide a REST API that allows to
manage the Grasshopper models hosted on the Geometry Backend,
request the results of computations and download the data from outputs and exports,
upload files that provide input data for the models,
convert and serve glTF and usdz assets for AR Quick Look to iOS, iPadOS, and Android devices, and
get related data like usage analytics and computation logs.
In short: ShapeDiver turns Grasshoppers models into REST APIs.
Applications
When developing an application that uses the Geometry Backend API, you can either use the API directly or get a headstart by using one of our SDKs. In any case, section Understanding the Geometry Backend API explains the basic principles.
ShapeDiver Viewer
Our Viewer is the most common client application of the Geometry Backend API. It uses the TypeScript SDK to communicate with Geometry Backends. Section Understanding the Geometry Backend API provides you with practical examples of the API calls the Viewer makes.
In case you are a web frontend developer and want to create an application using our 3D viewer, please head over to section Viewer and continue reading there. Typically you will not have any need to directly interact with the Geometry Backend API.
Note: The Viewer directly communicates with the API endpoint of the Geometry Backend System which your Grasshopper model is hosted on. This API endpoint is also known as the modelViewUrl
in the context of the viewer. See section Getting started for the API endpoints of our shared systems.
Examples of what is possible
Output data
Types of data you can output from a Grasshopper model running on ShapeDiver:
glTF files (for 3D configurations or Metaverse applications)
Images
PDF documents
CAD files, like
sdTF files
Downloading the data works via a worldwide content distribution network (CDN), which make the data transfer as fast as possible.
Input data
Types of data you can input to your Grasshopper model running on ShapeDiver:
Images
CAD files
Text files
sdTF files
Some examples
Some examples of what you can build using the Geometry Backend API and SDKs:
Unity applications, which use parametrically generated glTF files.
Plug-ins for Rhino or Grasshopper.
Trigger exports from web application backends built using .NET or node.js.
Command line tools that parametrically batch convert or create thousands of CAD files, PDFs, etc.
Programmatically managed your models on the ShapeDiver Platform, and upload new models.