Programmers have a great resource in the Revit Application Programming Interface (API), which they can use for automation or creating specialized applications which they may even put up for sale on the Autodesk Application Exchange. In general, the Autodesk LT offerings do not avail the user of the API, so if automation or customization is the goal, then only the full Revit package has to be considered.

What does the API “look” like? To answer this question, install the optional software Development Kit. The kit also contains some samples (macros and applications) and an application add in to manage other add-ins (amongst other things).


Make a note of the installation directory (I installed it to C:\Revit SDK 2016), as the updates to the SDK must be applied to it as well. They can be found on the Autodesk Developer Network:


Open C:\Revit SDK 2016\RevitAPI.chm. This is an HTML Help file that shows latest Revit Object Model categorized by namespace, exposing the members therein, their methods, properties and events.

If one is already familiar with the API and would like to know what is new, then perusing the What’s New heading is a good idea. Global parameters is a functionality that Revit 2016 R2 has incorporated and which will be contained in the 2017 version. Here can be seen how it is a new addition to the API.


Browsing through the API, using the Contents, Index and Search tabs allowed me to come across the viewport class with which I can programmatically discover on which sheet a view is placed, by using the Viewport.SheetId property.


Similarly you may discover all the methods and properties available to you in the API. The information is given for those that know either the Visual Basic, C# or C++ languages.