Important!
The 3D print API is shutting down on January 15, 2017. See our end of life notice for more information.
API Basics¶a>
The following table describes the 3D Print API endpoint groups.
Print Definitions | List Forge-supported printer types and materials and define slicing parameters. |
Print Preparation | Import, analyze, and repair meshes; slice meshes and create printable files. |
Printer Registration | Register Forge members as owners or users of Forge-connected 3D printers and retreive lists of registered printers. |
Printer Management | Manage Forge registered printers by sending commands or queueing and submiting jobs to the printers. |
Firmware | Connect firmware to Forge over the internet to enable printer owners to use the 3D Print API to control their printers, print jobs, and share their printers with other online users. |
The following image shows how most 3D Print API endpoints are used by developers for building apps, whereas the Firmware endpoints are used by printer manufacturers to make their printers Forge Compatible.

The following table defines important terms for the 3D Print API:
Term |
Definition |
---|---|
members | registered users with their own Autodesk IDs that authorize the app to act on their behalf via a three-legged OAuth flow |
mesh | 3D models stored as a collection of geometrical vertices, edges, and faces.
Meshes are created from geometry files, such as OBJ and STL.
|
printable | A printable file ready for transmission to a printer
Content is printer-specific
|
profile | A set of slicing parameters associated with a printer type |
tray | sets the mesh arrangement, printing material, and slicing parameters for a specific 3D printer
It is also referred to as the print-bed settings for a 3D printer. Data is taken from the printer type, print
profile, and meshes.
|
task | Asynchronous jobs generated by print endpoints when the endpoint command is complex and may take time to complete.
See the GET tasks/
|
command scopes | When members are associated with a printer, they have
is_printer_scoped , is_job_scoped , or both permission
sets in order to send specific commands to the printer.See the POST printers/
|
Task Endpoint¶
Most Print Preparation endpoints are asynchronous and initiate a task that runs in the background rather than halting execution of your program. The GET tasks/:id endpoint is used to monitor the progress of these endpoint calls, and it returns the results when the processes are complete.
Typical Workflow¶
There are many different ways to use the 3D Print API, but the following is a typical workflow:
- Check Definitions: Use the Printer Definitions endpoints to check that your printer types and materials are supported by Forge. You may need to define a print profile (slicing parameters) for your printer.
- Prepare a Printable File: Use the Print Preparation endpoints to import a mesh, heal it, set it in a tray for a particular 3D printer, and generate a printable file from it.
- Register a Printer: Use the Printer Registration endpoints to select or register a printer you want to submit print jobs to (to create a 3D model).
- Create a Job: Use the Printer Management endpoints to create or queue a job and monitor the job’s progress.
Firmware Endpoints¶
To use a printer in Forge, its printer type needs to have been defined in the Forge database. You can use the GET printerTypes endpoint to get a list of defined printer types. Forge communicates with the firmware using the Faye publish-subscribe messaging service. See the Firmware Workflow page the for more details.
Print Simulator¶
A printer simulator is available to use for testing printer registration and management without physically printing 3D models.
Getting Started¶
To use the 3D Print API you first need to register an app and successfully acquire an OAuth token. You also need to have uploaded a file to OSS, as described in the file upload tutorial.