M76 发表于 2022-7-6 11:33:18

命令统计信息

你好
 
我正在寻找一个程序,它记录用户运行的每个命令,带有时间戳,以及受该命令影响的对象的数量。
 
每个命令都是日志中的一行。
 
(可选)如果将lisp例程作为一个命令来计算,那就更好了。但这不是必要的,只有在它容易实现的情况下。

MSasu 发表于 2022-7-6 11:51:08

请检查此踏板:
 
http://www.cadtutor.net/forum/showthread.php?t=27191
 
当做

M76 发表于 2022-7-6 12:01:22

我做了,但它没有解释如何找到更改对象的数量。

M76 发表于 2022-7-6 12:07:13

让我重新表述一下这个问题,在运行命令后如何计算更改对象的数量。

MSasu 发表于 2022-7-6 12:15:53

建议的tread中的代码使用reactor来“侦察”当前绘图中的操作——在reactor方面比我更有经验的人可以判断是否可以修改此例程,以计算在所调查的会话中受影响的实体以及使用的命令。我担心code poster不再是论坛成员,因此无法直接向他寻求帮助(请参阅http://www.cadtutor.net/forum/showthread.php?t=43876).
我的建议是请一位版主加入这篇文章和第#2篇文章中引用的文章,以提高您的问题的可见性。
 
当做

M76 发表于 2022-7-6 12:29:09

嗯,我已经检查了所有的可能性,但我被卡住了。
我试过使用
 
vlr acdb反应器,应该是我需要的:
 
构造一个reactor对象,该对象在图形数据库中添加、修改或删除对象时发出通知
 
问题是,如果一条线被修改,我移动一个端点,它会多次调用反应器。如果我移动一行的末尾,每个命令似乎都会对调用数产生不同的影响,如果我移动开头,则10次调用计数为4。如果我移动一个只调用一次的文本对象。如果我编辑文本的值,它会调用它两次。
 
我怎么能这样数数?
 
我也试过vlr object reactor,但它需要一个要观察的对象列表,所以我必须用删除或添加的对象不断更新这个列表,这在大型图形上需要很多时间。

mkweaver 发表于 2022-7-6 12:41:49

 
Psuedo代码:
 
OnCommand已启动-setq active T
修改/添加/删除的对象-将其句柄添加到列表中
 
未命令-
如果激活T?
是,从列表中删除重复的句柄
将活动重置为零
将条目写入日志
如果结束
页: [1]
查看完整版本: 命令统计信息