• Industries
  • Products
  • Buy
  • Services & Support
  • Communities
  • Discussion Groups

    Autodesk Revit API

    Reply
    Active Member
    Posts: 7
    Registered: ‎09-28-2012

    Add-in program update from 2009 API to 2012 API

    147 Views, 3 Replies
    09-28-2012 03:19 AM

    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

    Please use plain text.
    Contributor
    Posts: 15
    Registered: ‎07-05-2009

    Re: Add-in program update from 2009 API to 2012 API

    09-28-2012 09:28 AM in reply to: Kevin133

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

    Autodesk.Revit.Creation namespace - Document class 

    Autodesk.Revit.DB namespace - FilteredElementCollector class 

     

    Please use plain text.
    Active Member
    Posts: 7
    Registered: ‎09-28-2012

    Re: Add-in program update from 2009 API to 2012 API

    10-03-2012 03:09 AM in reply to: zhangle

    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

    Please use plain text.
    ADN Support Specialist
    Posts: 166
    Registered: ‎04-30-2009

    Re: Add-in program update from 2009 API to 2012 API

    10-04-2012 10:44 AM in reply to: Kevin133

    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
    Autodesk Developer Network
    Please use plain text.