11 Feb 2022
BIM 360/ACC Model Properties API
We are super excited to announce the availability of Model Properties API! Built on top of SVF2 (the enhanced version of viewable format used by the Forge Viewer), Model Properties API provides a powerful tool to query, filter and compare properties of models.
For example, till now, even if you are interested in only MEP elements (e.g., pipes and ducts) with a subset of properties, you are required to download the entire model data and to parse the massive data by yourself. With this new tool, you will be able to download only the elements and properties that you are interest in. The actual query operation is performed in the cloud, and you will have less data to download. This will give you considerable performance gain especially if you are dealing with a large model. Of course, as a developer, you have more functionalities to take advantage of with less coding. As we hear more and more people interested in analyzing models, moving toward model-based approach, and sharing a model saved in Docs among various disciplines and phases, we foresee a lot of potential use cases using this tool.
There are two main functionalities in Model Properties API:
- Index - process model data for fast look up and allow users to query
- Diff - calculate differences between two versions of a model and allow users to query
Types of data that is being indexed include: element properties (i.e., ones that you see in the viewer), various ids (e.g., externalId, svf2Id, databaseId, lmvId), and bounding box of viewable objects. These allow you to view resulting queried objects using the viewer. Index API supports files that are converted to SVF2 format.
Diff is the functionality used in the Compare or Change Visualization feature in Design Collaboration module. Difference can be in properties as well as geometries. For Diff to function correctly, a file type needs to maintain unique identifiers between versions. Currently, the file types supported for Diff include:
- .rvt
- .dwg
- .nwc exported from Revit and AutoCAD verticals
- .ifc exported from AutoCAD Architecture/MEP, Civil 3D (2018 and onwards), ARCHICAD, Revit, MagiCAD for Revit, and Tekla Structures
A few points to note to use Model Properties API:
- The API supports 3-legged authentication only
- The user must have at least View+Download folder permission
- Model Properties API works with BIM 360 Docs and Autodesk Docs. Models stored using OSS and other Autodesk Cloud Services are not supported at this time
- Indexed data is cached for 30 days. If you need beyond or after 30 days, you can run indexing again
- You can use the same endpoints (with /construction/) for both BIM 360 and Autodesk Docs. Choose BIM 360 API type in My Apps; this is compatible for both environments.
Documentation
You can find the following documentation about Model Properties API in Forge developer portal:
- Field Guide
- Step-by-Step Tutorials
- Reference Guide
"Introduction to Model Properties" section gives you a comprehensive explanation of Model Properties API. Step-by-Step tutorials will be a good starting point to get hands-on.
Note: Model Properties API works with both BIM 360 Docs and Autodesk Docs. However, currently the documentation appears only under Autodesk Construction Cloud (ACC) section in Forge developer portal. It is missing under BIM 360 section. The documentation should be updated soon.
Code Samples on GitHub
- Postman Collection (correspond to three Step-by-Step tutorials)
- Model Properties API Walkthrough in PowerShell Core (scripting to explore query language)
- Element Filtering and Partial Model Load (Integration with Viewer)
- Compare Two Versions (Integration with Viewer)
Recording and Presentation
- CS500022 “Construction Cloud API Updates and Beyond” (AU 2021)
20:00~25:10 high level introduction to the Model Properties API and demo of two samples. Note that we called Model Properties API as Indexing API at the time of AU 2021. - Introducing Model Properties at Forge Coffee Break Episode 41 (February 2022)
Informal discussion about the newly released Model Properties API. In particular, 15:01~ Alan Edwardes from Model Properties team will go though the tutorials.
We intend to discuss more technical details about Model Properties API in future posts and possibly through recordings. If you are interested in this API and wish to jump start, we encourage you to join our Forge Accelerator. If you have any question, please contact us through our Forge support channel.