Wednesday, March 28, 2012

Revit 2013 - API Favourites

By now there would have been the press release from Autodesk regarding their 2013 software portfolios including Revit.  No doubt you are going to be reading a lot of blogs discussing the new features some good and some bad.  Personally as a Revit Architecture user I find nothing too much for me in Revit Architecture 2013 (as a designer), and certainly a lot of unfinished work still to be completed.
But in this post I want to talk about the Revit 2013 API new features which I think are absolutely fantastic and I bet you are going to see some pretty cool new applications come out directly because of these enhancements.  Some of my favourite features are:
1.       Modeless Dialogs (like Family Browser) are now fully supported with a new External Events Framework which we can now hook nicely into Revit Idling event.  This is absolutely awesome for an application like Family Browser.
2.       Drag & Drop support.  Finally supported natively within Revit.
3.       Replace implementation of Revit Commands – We can now intercept the command click and run our own command in place of the native Revit command.  Now I can hear you saying… “NOooooo…”  and I can understand that.  Now why would we want to do that?  Well say in a case of a large company that wants to keep tight control of their office family library.  When a user clicks on “Load Family” from the Revit UI it could open up family Browser for instance.  There are other situations I can see this being beneficial as well like opening and saving projects?  Since Autodesk have gone this far, I hope that the next step they take is allowing us to Run Revit commands natively from within Modeless Dialogs.  Hopefully Revit 2014?
4.       And now the HUGE one for me.  New View API.  We can now through code do pretty much what you can do in the UI with regards to creating and editing views.  This includes, Display Style, View Detail Level, View Range, all three duplicate methods, and also wait for it, Schedules.  Yes we can now create schedules, add fields and filters and sorting all through code.  Huge thumbs up for this to the API team.  There are a couple of missing pieces still to be filled in for instance, we can open and switch views but we cannot close open views, and we cannot make a dependant view independent like what you can through the UI.

There are many other enhancements to the Revit API like full support for stairs and railings etc, but these listed above are my favourites and have directly affected me on upgrading Family Browser to the 2013 version and also our brand new product that will be announced here in the next day or two.