对 AutoCAD 应用程序编程接口 (API) 的更改会随每个新的版本一起出现,但可能并不需要重新编译或更改现有自定义程序,就可以在最新版本中使用它们。
对于每个新的版本,都应该重新测试所有自定义和第三方应用程序。任何使用命令或系统变量的程序都要进行检查,以确保命令字符串(如命令名称、选项和值)仍然有效。另外,确认没有使用已弃用的命令或系统变量。
对于 AutoCAD 2021 以前的基于 AutoCAD 的产品开发的自定义程序,以下内容概述了可能会影响其使用的其他变更:
- 用户界面自定义 - 将颜色值 192,192,192 用作透明颜色的自定义图像(存储在 BMP 文件中)必须更新为使用透明颜色的 PNG 文件。如果这些图像未更新,已指定颜色值 192,192,192 的像素将显示为该颜色而非透明颜色。
- 脚本和动作宏 – 不需要进行更改,但是请确认未使用已弃用的命令和系统变量。
- AutoLISP – 使用 osnap 函数的程序可能需要更新,并确认未使用已弃用的命令和系统变量。
- ActiveX/VBA – 为图形指定密码的程序必须进行修改,任何使用 SendCommand 方法的程序都应进行检查,查看 SendCommand 方法是否应改为使用随着基于 AutoCAD 2015 产品推出的 postCommand 方法。 为基于 AutoCAD 2014 产品及更早版本开发的程序应进行检查以及并进行正确的 64 位兼容性更新。需要注释掉或删除引用 IAcadFileDependency 和 IAcadFileDependencies 对象的语句。
- .NET – 需要修改或删除将密码添加到图形或使用渲染预设的程序,或引用 FileDependencyInfo 和 FileDependencyManager 对象的语句。为基于 AutoCAD 2018 的产品及更早版本开发的程序需要进行重新编译,以引用所需的 .NET Framework。
- ObjectARX – 需要修改或删除将密码添加到图形或使用渲染预设的程序,或引用 AcFileDependencyInfo 和 AcFileDependencyManager 对象的语句。为基于 AutoCAD 2018 的产品及更早版本开发的程序必须引用最新 SDK 的文件并进行重新编译。
- Javascript – 不应进行任何更改。
注: 从基于 AutoCAD 2014 的产品开始,当 SECURELOAD 系统变量设置为 1 或 2 时,自定义应用程序必须在安全模式下工作。当在安全模式下进行操作时,产品限制为从受信任的位置加载和执行包含代码的文件;受信任的位置由 TRUSTEDPATHS 系统变量指定。有关详细信息,请参见“关于安全性和病毒防护”。