Friday, March 26, 2010

[Revit 2011] – Matt Masons What’s New Series

Every new Revit release, Matt Mason runs a series of blogs talking about the new features. They always provide a great overview and are well worth a read.

Make sure you check it out HERE.

[Revit 2011] – No more revit.ini for registering add-ins!

Can I get a hallelujah? It’s been a long time coming, but now it’s finally here! Anyone who has developed with the Revit API before will know you had to edit the clumsy Revit.ini file to add your tool. When doing so you had to be careful to set the right numbers and counts, and not overwrite any other developers tools. Well now you can forget all that!

In Revit 2011 there is a new XML based interface for registering your tools. The new .addin mechanism allows you to register your External Commands and External Applications using 1 or more xml files stored in the standard windows directories (AppData or ProgramData).

Here’s an example file in the new format to register two external commands:

<?xml version="1.0" encoding="utf-16" standalone="no"?>


<AddIn Type="Command">






<AddIn Type="Command">







This can be edited in notepad, and saved as WhateverILike.addin and stored in AppData or ProgramData (depending on whether you want it to be specific to the user or across anyone on the machine).

As you can see there, I’ve got two commands, registered easily in one .addin file. If I wanted to add another command later, I could either edit that file, or add a new .addin file! Most of the fields correspond to the old ini registration fields, except for ClientId, this is a GUID that is used to uniquely identify your add-in. You can get a GUID for your tool from here:

There are also a number of other properties and functionalities built in, such as setting the accessibility, icons, tool tip images etc, but have a look through the SDK documentation for information on those.

If this wasn’t easy enough, Autodesk have provided a dll file which can assist you with manipulating these files!

Thursday, March 25, 2010

[Revit 2011] – Massive Changes for the Revit API

My Handy USA Pacific Timezone clock in my Windows 7 Taskbar tells me that it’s ticked over to March 25 in the USA, which means the NDA has been lifted for Revit 2011 products.

Here are some of my highlights from the new API:

  • New FilteredElementCollector for better filtering of elements
  • New add-in registration me.chanism, no more Revit.ini fiddling!
  • Tighter integration with the Revit UI
  • You can now ask users to pick an object or a point.
  • Dynamic Model Update – changes to elements can raise an event, so you can run an add-in on a change to a certain element!
  • Performance updates across the board

There are so many more changes too, but those are my favourites so far.

For those that have already made tools for Revit 2010, the API namespaces have changed drastically, there is a lot more work than usual to be done to convert your tools over.

I plan on releasing some blog posts on the new features, as I’m sure some of the other Revit API bloggers are as well. I am very excited for the Revit 2011 release both in the API and the general program.

Wednesday, March 24, 2010

[General] – Blog Name + URL Change

I’ve now renamed the blog to simply ‘Rod Howarth’ as opposed to ‘Rod.NET’, which I decided was a little confusing (afterall, the URL is not Rod.Net)

I’ve also pointed my blogger account to go through – the old address and all links should still work (which is a great feature!) but now they will redirect to the updated URL.

Let me know if there is any issues as a result of this.

[Revit API] New Revit API Search Domain Name

GoDaddy were selling $2 domain names a couple of weeks ago, so I decided to register a domain for the Revit API Search Engine.

The URL is now

The old address will still work, but this should stop you from having to think of me every time you go to it :)

I’ve still been struggling to get the AUGI and Autodesk forums to be indexed by it (only the API sections), I think I may have made progress on the Autodesk forums, but the search engine is just not displaying anything from AUGI. Any Google Custom Search experts who know how to fix this, contact me!

Tuesday, March 23, 2010

[Revit API] Resource Guide – Free Download

At Autodesk University 2009 (call for proposals now open for 2010) I did a presentation on ‘How the Autodesk Revit API has saved our company time and money – and how it can do the same for yours’.

This presentation consisted two parts. First, I demonstrated a number of tools, we have made, and how they have helped our drafters, then secondly I presented all of the different resources I used to learn the API and how I utilized them.

To accompany the second part, I created a handout with links and information on all of the Revit API resources I knew of, and the order in which I would use them when creating a Revit program.

Jeremy Tammik suggested that I should upload this handout for others to make use of, which is a great suggestion. I must apologise to him as it had slipped my mind until recently. I’ve now edited it a little, and uploaded it to my web hosting, for anyone to download and pass onto others.

I realise that this is coming out a bit late in the Revit 2010 lifecycle, but I plan on updating it with any new information that comes out of Revit 2011, and will make a blog post about that when I do.

Here it is: Revit API Resource Guide by Rod Howarth

Let me know if there is any errors, or questions you have that relate to it.

Friday, March 19, 2010

[Revit] RemoteFX for Revit Remote Desktop farms?

Microsoft have announced Service Pack 1 for Server 2008 and Windows 7. Mostly just security updates, no new features, except this:

Microsoft RemoteFX – Supposedly allows great 3d graphics performance over Remote Desktop. This sounds like it could be perfect for running Revit ‘in the cloud’, or for remote access workers.

Monday, March 8, 2010

[Revit API] – How to edit add-ins while debugging without restarting Revit.

Jeremy Tammik posted this great timesaver on his blog that John Morse has developed. It cleverly uses a bridge DLL file to facilitate the reloading of your external tool DLL. Give it a go!