Inputs and outputs
Inputs
We list in this section all the Grasshopper components which are turned into inputs of a ShapeDiver model. In other words, by including these components in a definition before uploading it, the online model will expose them as ways to remote control the definition, either directly through the model view page and its built-in interface, or through one of the APIs.
List of supported inputs
Native Grasshopper inputs
Number slider
Value List
Boolean Toggle
Color Swatch and Color Picker
Including any other native Grasshopper inputs (from the Params > Input category) will not prevent the file being uploaded to ShapeDiver, but these inputs will not translate into exposed controls of the online ShapeDiver model.
ShapeDiver-specific inputs (included in the plugin)
Direct Text Input
Import Bitmap
Import Geometry
Import Text
Read more about these components in the Input section of the plugin documentation.
Ordering and grouping inputs
Using the position of input components on the canvas, as well as native Grasshopper groups, it is possible to specify the order of parameters in the online platform, as well as group parameters in separate sub-categories by means of accordions. Read more about ordering and grouping inputs.
Outputs
For each set of inputs sent to the ShapeDiver servers for remote computation, the system sends back outputs corresponding to the computed solution. These outputs come in different natures according to the sections below.
Pure visualization geometry
Geometry corresponding to the computed solution is returned as one of several glTF files which can be visualized directly in the ShapeDiver viewer (using the online platform or embedding the viewer using iframes or the viewer API). These geometry assets are included as outputs for all components which have their preview turned on in Grasshopper. Native Grasshopper components will return the geometry using a standard default material, while using the ShapeDiver Display components allows the definition of PBR materials for high-quality rendering in the viewer.
Read more about displaying geometry in the Display section of the plugin documentation.
Enriched geometry and data
For some applications, it is useful to attach additional information to the geometry and data generated along the solutions of a definition. For this purpose, the ShapeDiver plugin provides a native attribute system, that can be used along the ShapeDiver Output component to output enriched data.
At the moment, the following ShapeDiver functionalities depend on using attributes and the ShapeDiver Output component to create enriched data:
The attribute visualization feature. Read here how to setup a model for attribute visualization.
Using the layer feature of the online viewer and platform by storing
layer
attributes.Reading attributes stored in output elements using the various ShapeDiver APIs. See some examples using the viewer API here.
In the near future, one major application of the ShapeDiver Output component will be the definition of outputs to be used in desktop clients. Upcoming feature!
Text tags
Both 2D and 3D text tags are supported by ShapeDiver. Use the “Text Tag” and “Text Tag 3D” components in Grasshopper to generate outputs that can be accessed through the APIs and displayed in the ShapeDiver online viewer.
In the viewer, 2D text tags are converted to HTML elements associated with a position in the 3D scene, while 3D text tags are meshes generated directly by the online viewer and added to the scene.
Structured data
The ShapeDiver plugin includes a Direct Data Output component which supports virtually any data type in Grasshopper. This data is available to be explored in the platform and through APIs as well. It has proven crucial in many applications our users have developed around ShapeDiver models. See in particular the way developers can use JSON as a way to transfer data to and from ShapeDiver models as part of their applications.
Exports
File exports
The export components of the ShapeDiver plugin make it possible to build file assets from computed solutions, and expose them to the online platform (through a download button) and the APIs. Several file formats are available with many options, and object properties such as names, layers, colors, etc… can be controlled through the use of the attributes system.