BIM and API Extensions (1-2-3 Revit Tutorial)29 Feb, 2008 By: AIA ,Rick Rundell
Extend BIM solutions with specialized applications that use an API to operate directly on the building data.
Currently more than 150 add-on software applications can access Revit building information modeling (BIM) data using an application programming interface (API). Add-on developers provide specialized domain knowledge for specialized applications -- such as steel detailing, energy analysis, or cost estimating -- that operate on the information created by BIM.
This month's column explains how the utility of BIM solutions such as Revit can be broadened through the use of specialized software extensions -- programs written by independent application developers that interface directly with the BIM solution using an API.
Interacting with a Building Information Model
Developers use a variety of methods to interact with BIM data and integrate their software applications with a BIM solution. For example, many software applications rely on open file formats, such as STEP, IFC, or CIS/2, to pass building data back and forth between software programs. Other integrations are based on a neutral database driver like ODBC, which acts as a translator between the software programs.
An integration based on an API offers a very close link between software applications. For example, the Revit API allows independent software developers to create software programs that can access elements in the Revit model. Application developers can use the Revit API to query and change element properties as well as to add and modify some elements. Even individual Revit users and companies are taking advantage of the API to create their own custom tools and add-on modules.
Integrations that use an API to link software applications are often termed dynamic because the API enables software applications to interact with each other directly. For instance, one software solution that uses the Revit API is Trelligence Affinity, a software application for architectural programming and schematic design typically used in building predesign. A schematic design developed in Affinity can be linked to an emerging architectural design created with Revit Architecture to compare the Revit-based design and the Affinity-based program requirements, such as a room's actual square footage versus its target square footage.
Because the Revit API enables such close integrations, it's being used by a variety of software partners for a variety of applications such as the architectural programming module from Trelligence mentioned above or specification management software (e-SPECS) by InterSpec. Another prominent example of applications that tap the Revit model is a new series of API-based software applications from Robobat -- software programs that extend the capabilities of Revit Structure for structural analysis and documentation.
Robobat, which was acquired by Autodesk in January 2008, specializes in analysis, design, and steel and concrete detailing software for the structural engineering industry. Robobat is the developer of ROBOT Millennium, a solution for structural analysis and design with more than 23,000 licenses sold worldwide.
The downloadable Revit Extensions for Revit Structure are a series of applications that extend the capabilities of Revit Structure 2008 software in various key areas, including structural analysis and reinforced concrete drafting. All extensions for Revit Structure software developed by Robobat, both fee and free, are available through the Autodesk Subscription Program. Once the extensions are downloaded, an Extension Manager option is added to the Revit toolbar and the user simply clicks on this option to launch the Extensions dialog box.
The Extensions for Revit include a variety of structural applications that complement Revit.
Extensions for Analysis
The Structural Analysis Enabler allows the analysis model defined in Revit Structure (created simultaneously as the Revit Structure model is built) to be transferred and used directly for analysis within ROBOT Millennium. Once the analysis is complete, any changes -- a larger column size for instance -- are automatically reflected in the Revit Structure model thanks to the dynamic, API-based link between the two software applications. In addition, the parametric change technology within Revit coordinates those changes in all affected project views and construction drawings. Revit Structure users can analyze their own models and update them even after the documentation has been created. Bidirectional linking between Revit Structure and ROBOT Millennium provides round tripping capabilities without losing data defined separately in both programs.
Extensions for Revit feature an API-based link between the Revit Structure model (above) and the Robobat Millennium analysis module (below).
The Static Analysis of Slabs extension allows the static analysis of a slab defined in a Revit Structure model. It includes the loading of necessary information from Revit Structure such as: slab geometry, constraints and supports, load cases, load combinations, and other loads. Results obtained for a defined slab model are displayed in graphical and tabular forms.
Extensions for Reinforced Concrete
The Extensions for Reinforcement enable facilities to define both simple and complex reinforcement patterns for reinforced concrete members, including beams, columns, spread footings, continuous footings, slab openings, and pile caps.
The user begins by selecting a representative Revit Structure model element and then launches the extension. The API-based integration enables the extension to read the Revit Structure model and automatically preset the Reinforcement dialog box to reflect the initial state of that model element. Note that the spans and supports are detected automatically. The dialog box directs the user through the process of defining the reinforcement type and pattern. Once complete, the extension automatically updates the Revit Structure model elements by including the embedded rebar. If needed, the user can reselect that beam at any time to modify the reinforcement -- change a distribution type for example -- and then regenerate the reinforcement.
Extensions for Revit allow Revit Structure users to define reinforcement patterns for reinforced concrete members.
Once the patterns are defined, the user clicks OK, and the appropriate members are automatically created in the Revit Structure model.
The reinforced concrete extensions also include the ability to generate AutoCAD reinforcement drawings for the newly created reinforced concrete members. The drawing extension uses the Robobat RCAD Reinforcement engine to create the drawings. RCAD Reinforcement is a software solution for automatic generation of detailed documentation (drawings and reinforcement tables). The extension includes many templates that comply with the detailing practices of different countries to ensure that local detailing methods can be used and the appropriate bar schedules produced automatically.
Additional Extension Functionality
The extensions also provide utilities for CIS/2 import and export, model generation, and other miscellaneous tasks. For example, the extensions include a wizard that enables the user to define and generate axes grids and levels in Revit projects and automatically generate columns, beams, walls, and footings on those grid intersections. There's also a module that enables users to create Revit structures based on data defined in a Microsoft Excel spreadsheet, useful for creating very repetitive multistory structural designs or very complex structural geometry that has been defined based on mathematical formulas. The import/export to CIS/2 functionality enables interoperability with steel detailing software, allowing the Revit Structure model to be used for digital fabrication.
Add-on software programs created by independent application developers provide extended BIM capabilities for specialized building applications. API-based integrations that interact directly with the BIM solution can be a very effective method of linking these add-on software applications to a building information model. The growing number of independent software developers that are tapping into Revit building information models using the Revit API is testament to API-based integration methods as well as the underlying value of the Revit building information model.