【问题标题】:Apply automatic (script) operation without user interaction无需用户交互即可应用自动(脚本)操作
【发布时间】:2015-02-01 19:54:43
【问题描述】:

我有一个可能相当简单的(自动)LISP 问题要解决。我有一个基本上可以正常工作的脚本,但它需要我手动选择对象(在我的情况下为文本)并按 Enter。

我想从 all 图层中选择 all 文本对象,并在所有图层上应用相同的 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 的新手,我错过了什么,它在过滤的项目上不能按预期工作?

【问题讨论】:

    标签: lisp autocad autolisp


    【解决方案1】:

    您需要将过滤器添加到您的选择集中。简单地在不同的实体类型之间添加一个逗号只会给你一个格式错误的实体。

    在这里查看一些信息以帮助您入门:http://www.afralisp.net/autolisp/tutorials/selection-set-filters.php

    【讨论】:

      猜你喜欢
      • 2012-04-02
      • 1970-01-01
      • 1970-01-01
      • 2011-09-29
      • 2017-11-04
      • 2016-10-17
      • 1970-01-01
      • 1970-01-01
      • 2021-09-17
      相关资源
      最近更新 更多