3D Data, Spaces & Gateways¶
instant3Dhub’s base data structure and control mechanism is the InstanceGraph. Using the InstanceGraph, users and applications control the content that is processed, visualized, stored or just synchronized inside instant3Dhub. For example, when an application wants to visualize geometry, it will add the geometry by a reference to the InstanceGraph and instant3Dhub will visualize it on all attached viewers. In contrast to a scene graph, the InstanceGraph is a linked structure of resources, which serves as the base data structure used internally to communicate with users, applications or other, synchronized clients.
The other important entity is the 3DSpace. A 3DSpace is an instantiation of the InstanceGraph that exists as an addressable, persistent web resource. 3DSpaces can be used to easily collaborate, store and share information or decouple the composition of 3D data assemblies and their consumption. For example, a user can setup a 3DSpace with 3D data and annotations and share it with colleagues, who can then, at a later point in time, review and discuss the contents in a shared 3D experience. All of these can happen in separate applications and any results can automatically be forwarded to or triggered by other systems.
On the data side instant3Dhub classifies information into two types: Resource and 3DSpace data.
Resource data comprises all information in external, linked data management environments. This contains f.e. geometry, material or metadata from a PDM system. This type of data is always linked, the data is never uploaded or added to instant3Dhub explicitly. instant3Dhub understands these resources as web resources and accesses them via HTTP(S). Resource data is considered immutable and can not be changed from within instant3Dhub, but it can be augmented with other information. instant3Dhub can also be configured to automatically react to external data updates. This HTTP interface is what called Data Gateway. Data Gateways do not necessarily need to be a infrastructural component as requirements are minimal and adhere to HTTP standards. In fact, in most cases any pre-existing HTTP interface can be used as an instant3Dhub Data Gateway out-of-the-box. The Data Gateway interface makes use of HTTP defaults to enable the use of authorization, encryption and caching. Please follow the configuration guide to set up the connection from instant3Dhub.
3DSpace data comprises all information that is applied or generated on the 3DSpace layer, including among others:
The top-level structure of the InstanceGraph, e.g. links to resource data.
Node state of the InstanceGraph
Clipping planes, Measurements, Paintings, Annotations
Session information, like current users of the space
3DSpace data is considered mutable and can be accessed with the instant3Dhub frontend APIs or the dedicated 3DSpace API.
instant3Dhub provides an API to directly interact with 3DSpaces. The API is based on OpenAPI and allows the access to 3DSpaces without the need of a runtime or the use of a frontend library. This API can be used for service-to-service communication, like pre-filling a 3DSpace from automated, prior process steps.
The 3DSpaces API also allows the upload of local data into a space with a HTTP POST, to enable the use of non-web resources or just to share data without the need to create or access to a data pool. Any data uploaded this way is handled as resource data and thus is immutable.