Acet-gc-match

提供:GizmoLabs - だいたい CAD LISP なサイト
構文
(acet-gc-match dxf-code value elist )


機能
単一のDXFグループコードと値のペアが、エンティティリスト内に存在するかをテストするっぽい。
(acet-and-match elist (list (cons dxf-code value))) と等価。


引数
  • dxf-code : 整数で表されるDXFグループコード。
  • value : dxf-code に対応する値。
  • elist : テスト対象のエンティティデータリスト。


戻り値
一致するペアが見つかったら T, 見つからなかったら nil


サンプル
; 全てのブロック参照("INSERT")の中から、ブロック名が "MyBlock" のものを選択する。
(defun c:SelectMyBlocks ()
  (setq ss (ssget "X" '((0 . "INSERT")))) ; まず全てのブロック参照を選択
  (setq i 0 result-ss (ssadd))
  (repeat (sslength ss)
    (setq ename (ssname ss i))
    (setq elist (entget ename))
    ; ブロック名(グループコード 2)が "MyBlock" かチェック
    (if (acet-gc-match 2 "MyBlock" elist)
        (ssadd ename result-ss)
    )
    (setq i (1+ i))
  )
  (if (> (sslength result-ss) 0)
      (sssetfirst nil result-ss)
  )
  (princ)
)

関連事項