AutoCAD 上的 Visual LISP 和 VBA

AutoCAD 上的 Visual LISP 和 VBA

基于 64 位 AutoCAD 2015 的产品及更高版本中的 Visual LISP 与 32 位 Visual LISP 完全兼容。现有的 Visual LISP 代码无需更改即可在 64 位 AutoCAD 中运行。

64 位 AutoCAD 中 VBA 的行为不能保证与 32 位 AutoCAD 中 VBA 的行为相同。当 VBA IDE 处于活动状态或显示模型窗口时,AutoCAD 窗口的重绘可能会有轻微的延迟。

在基于 AutoCAD 2015 的产品之前,对象 ID 由 64 位值表示。在 32 位 VBA 中访问这些值将导致编译错误。作为替代方法,VBA 应用程序可以使用对象的句柄而不是其对象 ID。以下示例演示您将使用对象的句柄而不是对象 ID:

‘ Original code

Set objId = someObject.ObjectID

Set tempObj = ThisDrawing.ObjectIdToObject(objId)

‘ Code ported for 64-bit compatibility

Set objHandle = someObject.Handle

Set tempObj = ThisDrawing.HandleToObject(objHandle)

您应该不再需要担心使用句柄而不是对象 ID,但如果需要使用相同的代码库,使用句柄将允许您支持早期版本。

危险:VBA 将在 AutoCAD 的未来版本中删除。VBA 开发人员应该准备将他们的 VB 代码移植到 VB.NET。

本教程中的主题

相关推荐

多達210部扭蛋機登陸旺角T.O.P!香港BANDAI官方扭蛋專門店
beat365平台正版

多達210部扭蛋機登陸旺角T.O.P!香港BANDAI官方扭蛋專門店

📅 07-27 👁️ 2705
赤峰市宁城县藏龙谷景区
365bet娱乐网

赤峰市宁城县藏龙谷景区

📅 08-03 👁️ 9770
联想笔记本电源适配器保修多久?
beat365平台正版

联想笔记本电源适配器保修多久?

📅 07-04 👁️ 5981