Desktop clients
This feature is only available for Business users and above.
The Desktop clients panel in the model view page lets you browse compatible desktop clients and make one active, which enables a direct connection between the client and the ShapeDiver online platform. Once this connection is active, data and geometry can be sent to and from the client from the platform. We describe below the steps to make a desktop client active. Once that is done, you will be able to fetch geometry from the active client and conversely bake output geometry computed in the platform again to the active client.
Step 1: Authenticate from a desktop client
The way to authenticate can differ for each client. At the moment, it is only possible to authenticate in Rhino, but in the future more clients will be compatible. Therefore, we describe below only how to authenticate from Rhino until other clients are available.
Authenticating in Rhino
Authentication in Rhino is possible once the ShapeDiver plugin is installed. On top of the Grasshopper plugin, it comes with a Rhino command called ShapeDiver
:

Simply execute this command to request authentication to your ShapeDiver account. It will prompt the platform authorization screen described below.
Authorization from the platform
In any case, the authentication request from a client will prompt you to log in to your ShapeDiver account in a browser, and when that is done confirm that you authorize the client to use your ShapeDiver account. In the example of the Rhino client, this page looks as follows:

Click “Yes” to finalize the authentication process. You are now ready to make the client active and start a connection with the platform!
Note that the authorization screen will not appear every time you authenticate from clients: depending on the last time you authenticated, a new authorization might not be needed.
Step 2: Create an active connection between the client and one of your models
From the model view page of the model you want your client to interact with, open the “Desktop clients” panel on the right:

If you have successfully authorized a client in step 1, the dropdown element will include it in the list of available clients. If it does not appear, try to use the refresh button (top right) and check again.
Pick your client in the list to enable the connection. When successful, the icon on the right will signal that your client is active and ready for data exchange:

Step 3: Select input objects in the active client
You can now switch to the “Parameters” panel. This panel contains all the inputs defined in the Grasshopper definition, and of course all of them can be updated as usual when a desktop client is active. However, one type of inputs, which we call structured inputs, are only now available once a client is active. In the model below, the first input called “FloorPolyline” is a structured curve input:

Read this article to learn how you can define structured inputs in your Grasshopper definition.
Clicking on the button will immediately trigger the selection mode in the active client. For example, in the example above, the active Rhino 7 client will prompt the user to select one or several curves in the open document:

Once curves are selected and the selection is validated, the curves are used as an input of the online model and a computation request is sent to the ShapeDiver servers to recompute the solution, in a similar way that updating a slider triggers a recomputation as well:

Notice that the UI element corresponding to the input changed from orange to blue, to indicate that some geometry was successfully selected as the input value. The badge indicates the number of objects selected in the client.
On the left, a button to clear the current selection is available when objects are currently selected.
Structured inputs might be disabled even if a desktop client is currently active. The most common reason is that the type of structured input is not supported by the selected client. For example, structured mesh inputs cannot be imported from Adobe Illustrator, since meshes do not exist there.
Step 4: Bake output objects to the active client
In a symmetrical way that objects can be used as inputs for the online model, structured outputs defined in the Grasshopper definition are turned into UI elements that allow baking those outputs into the active client.
Read this article to learn how you can define structured outputs in your Grasshopper definition.
Structured outputs are displayed in the “Exports and Outputs” panel, which is also used for traditional file exports. Each of them is displayed in an accordion menu corresponding to a ShapeDiver Output component. In our example, there is one Output component which contains two structured outputs:

Like for inputs, the number of elements corresponding to the current solution is displayed for each output. When a client is active, clicking on the button will directly bake the objects in the open document:

Structured outputs might be disabled even if a desktop client is currently active, if their type is not compatible with the currently active client. As an example, meshes cannot be baked to Adobe Illustrator.