Revit API在过去的两年里经历高速增长,架构也做了一些调整。所以在所难免的对原有的一些函数做了一些改动。有些函数在高版本中修改了名字,有些在高版本中的实现发生变化。比如之前有些函数直接返回对象,在2013 版就只返回这个对象的Id。看似函数或方法不再提供,实际上Revit高版本提供了更好的替代办法。 每一个版本的SDK中的“Revit Platform API Changes and Additions.docx” 文档都说明了函数或方法的变动细节。在RevitAPI.chm文档中也详细的说明了如果用新的方法来替代不再支持的函数或方法。
如下例所示: Element.ObjectType 在2012 中被Element.GetTypeId() 所替换。在Revit2012 的RevitAPI.chm文档有如下信息: [ObsoleteAttribute("Use Element.GetTypeId() and Element.ChangeTypeId() instead.")]
public ElementType ObjectType { get; set; }
对于即将作废的方法或属性,为了兼容性的缘故,没有一下子就去掉。而是继续支持一个版本,在下一个版本中彻底的去掉。 所以这个方法在Revit2013彻底不支持。 在ObsoleteAttribute 属性中交代了如何做改动,可以在RevitAPI.chm 文档中显示。在编译时,ObsoleteAttribute 中的文本会同步显示在有编译错误的后面。提示如果修改代码。
所以当在高版本中编译发生问题时,请多多关注ObsoleteAttribute中的帮助信息,或者到低一个版本的RevitAPI.chm文档中查看发生问题的函数的ObsoleteAttribute 属性文本说明。 原文链接: http://blog.csdn.net/joexiongjin/article/details/7718868作者: 叶雄进 , Autodesk ADN
|