RTV Tools

Friday, July 31, 2009

Exposing the Revit Database (RvtMgdDbg method)

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 2009\bin\ 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 Files\Autodesk Revit Architecture 2010\Program), 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):


There 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.

No comments:

Post a Comment