Revit插件兼容2022版本升级策略(1) —背景

本文探讨了在Revit插件开发中如何处理API版本兼容性问题,尤其是针对2022版本引入的重大改动。传统的适配方法包括创建静态适配类和使用条件编译,但2022版的更新影响了基础类型,增加了兼容难度和代码修改量。作者强调了此次升级的谨慎性和必要性,并预告将分享如何实现版本升级的详细策略。

一、背景

       我们考虑兼容,其实是在做这样一件事:以应用级别源代码能够复用为目标,适应多个版本Revit提供的API的变化。

        我们要适应多个Revit的API谈不上向前兼容向后兼容的概念。我们只是在以复用为前提,去做多个版本库Dll的适配。

       在以往Revit插件适应新的Revit宿主版本的时候,我们的工作就是找到那些语义和功能一致,但是签名发生变化的那些函数,然后去适配这些函数,重新定义一个满足现有输入输出要求的新函数。常用做法就是做一个专门提供适配的项目,在这个项目中去兼容各个版本的差异,通过条件编译来控制具体的执行逻辑。更具体的实现就是定义一个静态类,把冲突方法规整成新的静态方法,然后在插件开发中,统一使用这个适配项目提供的封装过的方法。我们可以把这个模块理解成适配器,或者外观模式,或者代理,它仅仅是实现了隐式的调用子系统方案。

        例如如下实现:

public static class RevitAdapterAPI
{
        /// <summary>
        /// 获取填充区域类型的颜色,19中分为了前景颜色和背景颜色
        /// </summary>
        /// <param name="frType"></param>
        /// <returns></returns>
        public static void SetFilledRegionTypeColor(FilledRegionType frType, Color clr)
        {
#if R16 || R18
            frType.Color = clr;
#else
            
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值