You should all know something about adaptive points by now. I will here describe how I recently used them to solve a modeling problem.

Basically, I need to create a surface that was quite irregular – it did not fall in a way that could be describe in 1 or 2 slopes. I didn’t want to use a shape-edited floor, as I wanted a form that would be smooth – not triangulated. Further to this, I wanted to be able to easily edit this form, and I wanted to be able to be able to derive some intelligence from it (ie. report the slope of the form). What would you do?

Here is how I handled it:

  1. Create an Adaptive Component (generic) family.
  2. Place some points and make them Shape Handle Points (Adaptive)
  3. Create two splines based on these adaptive points that meet at two endpoints (see image below).
  4. In the Project, create an in-place Mass family.
  5. Create an Instance of this Adaptive Component inside the in-place Mass.
  6. Finish the in-place Mass.
  7. Create a new Wall based on the face (surface) from the Adaptive Component family.
  8. You are done!


The fun part is editing – here is how you do it:

  1. Select the in-place Mass (use the Project Browser if you can’t pick any actual Mass geometry), and edit-in-place.
  2. Hold your mouse over one of the points and ‘Tab’ until you can select the actual adaptive point (see image below).
  3. Once selected, you can pull this point around.
  4. Adjust the points to suit, and then Finish Mass.
  5. Pick the Wall that you applied to the face (surface), and then ‘Update-to-Face’.


If you wish to add further details or even ‘trim’ the Wall, just create another in-place family of Category walls and go for your life (you can use Cut Extrusions etc to trim the face-applied wall to a form that suits you).

I’m sure that this isn’t the only way of attacking this problem, and I’m sure that it may not be ‘recommended’ in every case. But I hope you enjoyed this tutorial. Here are the Adaptive Component family and the Project for you to download and look at:

Project File – Bending the Rules with Adaptive Points

Family – Adaptive Component

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.