Have you ever had to pick up someone else’s project and try to figure out how it all goes together? Or maybe you were trying to delete a level, and Revit just went ahead and deleted all associated elements without telling you?

I found a great tool on the AUGI Forums that actually reports all the elements on a particular level! You can download it at http://forums.augi.com/showpost.php?p=864748&postcount=22 (you need to login to the forums obviously).

To help you install it, check out http://forums.augi.com/showpost.php?p=921396&postcount=36.

I have installed and used it with 2010 and it seems to work fine. Thanks to sfaust!

As a follow up to my previous post (Exposing the Revit Database), I will now explain how to install and use the RvtMgdDbg add-in for Revit, which allows you to “Snoop” the Revit database.
What does RvtMgdDbg really stand for? ‘Rvt stands for Revit, Mgd for Managed, and Dbg for Debug.’

It is most commonly used by programmers in the Revit API. You may find it useful, however, in just understanding the structure of the database. You can also use it to find information that otherwise may be very difficult to obtain.

How do you get this RvtMgdDbg, and how do you make it work?

It’s not too difficult:

  1. Download the RevitAPI_2010_Webcast.zip file (I got this link from The Building Coder) (or if you are part of the ADN, download from 2010 alpha version).
  2. Extract the RevitAPI_2010_Webcast.zip file.
  3. Go in to the RvtMgdDbg_0504 2009 subfolder. Then, double click the RvtMgdDbg2008.sln file.
  4. If your PC is set up correctly, Microsoft Visual Studio Tools for Applications 2.0 should open up.
  5. Now, just click on the ‘Build’ menu, and then click ‘Build RvtMgdDbg2008’.
  6. If all goes well, you can now close Microsoft Visual Studio Tools for Applications 2.0.
  7. Go to the RvtMgdDbg_0504 2009bin folder. RvtMgdDbg.dll should be present in this folder.
  8. There are a few different ways to do the next couple of steps. I’ll just describe one simple way…
  9. Go to your C: drive and make a folder called RVTMGDDBG.
  10. Copy the RvtMgdDbg.dll file into the C:RVTMGDDBG folder.
  11. In your Revit program folder (usually C:Program FilesAutodesk Revit Architecture 2010Program), open the file Revit.ini
  12. Scroll down until you see the [ExternalApplications] subcategory.
  13. Check the EACount= value
  14. Change the EACount= value by increasing it by 1 (eg. if 2, change it to 3)
  15. After the final EAAssembly line (eg. EAAssembly1 or EAAssembly2 etc), add the following lines (you need to replace the question mark with your EACount= value PLUS 1):

EAClassName?=RvtMgdDbg.App
EAAssembly?=C:RVTMGDDBGRvtMgdDbg.dllThere you go! Close and save the Revit.ini file.Now, to try it out…

  1. Open Revit.
  2. Make a new project.
  3. Make a bit of wall.
  4. Select the wall you just made.
  5. In the Ribbon, go to the ‘Add-Ins’ tab.
  6. Click Snoop Current Selection… button on the RvtMgdDbg panel.
  7. A window should come up showing you the properties of the wall you made.

Or, to browse most of the Revit database at once:

  1. On the RvtMgdDbg panel, click Snoop Db…
  2. The window should look something like this:


You can now browse around and learn how the database is put together.Keep in mind that there may be issues and bugs with this method. For instance, on one version of RvtMgdDbg that I was using, it seemed to cause Revit to prompt me to Save Coordinates (on a project with linked Revit models using shared coordinates) – even though I had not moved the linked models.So, be careful! You might want to use this on ‘test’ projects to start with. If you want to remove this add-in, simply reverse steps 15 and 14 in the first list (remove the lines you added to Revit.ini and reduce the EACount= value by 1).Feel free to comment or contact me if you have any problems or questions related to the above method.If you are really interested in the Revit API, head over to http://usa.autodesk.com/adsk/servlet/index?siteID=123112&id=2484975 and check out some of the material on that page.

Ooh La La! Does Revit really want you to see what goes on under the hood? Well, if it can help you understand Revit better, then I would suggest that it does (because it will help you know how to ‘treat Revit right’). So, how do you do it?

There are two main ways:

  1. Using the RvtMgdDbg API add-on
    This is the most comprehensive method, in that it allows you to ‘Snoop’ virtually all parts of the Revit database.
  2. Using the RDBLink Tool from Autodesk Labs
    This method actually allows you to modify and then update Revit model element properties.

Both of these methods expose the Revit database, which allows you see how things really go together. The Revit database is really what makes everything else possible: from environmental analysis to the basic parametric nature of elements. It’s exciting stuff!I will do individual posts on how to setup and use both these methods in the near future.

There is a nice, basic guide on using the Revit 2010 Macro Manager in the latest AUGIWorld Magazine.
(LINK UPDATED 14/03/2011)

Check it out if you are interested in the API.

Picture from AUGIWorld Magazine.

Once you get into Revit programming, check out The Building Coder.

There is also an article in the magazine on Autodesk Impression, if you are interested.