Experimental service (deployed as an AWS serverless architecture) for post-processing 3D models from Autodesk Platform services to additional formats such as glTF, glb, or Usdz.
- Use the
POST https://m5ey85w3lk.execute-api.us-west-2.amazonaws.com/Prod/jobs/{urn}/{guid}
request to process a specific APS model viewable. - Use the
GET https://m5ey85w3lk.execute-api.us-west-2.amazonaws.com/Prod/jobs/{urn}/{guid}
request to check the status of the processing. - Use the
POST https://m5ey85w3lk.execute-api.us-west-2.amazonaws.com/Prod/jobs/{urn}/{guid}/signedurl
to generate temporary, read-only signed URLs for downloading the different artifacts.
In all the requests listed above, replace {urn}
with the Model Derivative URN of your model, and
{guid}
with the GUID of the specific viewable you want to process, and provide an Authorization
header with the same token you would use in requests to the Model Derivative service.
Tip: viewables are listed in the Model Derivative manifest with
"mime": "application/autodesk-svf"
.
Go to https://aps-extra-derivatives.autodesk.io, log in with your Autodesk account, browse through your hubs, projects, and designs. After selecting a specific viewable of a design, start the conversion process (unless you have already done so in the past), wait for it to complete, and then download or preview the conversion outputs.
Here's a quick description of the different resources used in the AWS SAM template:
- JobsTable - DynamoDB table storing the status of conversion jobs and their artifacts
- ArtifactsBucket - S3 bucket storing the conversion artifacts
- RestApi - REST API definition with CORS settings
- GetJobFunction - Lambda function (Node.js) handling
GET
requests - PostJobFunction - Lambda function (Node.js) handling
POST
requests - GenerateArtifactUrlsFunction - Lambda function (Node.js) handling
POST
requests that generate temporary signed URLs for artifacts - ConversionStateMachine - Step Function orchestrating individual steps of the conversion
- DownloadSvfFunction - Lambda function (Node.js) handling the downloading of SVF assets from APS
- ConvertSvfToGltfFunction - Lambda function (Node.js) converting SVF assets to glTF
- ConvertGltfToGlbFunction - Lambda function (Node.js) converting glTF to glb
- ConvertGltfToDracoFunction - Lambda function (Node.js) converting glTF to glb with Draco compression
- ConvertGltfToUsdzFunction - Lambda function (Python) using a custom Docker image to convert glb to usdz
- SharedLayer - Lambda layer with shared code and dependencies for all Node.js-based Lambda functions
The ConversionStateMachine consists of the following states:
Submit your question via APS Support Form.
This sample is licensed under the terms of the MIT License. Please see the LICENSE file for more details.
Petr Broz (@ipetrbroz), Developer Advocate