Giter Site home page Giter Site logo

codevijay53 / aps-extra-derivatives Goto Github PK

View Code? Open in Web Editor NEW

This project forked from autodesk-platform-services/aps-extra-derivatives

0.0 0.0 0.0 1.54 MB

Extra Derivatives:Experimental service for post-processing 3D models into additional formats.

Home Page: https://aps-extra-derivatives.autodesk.io

License: MIT License

JavaScript 78.82% Python 4.23% CSS 3.28% HTML 11.60% Dockerfile 2.06%

aps-extra-derivatives's Introduction

Extra Derivatives

platforms node.js npm license

Model Derivative

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.

thumbnail

Experimental Usage

REST API

  1. Use the POST https://m5ey85w3lk.execute-api.us-west-2.amazonaws.com/Prod/jobs/{urn}/{guid} request to process a specific APS model viewable.
  2. Use the GET https://m5ey85w3lk.execute-api.us-west-2.amazonaws.com/Prod/jobs/{urn}/{guid} request to check the status of the processing.
  3. 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".

Demo App

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.

Architecture

Architecture diagram

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:

Conversion state machine

Troubleshooting

Submit your question via APS Support Form.

License

This sample is licensed under the terms of the MIT License. Please see the LICENSE file for more details.

Authors

Petr Broz (@ipetrbroz), Developer Advocate

aps-extra-derivatives's People

Contributors

petrbroz avatar augustogoncalves avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.