A viewable object’s representation is served by a Graphic Data Service (GDS), which is another Smart API that knows how to serve graphic data. Two common GDS implementations are:
-
GDS 3D – serves up 3D models
-
GDS 2D – serves up 2D drawings
Smart APIs provide an OData action and a corresponding OData function to retrieve the URI of the GDS that will serve this object’s graphic data:
-
RetrieveGdsUri – Call this OData action to retrieve the Graphic Data Service URI.
-
GetRetrieveGdsUriResultAsync – Call this OData function to monitor GDS URI retrieval (relevant only if the RetrieveGdsUri action is called asynchronously).
Here are the sample URLs you can use to perform and/or monitor GDS URI retrieval defined for the SampleService:
OData actions are called with HTTP POST.
-
POST https://sam.spclouddave.com/sampleservice/sppid/v3/Sites('Site A')/Plants('Plant A')/Pipes('302')/Files('Primary 302')/Com.Ingr.Core.V1.ViewableObject/Com.Ingr.Core.V1.RetrieveGdsUri
The Com.Ingr.Core.V1.RetrieveGdsUri action does not have any parameters. Therefore, you can post an empty request body.
The result of this action execution is a JSON object that contains the base GDS URI that can be used to obtain a GDS access token and the relative resource URI that can be used to uniquely identify the viewable graphic resource within GDS.
-
GET https://sam.spclouddave.com/sampleservice/sppid/v3/Sites('Site A')/Plants('Plant A')/Pipes('302')/Files('Primary 302')/Com.Ingr.Core.V1.ViewableObject/Com.Ingr.Core.V1. GetRetrieveGdsUriResultAsync(resultId='435aa787-444a-4a01-a6da-f6cc9b37b1a5')
The URI to get the file GDS URI retrieval result shown is just an example. The URI represents a status monitor resource returned as an HTTP Location header in the response when RetrieveGdsUri is called asynchronously. See Asynchronous support for full details.