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.
CADshare was founded by Chris Acheson in 2014. Chris, a mechanical engineer, had just returned to the UK from a 10-year stint in Australia where he worked in the Mining and Mineral Processing industries. The seed for CADshare was sown when Chris found himself commissioning equipment in a coal mine in a remote corner of Shanxi Province, China. With pressure mounting on the job to get product through the plant, Chris couldn't believe it when the right part turned up (a vee-belt pulley to facilitate a speed change) but with no bolts to install it. Try finding 8 M16 bolts in rural China in a hurry! The idea took further shape as Chris went on to manage project teams on mines across Australia and witnessed firsthand the difficulty of ensuring the right parts would be available during planned maintenance shutdowns or in breakdown situations. Chris partnered with Neil Montgomery and ever since, the entire CADshare team has been dedicated to realizing the technical capabilities required to deliver an innovative platform with a relentless focus on usability. CADshare helps manufacturers sell more parts through our intuitive e-commerce platform. CADshare is also an Autodesk Forge customer. In fact, this story comes to us from the Forge team. [cadshare]
CADshare uses Forge to develop a better way to sell, find, and buy spare parts for mission-critical machines. It can take up to 10 days for an original equipment manufacturer (OEM) to assemble a traditional parts manual for equipment from multiple information sources. Often PDF-based, these manuals include exploded CAD drawings as a visual way to help customers identify needed spare parts. But these drawings can be confusing and time-consuming to interpret, and customers with customized machinery have difficulty simply finding the right drawing among many similar options. CADshare had a vision of improving the process by making it easier for OEMs to use their CAD design files to publish 3D, interactive parts manuals online.
Forge is defined by 7 groups of APIs:
CADshare is making use of 4 of them:
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:
- The CADshare app makes an HTTP call to an OAuth REST (REpresentational State Transfer) endpoint and provides its credentials.
- A token is returned to the CADshare app.
- In making subsequent HTTP calls to various APIs on the platform, the CADshare app includes the token in a request header.
Applications like CADshare's can use OAuth with a two-legged or a three-legged authentication process.
- To accomplish two-legged authentication on the Forge Platform requires that apps use the "Client Credentials" grant type. This means that the app directly communicates with the Forge Platform for authentication and accessing resources. If it's a web app, the end user is not directly aware of any of these server-to-server communications, as none of it is passed through the web browser.
- To accomplish three-legged authentication and authorization on the Forge Platform, the authorization code grant type can be adopted. To use a web app as an example, this means that the app redirects the end user to an Autodesk login and authorization flow, and an authorization code is returned to the app (via a query parameter in the callback). The app then exchanges that authorization code for a token by communicating with the Forge authentication server directly. While other grant types are possible (that enable other flows), they are less secure and thus highly discouraged.
- To accomplish three-legged authentication and authorization on the Forge Platform, the implicit grant type can be adopted. To use a web app as an example, this means that the app redirects the end user to an Autodesk login and authorization flow, and an access token is returned to the app (via a query parameter in the callback).
At first, CADshare considered creating a custom viewer and developing a tool that would let it convert OEMs' equipment models into lightweight 3D visualizations within CADshare's cloud based systems; however, this would have taken many months to develop, and it would have added an extra conversion layer to the workflow. Instead, CADshare turned to Forge to provide a foundation for core capabilities.
- Chrome 50+
- Firefox 45+
- Opera 37+
- Safari 9+
- Microsoft Edge 20+
- Internet Explorer 11
The Model Derivative API provides a URN to the SVF file. A URN (Uniform Resource Name) is an internet resource with a name that, unlike a Uniform Resource Locator (URL), has persistent significance — that is, the owner of the URN can expect that another program will always be able to find the resource. A frequent problem in using the cloud is that web content is moved to a new site or a new page on the same site. Since hyperlinks reply on URLs, they no longer work when content is moved. URNs do not have this problem. The Viewer converts the SVF (Simple Vector Format) into WebGL that the browser can display natively without an additional plug-in.
Allowing Forge to render files in the Viewer is a hassle-free way for CADshare to share data without having to deal with all of the peculiarities of these various browsers.
Model Derivative API
CADshare uses the Forge Model Derivative API to prepare OEMs' design files for viewing only. The Model Derivative API lets CADshare represent and share designs in different formats, as well as to extract valuable metadata into various object hierarchies. 50 different file input formats are supported. With this API, CADshare can translate designs into different formats, such as STL and OBJ, but the key one is that CADshare can have it translate designs into SVF for extracting data and for rendering files in the Viewer.
The pieces of this part of the Forge API include:
- Metadata Extraction - an application can extract identifiable elements and properties from a source file
- Geometry Extraction - an application can identify various geometric representations
- File Translation - an application can translate source files into output files (derivatives) of different formats
Data Management API
The Data Management API gives CADshare a unified and consistent way to access data across projects and its own Object Storage Service. The Object Storage Service allows the CADshare application to download and upload raw files (such as PDF, XLS, DWG, or RVT).
The pieces of this part of the Forge API include:
- Project Service - an application can navigate to a project from BIM 360 Team hub, a Fusion Team hub, an A360 Personal hub, or a BIM 360 Docs account
- Data Service - an application can navigate and manage the BIM 360 Team, Fusion Team, BIM 360 Docs, or A360 Personal metadata in terms of folders, items, and versions, as well as the relationships between these entities
- Schema Service - lets an application understand the structure and semantics of extended data types, like Hubs, Projects, Folders, Items, and Versions
- Object Storage Service - an application can download and upload raw files that are managed by the Data Service
OEMs turn to CADshare when they need to create accurate and intuitive online parts manuals. Using a cloud-based process, the OEMs generate parts manuals from their own design files in less than a day — a process that used to take up to 10 days. Faster to create, these manuals also offer better user experiences to customers searching for parts. Buyers simply log into the CADshare system and get access to the manuals for the specific equipment that they own. Then they can quickly navigate 3D assemblies for their machines to identify and order the correct spare parts directly from the OEM.
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.