基于 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。
|
|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 苏公网安备32011402011833)
GMT+8, 2025-1-8 19:07
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.