Question: What resources are available for getting started with the Revit Structure API, especially concerning the implementation of an analysis link, a link between Revit Structure and an external analysis application?
Answer: There are a number of resources available on the Revit Structure or RST API, and we from the Autodesk DevTech team have held several trainings, webcasts and classes at Autodesk University on this topic. The Revit Structure training material and samples from these trainings is available, some of it publicly and some on the ADN web site. Here are the main resources that I am aware of:
There are also a number of RST specific samples in the standard Revit SDK. Let's look at the contents of each of these packages in more detail.
The RST training material has focused on two main areas:
These correspond to and aim to help support and automate the tasks and user focus not addressed very strongly by the base RST product:
The samples provided in the RST training material consist of the following components:
The RST labs explore the Revit elements and data involved in data exchange between RST and an external analysis application and demonstrate how they are related and can be accessed, modified, and created. In a second step, the RST link sample makes use of the labs functionality to implement a simulated analysis link. AutoCAD is used to simulate the external analysis application. The data is exchanged between RST and AutoCAD using a custom XML format. Some RST properties are exposed in AutoCAD and stored in extended entity data. They can be edited manually in the AutoCAD Object Property Manager or OPM, and the updated data is read back in to Revit. Currently, only 'stick' elements are supported, i.e. structural framing elements such as columns, beams and braces. Here is an overview of the different RstLink modules:
The enhanced detailing samples demonstrate:
The enhanced standard Revit SDK samples are included in some of the the standard Revit SDK distribution samples:
Here is a list of the sample commands provided, extracted from my ADN samples text file, which is processed by RvtSamples to define entry points in the Revit 2009 menu:
This material was presented in various classroom trainings and webcasts. A Revit Structure API webcast was held in May 2008. The material and recordings of all ADN webcasts are publicly available from the Developer Center training site listing the course schedule for all our trainings and webcasts. Here is a direct link to the materials and recording for this webcast. For your convenience, I am making the presentation and sample code available right here as well:
We held classes on the RST API at Autodesk University in 2007 and 2008. In 2007, there were two separate sessions on the analysis link and the rebar and detailing topics:
In 2008, they were combined into one single streamlined class held by Mikako Harada:
This latter session was also recorded. Here is the class description and some highlights:
Two main areas of interest in the Revit Structure (RST) API are the bi-directional link to an external structural analysis program and reinforced concrete detailing design. In addition to the physical building information model (BIM) defined in Revit Architecture, RST defines an analytical model of the building, composed of geometry, loads, connectivity, release/boundary conditions, material properties, and other project parameters. This session shows how to implement a bi-directional link to a structural analysis program. We will then look at the reinforcement concrete detailing API and show how to automate part of the reinforcement workflow, eliminating repetitive manual tasks. This session assumes basic knowledge of Revit programming.
The class material is publicly available from the Autodesk University web site and includes:
For completeness sake, I also mention MidasLink. This is the result of a consulting project linking to a commercial application. It is only accessible to ADN members.
MidasLink is a Revit Structure add-in program that exports and imports the Revit model to and from the MIDAS/Gen structural analysis application. The source code is provided to help developers integrating analysis programs with Revit Structure. The compiled add-in is available to Revit Structure subscription customers in certain countries. Source code for the 2008 and 2009 versions are available on the ADN web site. To find it, you can simply search for 'MidasLink'. Here is a direct link to the 2009 version. The package includes:
The installer source code is also included, which is in C++. This makes it interesting for any Revit application developer to have a look at. Another module of interest to any developer is the unit handling, which I already mentioned in a previous post.