I am updating an external function (add-in) using in Revit 2009 to 2012. After I have copied the new RevitAPI.dll and RevitAPIUI.dll into my solution, I find that many functions belong to different library with comparing in 2009 API.
I spend some time to resolve the library of the function, for example (If I am wrong please tell me, thank you
Autodesk.Revit.IExternalCommand => Autodesk.Revit.UI.IExternalCommand
Autodesk.Revit.IExternalCommand.Result => Autodesk.Revit.UI.Result
Autodesk.Revit.ElementSet => Autodesk.Revit.DB.ElementSet
Autodesk.Revit.Document => Autodesk.Revit.DB.Document
Autodesk.Revit.Elements.ExternalCommandData => Autodesk.Revit.DB.ExternalCommandData
But there are some functions I cannot find its new library, please tell me how to update them, thank you.
The unchanged part is:
create = cmdData.Application.Create;
filter = create.Filter.NewTypeFilter(typeof(Grid));
Thanks a lot,
have a look of the following in the 2013 API chm documentation:
Autodesk.Revit.Creation namespace - Document class
Autodesk.Revit.DB namespace - FilteredElementCollector class
Thanks for the reply.
I have read some documents said that there is a large change when in the revit API 2011, where the Document.Elements collection, the Document.get_Elements( type ) and the filter mechanism have all been removed.
Should I use the FilteredElementCollection class and its element to re-write the add-in?
Thank you very much
FilteredElementCollectior is the way to get elements on a Revit project. You can find a good overview here: http://thebuildingcoder.typepad.com/blog/2010/04/c
Hope this help. Migrating from 2009 will take some time, specially due the changes from 2010 to 2011, but it can be a good change to improve your application with the new APIs.
Log into access your profile, ask and answer questions, share ideas and more. Haven't signed up yet? Register
Start with some of our most frequented solutions to get help installing your software.