EaBIM一直以来积极响应国家“十二五”推进建筑业信息化的号召,对建筑领域的信息技术开展深入技术交流和探讨!致力于打造“BIM-建筑师-生态技术”三位一体综合资源交流共享平台,希望为BIM与可持续设计理念及技术的普及做出微小的贡献!!!

EaBIM

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
查看: 524|回复: 1
打印 上一主题 下一主题

插件代码升级到高版本时,如何处理一些在高版本中去不再提供的方法

[复制链接]

1514

主题

7465

帖子

1万

积分

admin

Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10

积分
12404

社区QQ达人

跳转到指定楼层
楼主
发表于 2014-1-15 12:26:44 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

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


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 转播转播 分享分享 分享淘帖 支持支持 反对反对

相关帖子

工作时间:工作日的9:00-12:00/13:30-18:00,节假日不在线,请勿留言
*滑块验证:
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|EaBIM网 ( 苏ICP备2020058923号-1  苏公网安备32011502011255号

GMT+8, 2024-11-17 01:29

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表