Tuesday, January 08, 2008

API Tools - Part One - Avatech

I'm slow to write about this, been meaning too for over a month. Avatech has made several worthy tools available to Revit users for FREE. Naturally it is a obvious ploy to get people interested in talking with them about other possible applications but I don't blame them! The API is the developing frontier for Revit (pun intended).

The lack of an API (Application Programming Interface) was described as a significant weakness by detractors during Revit's early development. Not providing it was a strategic decision by RTC (Revit Technology Corporation). They wanted to delay API development because it would be a distraction from creating core functionality. With RTC it was also a core value to provide tools to users rather than requiring users to also be programmers to create their own tools. With the acquisition by Autodesk the harder line held by RTC has softened.

Some complain that Revit's development pace has slowed down considerably, and it is a fair statement. Some of this is due to the overall scope of Revit now but the ongoing development of the API to match each new feature and to support existing features also contributes. Development can move much faster when you don't also have to provide a way for external applications to "speak" to your code.

Alright, enough reminiscing. What tools has Avatech provided? If you haven't been living under a rock you probably have already read about them on another blog or in an Avatech email or ... somewhere...

Download them from HERE You must provide some basic contact information first but will be able to download them after submitting the form.

I have clipped the text from their site to describe the routines in their own words.

Room Renumber
This utility allows a Revit Architecture user to easily renumber existing rooms into an order defined by selection. In addition, rooms can be inserted into an existing series of rooms with the subsequent room numbers “shifted” to make space for the inserted room number.

Change Case
Does your company (or your client) have standards or preferences on whether rooms or views are named with UPPER CASE, Title Case or lower case? If so, this tool will save you lots of time! The tool can scan your model, and automatically fix “case issues” to whatever standard you would like.

Door Mark Update
Should your Door Marks refer to the room that the door swings into? This utility interrogates all doors and rooms to determine what the proper mark should be for each door, allows the Revit Architecture user to inspect and override the suggested marks, and updates the marks.

Revit City.com Content Browser
This utility gives you a web browser inside of Revit, which can connect to the popular RevitCity.com site. Once you find the content that you need, the utility makes it easy to download the content, store it in the proper library, rename it and load it into the current model – all in one step.

Earth Connector for Revit
The original Revit to Google Earth connection has been updated to work with the other Avatech Revit Utilities. Key features of this update include support for Windows Vista, as well as extensive support of Revit Phases working with Google Earth Timespans. Watch your building come together, phase by phase, inside of Google Earth!

I've used each of these, with the exception of the Revit City and Earth connector tools. I just haven't had time or the need to use them yet. They work well, are easy to get used to and install easily if you have the necessary rights to install software on your computer. When I installed them the first time I was working on a computer that wasn't mine and I had to hack my way through getting them installed. This forced me to read the "readme files"...shock horror! In doing so I found that some of the information was not consistent with the actual names of files and such. I imagine they've resolved that by now. I also made an observation that I shared with them but I'll share it here too so anyone can comment if they care to.

I like that the applications zoom to display the selected door or room but they zoom a bit too close and we can't use zoom functions to zoom out or pan while the Avatech dialog is present. I suggest considering making it non-modal (I always get this term backwards, is it correct?) to permit the use of zoom features or make the zoom to element an option instead of automatic? (similar to the Review Warnings dialog and behavior, but do it better!)

I include their plug here as well!

Do you need custom Revit software development? Avatech’s Software Development Solutions group specializes in the development of custom applications for Revit, including automation and system integration.

Contact Them for further information.

A big "Thank you" to Avatech for making them and making them freely available!!


Matt Mason said...


Thanks for your suggestions on the zooming approach. Unfortunately our hands are somewhat tied - Revit doesn't allow us to do non-modal dialogs at present, only modal.

We wondered if the automatic zooming would be an annoyance to people, and we're considering how best to make it optional or more explicit.

Best Regards,

P.S. You're also kind to reprint our "plug" :).

Steve said...

Understand, no worries. Do you have some control over how closely you zoom? If so, can you zoom a little "less" so it is about half as close.


Matt Mason said...


Unfortunately not directly... The zoom is controlled only by which element(s) you're going to zoom to. It's similar to what you can do with the Tools + Element Ids + Select By Id + Show tool in Revit.

As you saw, if you click on a door, we're zooming to Show the door. If you click on a room, you're zooming to show the room. When you reset the view, you're showing the view elements.

Best Regards,