© 2010 Autodesk
Introduction to Revit 2011 API
Extending Revit
§1. External command
§Implement IExternalCommand
§Commands are added to the External Tools pulldown in the ribbon Add-Ins tab
§Tools > External Tools
§2. External application
§Implement IExternalApplication
§Applications can create new panels in the ribbon Add-Ins tab
§External applications make use of external commands, so 1. is a subset of 2.
§1 & 2 are listed in .add-in manifest files
§3. Visual Studio Tools for Application (VSTA) macro *) not today’s focus
§Two types of macros: application and document level
§Almost identical syntax and functionality as external command with few exceptions
§References the same RevitAPI.dll & RevitAPIUI.dll since Revit 2011 (no more proxy dll)
§ 
§
We have two flavours of Revit add-in, the external command and the external application. An external application can define a user interface by creating its own panel in the ribbon add-ins tab. Within the panel, widgets are defined which are hooked up with external commands implementing the application functionality. An external command listed in Revit.ini is always added to the add-ins tab under the External Tools pulldown.

Today we focus on 1 & 2.