无需用户交互即可应用自动(脚本)操作

时间:2014-12-04 02:58:16

标签: lisp autocad autolisp

我可能很简单地解决(自动)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的新用户,我错过了它在过滤后的项目上无法正常工作?

1 个答案:

答案 0 :(得分:0)

您需要在选择集中添加过滤器。只需在不同的实体类型之间添加逗号,就会给出一个格式错误的实体。

请点击此处查看一些信息,以帮助您入门:http://www.afralisp.net/autolisp/tutorials/selection-set-filters.php