Class: ModelDerivativeClient
Remarks
Represents a collection of functions to interact with the ModelDerivative API endpoints.
Extends
BaseClient
Constructors
new ModelDerivativeClient()
new ModelDerivativeClient(
optionalArgs
?):ModelDerivativeClient
optionalArgs?
authenticationProvider
IAuthenticationProvider
sdkManager
SdkManager
Returns
Overrides
BaseClient.constructor
Defined in
aps-sdk-node/modelderivative/source/custom-code/modelDerivativeClient.ts:19
Accessors
authenticationProvider
Get Signature
get authenticationProvider():
IAuthenticationProvider
Returns
IAuthenticationProvider
Set Signature
set authenticationProvider(
value
):void
Parameters
value
IAuthenticationProvider
Returns
void
Inherited from
BaseClient.authenticationProvider
Defined in
sdkmanager-node/sdk-manager-nodejs/dist/src/baseClient.d.ts:4
Methods
deleteManifest()
Operation: Delete Manifest
deleteManifest(
urn
,optionalArgs
):Promise
<DeleteManifest
>
Deletes the manifest of the specified source design. It also deletes all derivatives (translated output files) generated from the source design. However, it does not delete the source design.
Note: This operation is idempotent. So, if you call it multiple times, even when no manifest exists, will still return a successful response (200).
Parameters
urn
string
The URL-safe Base64 encoded URN of the source design.
optionalArgs
accessToken
string
An access token obtained by a call to GetThreeLeggedTokenAsync() or GetTwoLeggedTokenAsync().
options
ApsServiceRequestConfig
Override http request option.
region
Specifies the data center where the manifest and derivatives of the specified source design are stored. Possible values are:
US
- (Default) Data center for the US region.EMEA
- Data center for the European Union, Middle East, and Africa.APAC
- (Beta) Data center for the Australia region.
Note: Beta features are subject to change. Please avoid using them in production environments.
Returns
Promise
<DeleteManifest
>
Throws
Defined in
aps-sdk-node/modelderivative/source/custom-code/modelDerivativeClient.ts:59
fetchSpecificProperties()
Operation: Fetch Specific Properties
fetchSpecificProperties(
urn
,modelGuid
,specificPropertiesPayload
,optionalArgs
):Promise
<SpecificProperties
>
Queries the objects in the Model View (Viewable) specified by the modelGuid
parameter and returns the specified properties in a paginated list. You can limit the number of objects to be queried by specifying a filter using the query
attribute in the request body.
Note: A design file must be translated to SVF or SVF2 before you can query object properties.
Before you call this operation:
- Use the List Model Views operation to obtain the list of Model Views in the source design.
- Pick the ID of the Model View you want to query and specify that ID as the value for the
modelGuid
parameter.
Parameters
urn
string
The URL-safe Base64 encoded URN of the source design.
modelGuid
string
The ID of the Model View you are querying. Use the List Model Views operation to get the IDs of the Model Views in the source design.
specificPropertiesPayload
optionalArgs
acceptEncoding
string
A comma separated list of the algorithms you want the response to be encoded in, specified in the order of preference.
If you specify gzip
or *
, content is compressed and returned in gzip format.
accessToken
string
An access token obtained by a call to GetThreeLeggedTokenAsync() or GetTwoLeggedTokenAsync().
options
ApsServiceRequestConfig
Override http request option.
region
Specifies the data center where the manifest and derivatives of the specified source design are stored. Possible values are:
US
- (Default) Data center for the US region.EMEA
- Data center for the European Union, Middle East, and Africa.APAC
- (Beta) Data center for the Australia region.
Note: Beta features are subject to change. Please avoid using them in production environments.
xAdsDerivativeFormat
Specifies what Object IDs to return, if the design has legacy SVF derivatives generated by the BIM Docs service. Possible values are:
latest
- (Default) Return SVF2 Object IDs.fallback
- Return SVF Object IDs.
Note:
- This parameter applies only to designs with legacy SVF derivatives generated by the BIM 360 Docs service.
- The BIM 360 Docs service now generates SVF2 derivatives. SVF2 Object IDs may not be compatible with the SVF Object IDs previously generated by the BIM 360 Docs service. Setting this parameter to fallback may resolve backward compatibility issues resulting from Object IDs of legacy SVF derivatives being retained on the client side.
- If you use this parameter with one derivative (URN), you must use it consistently across the following:
Returns
Promise
<SpecificProperties
>
Throws
Defined in
aps-sdk-node/modelderivative/source/custom-code/modelDerivativeClient.ts:117
getAllProperties()
Operation: Fetch All Properties
getAllProperties(
urn
,modelGuid
,optionalArgs
):Promise
<Properties
>
Returns a list of properties of all objects in the Model View specified by the modelGuid
parameter.
This operation returns properties of all objects by default. However, you can restrict the results to a specific object by specifying its ID as the objectid
parameter.
Properties are returned as a flat list, ordered, by their objectid
. The objectid
is a non-persistent ID assigned to an object when the source design is translated to the SVF or SVF2 format. This means that:
- A design file must be translated to SVF or SVF2 before you can retrieve properties.
- The
objectid
of an object can change if the design is translated to SVF or SVF2 again. If you require a persistent ID across translations, useexternalId
to reference objects, instead ofobjectid
.
Before you call this operation:
- Use the List Model Views operation to obtain the list of Model Views (Viewables) in the source design.
- Pick the ID of the Model View you want to query and specify that ID as the value for the
modelGuid
parameter.
Tip: Use Fetch Specific Properties to retrieve only the objects and properties of interest. What’s more, the response is paginated. So, when the number of properties returned is large, responses start arriving more promptly.
Parameters
urn
string
The URL-safe Base64 encoded URN of the source design.
modelGuid
string
The ID of the Model View you are querying. Use the List Model Views operation to get the IDs of the Model Views in the source design.
optionalArgs
acceptEncoding
string
A comma separated list of the algorithms you want the response to be encoded in, specified in the order of preference.
If you specify gzip
or *
, content is compressed and returned in gzip format.
accessToken
string
An access token obtained by a call to GetThreeLeggedTokenAsync() or GetTwoLeggedTokenAsync().
forceget
string
true
: Retrieves large resources, even beyond the 20 MB limit. If exceptionally large (over 800 MB), the system acts as if forceget
is false
.
false
: (Default) Does not retrieve resources if they are larger than 20 MB.
objectid
number
The Object ID of the object you want to restrict the response to. If you do not specify this parameter, all properties of all objects within the Model View are returned.
options
ApsServiceRequestConfig
Override http request option.
region
Specifies the data center where the manifest and derivatives of the specified source design are stored. Possible values are:
US
- (Default) Data center for the US region.EMEA
- Data center for the European Union, Middle East, and Africa.APAC
- (Beta) Data center for the Australia region.
Note: Beta features are subject to change. Please avoid using them in production environments.
xAdsDerivativeFormat
Specifies what Object IDs to return, if the design has legacy SVF derivatives generated by the BIM Docs service. Possible values are:
latest
- (Default) Return SVF2 Object IDs.fallback
- Return SVF Object IDs.
Note:
- This parameter applies only to designs with legacy SVF derivatives generated by the BIM 360 Docs service.
- The BIM 360 Docs service now generates SVF2 derivatives. SVF2 Object IDs may not be compatible with the SVF Object IDs previously generated by the BIM 360 Docs service. Setting this parameter to fallback may resolve backward compatibility issues resulting from Object IDs of legacy SVF derivatives being retained on the client side.
- If you use this parameter with one derivative (URN), you must use it consistently across the following:
xAdsForce
boolean
true
: Forces the system to parse property data all over again. Use this option to retrieve an object tree when previous attempts have failed.
false
: (Default) Use previously parsed property data to extract the object tree.
Returns
Promise
<Properties
>
Throws
Defined in
aps-sdk-node/modelderivative/source/custom-code/modelDerivativeClient.ts:190
getDerivativeUrl()
Operation: Fetch Derivative Download URL
getDerivativeUrl(
derivativeUrn
,urn
,optionalArgs
):Promise
<DerivativeDownload
>
Returns a download URL and a set of signed cookies, which lets you securely download the derivative specified by the derivativeUrn
parameter. The signed cookies have a lifetime of 6 hours. You can use range parameters with the returned download URL to download the derivative in chunks, in parallel.
Parameters
derivativeUrn
string
The URL-encoded URN of the derivative. Use the Fetch Manifest operation to obtain the URNs of derivatives for the specified source design.
urn
string
The URL-safe Base64 encoded URN of the source design.
optionalArgs
accessToken
string
An access token obtained by a call to GetThreeLeggedTokenAsync() or GetTwoLeggedTokenAsync().
minutesExpiration
number
Specifies how many minutes the signed cookies should remain valid. Default value is 360 minutes. The value you specify must be lower than the default value for this parameter. If you specify a value greater than the default value, the Model Derivative service will return an error with an HTTP status code of 400
.
options
ApsServiceRequestConfig
Override http request option.
region
Specifies the data center where the manifest and derivatives of the specified source design are stored. Possible values are:
US
- (Default) Data center for the US region.EMEA
- Data center for the European Union, Middle East, and Africa.APAC
- (Beta) Data center for the Australia region.
Note: Beta features are subject to change. Please avoid using them in production environments.
responseContentDisposition
string
The value that must be specified as the response-content-disposition
query string parameter with the download URL. Must begin with attachment
. This value defaults to the default value corresponding to the derivative/file.
Returns
Promise
<DerivativeDownload
>
Throws
Defined in
aps-sdk-node/modelderivative/source/custom-code/modelDerivativeClient.ts:222
getFormats()
Operation: List Supported Formats
getFormats(
optionalArgs
):Promise
<SupportedFormats
>
Returns an up-to-date list of supported translations. This operation also provides information on the types of derivatives that can be generated for each source design file type. Furthermore, it allows you to obtain a list of translations that have changed since a specified date.
See the Supported Translation Formats table for more details.
Note: We keep adding new file formats to our supported translations list, constantly.
optionalArgs
acceptEncoding
string
A comma separated list of the algorithms you want the response to be encoded in, specified in the order of preference.
If you specify gzip
or *
, content is compressed and returned in gzip format.
accessToken
string
An access token obtained by a call to GetThreeLeggedTokenAsync() or GetTwoLeggedTokenAsync().
ifModifiedSince
string
Specifies a date in the Day of the week, DD Month YYYY HH:MM:SS GMT
format. The response will contain only the formats modified since the specified date and time. If you specify an invalid date, the response will contain all supported formats. If no changes have been made after the specified date, the service returns HTTP status 304
, NOT MODIFIED.
options
ApsServiceRequestConfig
Override http request option.
Returns
Promise
<SupportedFormats
>
Throws
Defined in
aps-sdk-node/modelderivative/source/custom-code/modelDerivativeClient.ts:251
getManifest()
Operation: Fetch Manifest
getManifest(
urn
,optionalArgs
):Promise
<Manifest
>
Retrieves the manifest of the specified source design.
The manifest is a JSON file containing information about all the derivatives translated from the specified source design. It contains information such as the URNs of the derivatives, the translation status of each derivative, and much more.
The first time you translate a source design, the Model Derivative service creates a manifest for that design. Thereafter, every time you translate that source design, even to a different format, the Model Derivative service updates the same manifest. It does not create a new manifest. Instead, the manifest acts like a central registry for all the derivatives of your source design created through the Model Derivative service.
When the Model Derivative service starts a translation job (as a result of a request you make using Create Translation Job), it keeps on updating the manifest at regular intervals. So, you can use the manifest to check the status and progress of each derivative that is being generated. When multiple derivatives have been requested each derivative may complete at a different time. So, each derivative has its own status
attribute. The manifest also contains an overall status
attribute. The overall status
becomes complete
when the status
of all individual derivatives become complete.
Once the translation status of a derivative is complete
you can download the derivative.
Note: You cannot download 3D SVF2 derivatives.
Parameters
urn
string
The URL-safe Base64 encoded URN of the source design.
optionalArgs
acceptEncoding
string
A comma separated list of the algorithms you want the response to be encoded in, specified in the order of preference.
If you specify gzip
or *
, content is compressed and returned in gzip format.
accessToken
string
An access token obtained by a call to GetThreeLeggedTokenAsync() or GetTwoLeggedTokenAsync().
options
ApsServiceRequestConfig
Override http request option.
region
Specifies the data center where the manifest and derivatives of the specified source design are stored. Possible values are:
US
- (Default) Data center for the US region.EMEA
- Data center for the European Union, Middle East, and Africa.APAC
- (Beta) Data center for the Australia region.
Note: Beta features are subject to change. Please avoid using them in production environments.
Returns
Promise
<Manifest
>
Throws
Defined in
aps-sdk-node/modelderivative/source/custom-code/modelDerivativeClient.ts:294
getModelViews()
Operation: List Model Views
getModelViews(
urn
,optionalArgs
):Promise
<ModelViews
>
Returns a list of Model Views (Viewables) in the source design specified by the urn
parameter. It also returns an ID that uniquely identifies the Model View. You can use these IDs with other metadata operations to obtain information about the objects within those Model Views.
Designs created with applications like Fusion 360 and Inventor contain only one Model View per design. Applications like Revit allow multiple Model Views per design.
Note: You can retrieve metadata only from a design that has already been translated to SVF or SVF2.
Parameters
urn
string
The URL-safe Base64 encoded URN of the source design.
optionalArgs
acceptEncoding
string
A comma separated list of the algorithms you want the response to be encoded in, specified in the order of preference.
If you specify gzip
or *
, content is compressed and returned in gzip format.
accessToken
string
An access token obtained by a call to GetThreeLeggedTokenAsync() or GetTwoLeggedTokenAsync().
options
ApsServiceRequestConfig
Override http request option.
region
Specifies the data center where the manifest and derivatives of the specified source design are stored. Possible values are:
US
- (Default) Data center for the US region.EMEA
- Data center for the European Union, Middle East, and Africa.APAC
- (Beta) Data center for the Australia region.
Note: Beta features are subject to change. Please avoid using them in production environments.
Returns
Promise
<ModelViews
>
Throws
Defined in
aps-sdk-node/modelderivative/source/custom-code/modelDerivativeClient.ts:331
getObjectTree()
Operation: Fetch Object tree
getObjectTree(
urn
,modelGuid
,optionalArgs
):Promise
<ObjectTree
>
Retrieves the structured hierarchy of objects, known as an object tree, from the specified Model View (Viewable) within the specified source design. The object tree represents the arrangement and relationships of various objects present in that Model View.
Note: A design file must be translated to SVF or SVF2 before you can retrieve its object tree.
Before you call this operation:
- Use the List Model Views operation to obtain the list of Model Views in the source design.
- Pick the ID of the Model View you want to query and specify that ID as the value for the
modelGuid
parameter.
Parameters
urn
string
The URL-safe Base64 encoded URN of the source design.
modelGuid
string
The ID of the Model View you are extracting the object tree from. Use the List Model Views operation to get the IDs of the Model Views in the source design.
optionalArgs
acceptEncoding
string
A comma separated list of the algorithms you want the response to be encoded in, specified in the order of preference.
If you specify gzip
or *
, content is compressed and returned in gzip format.
accessToken
string
An access token obtained by a call to GetThreeLeggedTokenAsync() or GetTwoLeggedTokenAsync().
forceget
string
true
: Retrieves large resources, even beyond the 20 MB limit. If exceptionally large (over 800 MB), the system acts as if forceget
is false
.
false
: (Default) Does not retrieve resources if they are larger than 20 MB.
level
string
Specifies how many child levels of the hierarchy to return, when the objectid
parameter is specified. Currently supports only level
= 1
.
objectid
number
If specified, retrieves the sub-tree that has the specified Object ID as its parent node. If this parameter is not specified, retrieves the entire object tree.
options
ApsServiceRequestConfig
Override http request option.
region
Specifies the data center where the manifest and derivatives of the specified source design are stored. Possible values are:
US
- (Default) Data center for the US region.EMEA
- Data center for the European Union, Middle East, and Africa.APAC
- (Beta) Data center for the Australia region.
Note: Beta features are subject to change. Please avoid using them in production environments.
xAdsDerivativeFormat
Specifies what Object IDs to return, if the design has legacy SVF derivatives generated by the BIM Docs service. Possible values are:
latest
- (Default) Return SVF2 Object IDs.fallback
- Return SVF Object IDs.
Note:
- This parameter applies only to designs with legacy SVF derivatives generated by the BIM 360 Docs service.
- The BIM 360 Docs service now generates SVF2 derivatives. SVF2 Object IDs may not be compatible with the SVF Object IDs previously generated by the BIM 360 Docs service. Setting this parameter to fallback may resolve backward compatibility issues resulting from Object IDs of legacy SVF derivatives being retained on the client side.
- If you use this parameter with one derivative (URN), you must use it consistently across the following:
xAdsForce
boolean
true
: Forces the system to parse property data all over again. Use this option to retrieve an object tree when previous attempts have failed.
false
: (Default) Use previously parsed property data to extract the object tree.
Returns
Promise
<ObjectTree
>
Throws
Defined in
aps-sdk-node/modelderivative/source/custom-code/modelDerivativeClient.ts:399
getThumbnail()
Operation: Fetch Thumbnail
getThumbnail(
urn
,optionalArgs
):Promise
<File
>
Downloads a thumbnail of the specified source design.
Parameters
urn
string
The URL-safe Base64 encoded URN of the source design.
optionalArgs
accessToken
string
An access token obtained by a call to GetThreeLeggedTokenAsync() or GetTwoLeggedTokenAsync().
height
Height of thumbnails. Possible values are: 100
, 200
, 400
.If height
is omitted, but width
is specified, height
defaults to width
. If both width
and height
are omitted, the server will return a thumbnail closest to 200
, if such a thumbnail is available
options
ApsServiceRequestConfig
Override http request option.
region
Specifies the data center where the manifest and derivatives of the specified source design are stored. Possible values are:
US
- (Default) Data center for the US region.EMEA
- Data center for the European Union, Middle East, and Africa.APAC
- (Beta) Data center for the Australia region.
Note: Beta features are subject to change. Please avoid using them in production environments.
width
Width of thumbnail in pixels. Possible values are: 100
, 200
, 400
If width
is omitted, but height
is specified, width
defaults to height
. If both width
and height
are omitted, the server will return a thumbnail closest to 200
, if such a thumbnail is available.
Returns
Promise
<File
>
Throws
Defined in
aps-sdk-node/modelderivative/source/custom-code/modelDerivativeClient.ts:430
headCheckDerivative()
Operation: Check Derivative Details
headCheckDerivative(
urn
,derivativeUrn
,optionalArgs
):Promise
<void
>
Returns information about the specified derivative.
Use this operation to determine the total content length of a derivative before you download it. If the derivative is large, you can choose to download the derivative in chunks, by specifying a chunk size using the Range
parameter.
Parameters
urn
string
The URL-safe Base64 encoded URN of the source design.
derivativeUrn
string
The URL-encoded URN of the derivative. Check the manifest of the source design to get the URNs of the derivatives available for download.
optionalArgs
accessToken
string
An access token obtained by a call to GetThreeLeggedTokenAsync() or GetTwoLeggedTokenAsync().
options
ApsServiceRequestConfig
Override http request option.
region
Specifies the data center where the manifest and derivatives of the specified source design are stored. Possible values are:
US
- (Default) Data center for the US region.EMEA
- Data center for the European Union, Middle East, and Africa.APAC
- (Beta) Data center for the Australia region.
Note: Beta features are subject to change. Please avoid using them in production environments.
Returns
Promise
<void
>
Throws
Defined in
aps-sdk-node/modelderivative/source/custom-code/modelDerivativeClient.ts:462
specifyReferences()
Operation: Specify References
specifyReferences(
urn
,specifyReferencesPayload
,optionalArgs
):Promise
<SpecifyReferences
>
Specifies the location of the files referenced by the specified source design.
When you call Create Translation Job, set checkReferences
to true
. The Model Derivative service will then use the details you specify in this operation to locate and download the referenced files.
Parameters
urn
string
The Base64 (URL Safe) encoded design URN.
specifyReferencesPayload
optionalArgs
accessToken
string
An access token obtained by a call to GetThreeLeggedTokenAsync() or GetTwoLeggedTokenAsync().
options
ApsServiceRequestConfig
Override http request option.
region
Specifies the data center where the manifest and derivatives of the specified source design are stored. Possible values are:
US
- (Default) Data center for the US region.EMEA
- Data center for the European Union, Middle East, and Africa.APAC
- (Beta) Data center for the Australia region.
Note: Beta features are subject to change. Please avoid using them in production environments.
Returns
Promise
<SpecifyReferences
>
Throws
Defined in
aps-sdk-node/modelderivative/source/custom-code/modelDerivativeClient.ts:495
startJob()
Operation: Create Translation Job
startJob(
jobPayload
,optionalArgs
):Promise
<Job
>
Creates a job to translate the specified source design to another format, generating derivatives of the source design. You can optionally:
- Extract selected parts of a design and export the set of geometries in OBJ format.
- Generate different-sized thumbnails.
When the translation job runs, details about the process and generated derivatives are logged to a JSON file known as a manifest. This manifest is typically created during the first translation of a source design. Subsequently, the system updates the same manifest whenever a translation is performed for that design.
If necessary, you can set the x-ads-force
parameter to true
. Then, the system will delete the existing manifest and create a new one. However, be aware that doing so will also delete all previously generated derivatives.
Parameters
jobPayload
optionalArgs
accessToken
string
An access token obtained by a call to GetThreeLeggedTokenAsync() or GetTwoLeggedTokenAsync().
options
ApsServiceRequestConfig
Override http request option.
region
Specifies the data center where the manifest and derivatives of the specified source design are stored. Possible values are:
US
- (Default) Data center for the US region.EMEA
- Data center for the European Union, Middle East, and Africa.APAC
- (Beta) Data center for the Australia region.
Note: Beta features are subject to change. Please avoid using them in production environments.
xAdsDerivativeFormat
Specifies what Object IDs to return, if the design has legacy SVF derivatives generated by the BIM Docs service. Possible values are:
latest
- (Default) Return SVF2 Object IDs.fallback
- Return SVF Object IDs.
Note:
- This parameter applies only to designs with legacy SVF derivatives generated by the BIM 360 Docs service.
- The BIM 360 Docs service now generates SVF2 derivatives. SVF2 Object IDs may not be compatible with the SVF Object IDs previously generated by the BIM 360 Docs service. Setting this parameter to fallback may resolve backward compatibility issues resulting from Object IDs of legacy SVF derivatives being retained on the client side.
- If you use this parameter with one derivative (URN), you must use it consistently across the following:
xAdsForce
boolean
true
: Forces the system to parse property data all over again. Use this option to retrieve an object tree when previous attempts have failed.
false
: (Default) Use previously parsed property data to extract the object tree.
Returns
Promise
<Job
>
Throws
Defined in
aps-sdk-node/modelderivative/source/custom-code/modelDerivativeClient.ts:551