Add-in program update from 2009 API to 2012 API

Add-in program update from 2009 API to 2012 API

Anonymous
Not applicable
1,017 Views
3 Replies
Message 1 of 4

Add-in program update from 2009 API to 2012 API

Anonymous
Not applicable

Hello,

 

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

etc...

 

But there are some functions I cannot find its new library, please tell me how to update them, thank you.
The unchanged part is:

 

            Autodesk.Revit.Filter filter;
            Autodesk.Revit.Creation.Application create;
            create = cmdData.Application.Create;         
            filter = create.Filter.NewTypeFilter(typeof(Grid));

 

Thanks a lot,

Kevin

0 Likes
1,018 Views
3 Replies
Replies (3)
Message 2 of 4

Anonymous
Not applicable

have a look of the following in the 2013 API chm documentation: 

Autodesk.Revit.Creation namespace - Document class 

Autodesk.Revit.DB namespace - FilteredElementCollector class 

 

0 Likes
Message 3 of 4

Anonymous
Not applicable

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

0 Likes
Message 4 of 4

augusto.goncalves
Alumni
Alumni

Hi,

 

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/collector-benchmark.html

 

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.

 

Regards,



Augusto Goncalves
Twitter @augustomaia
Autodesk Developer Network
0 Likes