While much of our day-to-day business is in the manufacturing world, we've been watching with interest the ongoing development of Autodesk Revit - which really brings the architecture and construction market into the modern age of CAD systems (after spending the 90s entirely in the manufacturing side, with pervasive 3D solid modeling, parametrics, associativity - it's been hard to look at where the AEC side of the world was).
In any case, Revit introduced a real .NET API in 8.0, and built on it in 8.1 - last summer. Autodesk is preparing to release Revit 9.0, which takes the API to a new level.
In Revit 8.1, the API was pretty minimalist - while you could query everything and update some things, you could create very little...
What you can do with the Revit 8.1 API:
- Search Elements, Parameters and Data (and EVERYTHING in Revit is a Parameter)
- Modify/Create parameters
- Extract Geometry
- Load/Place/Move/Rotate Family Instances
- Create/Update Structural Elements
- Access Room Data
What you can do with the Revit 9.0 API:
- Walls, Floors, Grids, Levels, 3D Views, Sheets, Drafting Views, Sections and Dimensions
(there's other odds and ends - and while it doesn't seem like much, this may be all we need to get some interesting automation projects going with it).
And what's more, Revit 9 API requires Visual Studio 2005 (Wahoo that's fun! but only because I've already purchased it - I'd be a bit mad if I hadn't yet).