・ ssget のフィルターリストあれこれ

ssget の フィルタリスト については、ヘルプに、かなり詳しい解説が出ています
ここでは、ちょっとわかりにくいところを、ちょっとだけ掘り下げてみました

ユーザーに平行寸法を選択させる<ビット方式のマスクの使用> [2004/6/27一部修正・・・ thanks hmhさん]

平行寸法のグループコード70の値は 1,33,129,161 の4パターンが存在しますので、"<OR","OR>"を使って下記のように表現できます [2004/8/25一部修正・・・ 161を追加]

(setq ss (ssget '(
                 (-4 . "<AND")
                   (0 . "DIMENSION")
                   (-4 . "<OR")
                     (70 . 1)
                     (70 . 33)
                     (70 . 129)
                     (70 . 161)
                   (-4 . "OR>")
                 (-4 . "AND>")
               )
          )
  )

これを、ビット方式のマスクを使うと、可能性のあるグループコードの値を列記しなくても良くなります   
しかし記述が長くなる・・・(~_~;) 

(setq ss (ssget '(
			(-4 . "<AND")
			  (0 . "DIMENSION")
			    (-4 . "&=")
				(70 . 1)
			    (-4 . "<NOT")
				(-4 . "<OR")
				  (-4 . "&=")
				    (70 . 2)
				  (-4 . "&=")
				    (70 . 4)
				(-4 . "OR>")
			    (-4 . "NOT>")
			(-4 . "AND>")
			)
		)
)

ユーザーに平行寸法と回転寸法を選択させる<ビット方式のマスクの使用>

ビット方式のマスクで 値が 0 と1のものを選択したい場合の例です
"<NOT", "<OR","&=","OR>","NOT>"を使います

(setq ss (ssget '(
                  (-4 . "<AND")
                   (0 . "DIMENSION")
                   (-4 . "<NOT")
                    (-4 . "<OR")
                     (-4 . "&=")
                      (70 . 2)
                     (-4 . "&=")
                      (70 . 4)
                    (-4 . "OR>")
                   (-4 . "NOT>")
                  (-4 . "AND>")
                 )
             )
)

図面内の TEXT と MTEXT を すべて選択する<ワイルドカードの使用>

例1 "*":空を含む任意の文字の利用
(setq ss (ssget "X" '((0 . "*TEXT"))))

例2 ",":2つのパターンの区切りの利用
(setq ss (ssget "X" '((0 . "TEXT,MTEXT"))))

点 pt1 を通るオブジェクトの選択<窓選択>

(setq pt1 '(10 10 0))
(setq ss (ssget "C" pt1 pt1))

(setq ss (ssget pt1))
では、pt1を通るオブジェクトが複数存在しても、ひとつのオブジェクトしか選択されません