【发布时间】:2020-07-08 04:32:13
【问题描述】:
我正在尝试借助 VBA 宏和此 answer 中提供的 python 函数在 python 脚本中获取 XRecords 的数据 [DXF 组代码 + 值]。
在 python 中,我使用Handle 属性获取XRecord 的句柄,但是,并非所有XRecord 都成功返回其数据,并且在@987654324 行抛出Unknown handle 错误@ 在 VBA 宏中。
我已经找到了解释,其中一个是 this one,但我的情况不同,它首先获取 XRecord 的句柄,然后再提供它,因此,没有做出任何假设关于如何在 AutoCAD 绘图中创建句柄。
那么,XRecord 如何返回它的句柄,然后HandleToObject 方法无法从其Handle 属性的值中找到该XRecord?!
编辑:-
我猜问题出在HandleToObject 本身,我让python 预览调用错误的句柄(比如“3E7”)然后我打开绘图并使用@从普通entget 预览中获取XRecord 的数据在AutoCAD的命令行中输入987654329@,结果成功。
((-1 . <Entity name: 7ff649f06e70>) (0 . "XRECORD") (5 . "3E7") (102 . "{ACAD_REACTORS") (330 . <Entity name: 7ff649f06e20>) (102 . "}") (330 . <Entity name: 7ff649f06e20>) (100 . "AcDbXrecord") (280 . 1) (1 . "Wall1"))
有没有办法解决这个问题?!!
【问题讨论】:
标签: python excel vba autocad comtypes