Ahankhah 发表于 2022-7-6 08:20:05

反应堆问题

嗨,CAD爱好者们,
是否可以区分绘制的对象(由以下命令创建:直线、圆、圆弧等)和构造对象(由以下命令创建:偏移、圆角(带半径)、倒角(带距离)、复制、镜像(保留源对象),…)?
 
非常感谢您的帮助。

Lee Mac 发表于 2022-7-6 08:43:15

首先想到的是:
 
将命令反应器用于多个事件:
 
CommandWillStart事件:回调函数记录“entlast”实体
CommandEnded事件:回调函数使用“entnext”收集在记录的“entlast”实体之后创建的所有实体的列表。命令名是提供给回调函数第二个参数的列表中的第一项,这允许您确定实体是如何创建的。
CommandCancelled/CommandFailed事件:将记录的“entlast”实体置零。

Ahankhah 发表于 2022-7-6 08:48:29

李,非常感谢你(一如既往)用通俗易懂的英语解释。
但也有一些模糊之处:
1-如果有人在不调用任何命令(通过VLisp或ARX代码)的情况下创建新对象,会发生什么?
2-可以在命令结束之前修改新对象吗。例如,当“偏移”命令处于活动状态时,如何更改新对象的常规特性(图层/颜色/线型/线宽等)?
3- ...
 
再次感谢你的好意。

Lee Mac 发表于 2022-7-6 09:01:13

 
使用LISP reactor监视LISP事件-与命令reactor的逻辑相同。
 
 
由于在命令式回调函数中有已创建实体的列表,因此可以使用常用的实体修改方法(entmod)修改这些实体。

Ahankhah 发表于 2022-7-6 09:11:15

非常感谢李。

Lee Mac 发表于 2022-7-6 09:31:08

欢迎你,Mehrdad-祝你好运!
页: [1]
查看完整版本: 反应堆问题