我可能很简单地解决(自动)LISP问题。我有一个基本上工作正常的脚本,但它需要我手动选择对象(在我的情况下是文本)并按Enter键。
我想从所有层中选择所有文本对象,并对所有层应用相同的TCIRCLE操作。此命令稍后应该使用脚本来自动导入,这就是必须没有手动交互的原因。
这是需要手动选择的工作基本脚本:
(defun c:MyTcircle ( / ss)
(if (not bns_tcircle) (load "acettxt.lsp"))
(if (setq ss (ssget '((0 . "TEXT,MTEXT,ATTDEF"))))
(bns_tcircle ss "Variable" "Rectangles" "" 0.35)
)
(princ)
)
我尝试使用setq sset为上述相同类型的过滤器创建过滤器集合。但它没有做任何事情(没有错误,也没有变化)。所以我的集合是空的,或者命令没有正确调用。
我是AutoLisp的新用户,我错过了它在过滤后的项目上无法正常工作?
答案 0 :(得分:0)
您需要在选择集中添加过滤器。只需在不同的实体类型之间添加逗号,就会给出一个格式错误的实体。
请点击此处查看一些信息,以帮助您入门:http://www.afralisp.net/autolisp/tutorials/selection-set-filters.php