3 Jan 2018
Updated: What's so hot about that Autodesk Forge thing?
Let's say you've been an Autodesk customer for a long time. You've got decades of your intellectual property captured in AutoCAD drawings. If you'd like to leverage that data to showcase your work to your customers, then Autodesk Forge is for you.
Forge is our application program interface (API) platform and supporting materials (sample code, manuals) as well as a community of developers who uses those APIs. Although Forge is intended for our customers and 3rd party developers to be able to use our web services, we use Forge for our development of the cloud-based services that we offer. You can leverage Forge in the same ways that we do.
Forge is defined by 7 groups of APIs:
-
Authentication
Authentication for Forge is based on the industry standard OAuth, specifically OAuth2, that provides for token-based authentication and authorization. The basic flow for using OAuth is:
- Your app makes an HTTP call to an OAuth REST (REpresentational State Transfer) endpoint and provides its credentials.
- A token is returned to your app.
- In making subsequent HTTP calls to various APIs on the platform, your app includes the token in a request header.
-
Design Automation API
The Design Automation API gives you the ability to run scripts on your design files, taking advantage of the scale of the Forge Platform to automate repetitive tasks. The API currently works with DWG files, but private beta testing is underway for Inventor and Revit files. This is a handy way to publish thousands of drawings to DWF or PDF. "Ordinarily, you would have to download all the files, run a script on them in the AutoCAD desktop software, and then potentially upload them all back to the cloud. Your efficiency would be bottlenecked by the processing power of your computer and your network bandwidth, and you would have to instrument logging and retry logic in your code to ensure that the entire job completed. With the Design Automation API, you can offload all that processing to the Forge Platform, which can process those scripts at a much greater scale and efficiency." [Forge]
-
Reality Capture API
"The Reality Capture API gives you the ability to use our latest desktop and cloud solution built for Unmanned Aerial Vehicle (UAV) and drone processes, ReCap Photo. You can add geo-based metadata by setting Ground Control Points (GCPs), selecting specific geographic coordinate systems, and tagging images with GPS information. The integration of this geo data results in accurate textured meshes, point clouds, and orthophotos. A reconstruction (Quality) report details the level of accuracy." [Forge]
-
Data Management API
The Data Management API gives you a unified and consistent way to access your data across BIM 360 Team, Fusion Team, BIM 360 Docs, A360 Personal, and its own Object Storage Service. The Object Storage Service allows your application to download and upload raw files (such as PDF, XLS, DWG, or RVT). Coupling this API with the Model Derivative API, you can accomplish a number of workflows, including accessing a Fusion model in Fusion Team and getting an ordered structure of items, IDs, and properties for generating a bill of materials in a 3rd-party process. Or, you might want to superimpose a Fusion model and a building model to use in the Viewer. [Forge]
-
Model Derivative API
The Model Derivative API lets you represent and share your designs in different formats, as well as to extract valuable metadata into various object hierarchies. 60 different file input formats are supported. With this API, you can translate your design into different formats, such as STL and OBJ, but the key one is that you can have it translate your designs into SVF for extracting data and for rendering files in the Viewer.
-
Viewer
The Viewer is a WebGL-based, JavaScript library for your use in 3D and 2D model rendering. The Viewer communicates natively with the Model Derivative API to fetch model data, complying with its authorization and security requirements. The Viewer requires a WebGL-canvas compatible browser:
- Chrome 50+
- Firefox 45+
- Opera 37+
- Safari 9+
- Microsoft Edge 20+
- Internet Explorer 11
This is a hassle-free way to share your company's data to your customers without having to deal with all of the peculiarities of these various browsers.
-
Webhooks API
The Webhooks API is currently undergoing beta testing internally and by Autodesk partners. A webhook sends data to endpoints (URLs) when a certain event occurs. It is triggered by events occurring in web applications. It then sends real-time data to applications listening to it. Since the data is sent immediately, using a webhook is more efficient that frequently polling for updates. The Forge Webhooks API allows your application to listen to Forge Data Management events and receive notifications when they occur. When an event is triggered, the Forge Webhooks API sends a notification to a callback URL you have defined. You can customize the types of events and resources to receive notifications for. For example, you can set up a webhook to send notifications when files are modified or deleted in a specified hub or project. The basic workflow is:
- Identify the data you want to receive notifications for.
- Use the Webhooks API to create one or more hooks.
- The Webhooks API will notify the webhook when there is a change in the data.
Autodesk has always been an automation company, and today more than ever that means helping people make more things, better things, with less; more and better in terms of increasing efficiency, performance, quality, and innovation; less in terms of time, resources, and negative impacts (e.g., social, environmental). Autodesk Forge is an integral part of our automation plans.
So regardless of the number of gigabytes of data you have in your design files, you can use these APIs to extract data, surface it, and allow your customers to view and interact with it on your own website. To forge is to make or shape a metal object by heating it in a fire or furnace or beating and hammering it. In terms of customer showcasing, your data is the metal, and our APIs are the heat.