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) 您不再需要担心使用句柄而不是 objectID,但使用句柄将允许您在需要时使用相同的代码库支持早期版本。 危险:VBA将在AutoCAD的未来版本中删除。VBA 开发人员应准备将其 VB 代码移植到 VB.NET。
父主题: |
|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 苏公网安备32011402011833)
GMT+8, 2024-12-15 12:54
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.