zcsoft 发表于 2024-10-21 16:49:38

反应器回调函数研学

请问大佬:回凋函数里使用 vlax-ename->vla-objiect此函数时遇到问题,提示“Automation 错误。”,那么如何在回调函数里把lisp对象转为VLA对象?

xtjd 发表于 2024-10-22 08:08:58

本帖最后由 xtjd 于 2024-10-22 08:10 编辑

vlax-ename->vla-object函数没问题,是要转换的图元有错误

dcl1214 发表于 2024-10-22 09:54:04

xtjd 发表于 2024-10-22 08:08
vlax-ename->vla-object函数没问题,是要转换的图元有错误

玩反应器,一定要用vl-catch-all-apply,否则,反应器工作一半,退出了,相当于反应器没工作完整,使用vl-catch-all-apply可以让程序完整走完

zcsoft 发表于 2024-10-23 11:34:52

xtjd 发表于 2024-10-22 08:08
vlax-ename->vla-object函数没问题,是要转换的图元有错误

经过研学发现:确实是大侠所言,函数本身没问题,问题出在后面的图元。我是用在一个图元拷贝时产生反应,但对拷贝出来的副本用此函数操作时遇到问题。对其它图元操作又没问题。难道对像反应器里拷贝时禁止反应器回调函数对副本进行任何操作?

zcsoft 发表于 2024-10-23 12:21:32

并且用entget函数对其副本也无法提出属性(返回nil),但可用entnext函数提取其后的图元并可操作之。

xtjd 发表于 2024-10-23 12:55:53

zcsoft 发表于 2024-10-23 11:34
经过研学发现:确实是大侠所言,函数本身没问题,问题出在后面的图元。我是用在一个图元拷贝时产生反应, ...

复制应该是涉及到修改自身产生错误,可以读取图元信息,再新建

zcsoft 发表于 2024-10-23 22:53:22

xtjd 发表于 2024-10-23 12:55
复制应该是涉及到修改自身产生错误,可以读取图元信息,再新建

这是反应器,应遵从通常的copy做法,再来产生反应!!
页: [1]
查看完整版本: 反应器回调函数研学