Autodesk’s AEC Data Model API provides routes to query data about elements inside models stored in a customer’s ACC Hub. Tracer Server is an on-premises technology stack by Proving Ground to leverage Revit’s desktop application for more robust extraction of data from Revit models. These two systems differ in what data is accessible and how the data is provided to an end user.
PG – Tracer Server | ADSK – AEC Data Model API |
---|---|
Method: Uses Revit’s desktop application API for full access to model Model data access: Elements are filtered by category All element parameters are accessible, anything “scheduleable” in Revit is accessible. 2D outlines (areas, rooms, spaces), 2D placement points (most placed instances) are stored as GeoJSON 3D geometry (most placed instances) is stored in gLTF format Project Information, Worksets, and Warnings are accessible. | Method: Uses ACC’s API Model data access: Series of API endpoints are used to find hubs, find projects, filter elements, find element groups, and/or access schedules within a single model GraphQL is used to structure requests Parameter/properties are explicitly queried |
Output: Data is stored in an on-premises relational database schema Multiple models and their elements exist within a single database Revit Schedules can be reverse-engineered via a query and view Database queries and views provide customized output (schedule data, count, averages, geometry, etc) 2D and 3D visuals for Power BI rely on output data, not a cloud viewer. | Output: Individual JSON responses for each model, not related to data from other models |
Limitations: Data within linked model(s) is not accessible, only the opened document Noting an instance as “modeled in-place” is not yet accessible. | Limitations: Data within a linked model is not accessible, only the specified model Geometry is not available (2D and 3D) Additional exploration needed to determine if certain element properties, like “modeled in-place”, are accessible Data collection into a database or built-in ETL is not provided |
Outcomes: All parameter data on elements are pulled en masse, queries and views are used to filter Database natively provided | Outcomes: GraphQL pulls element and property data as defined Downstream storage or data flow required |