1

おそらく、(Auto-)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 を初めて使用しますが、フィルタリングされた項目で期待どおりに機能しないというのは、何が欠けているのでしょうか?

4

1 に答える 1

0

選択セットにフィルターを追加する必要があります。異なるエンティティ タイプの間にカンマを追加するだけで、不正なエンティティが作成されます。

開始するための情報については、こちらをご覧ください: http://www.afralisp.net/autolisp/tutorials/selection-set-filters.php

于 2014-12-08T22:39:20.387 に答える