ssget|条件と範囲を指定して図形を選ぶ
要点
ssgetで選択セットを取得します。対話選択、図形種別・画層のフィルター、範囲選択を使い分け、処理する対象を絞ります。
始める前に
先に確認すると読み進めやすい記事:
確認の手順
- 線と円を含む練習図面を用意します。
- 対話選択でssgetを実行し、選択セットが返るか確認します。
- 図形種別や画層のフィルターを追加し、選択数を確認します。
- 範囲選択と全図面選択の違いを確認してから、一括処理へ進みます。
ssgetとは?
ssgetは、AutoLISPで図形を選択するための関数です。選択セット(Selection Set)を作成し、後続処理に渡すことができます。
(ssget [mode] [pt1 [pt2]] [pt-list] [filter])mode:選択方法(例:”W”=ウィンドウ選択、”C”=交差選択)pt1,pt2:選択範囲の座標pt-list:複数点による選択filter:図形の種類や画層などの条件フィルター
基本の使い方
① すべての図形を選択する
(ssget "X")これは、現在の図面上に存在するすべての図形を選択します。
② 特定の画層の線分だけを選択
(setq filter (list (cons 0 "LINE") (cons 8 "寸法")))
(ssget "X" filter)(cons 0 "LINE"):線分のみ(cons 8 "寸法"):画層「寸法」のみ
③ ウィンドウ選択で範囲指定
(setq pt1 (getpoint "1点目:"))
(setq pt2 (getpoint pt1 "2点目:"))
(ssget "W" pt1 pt2)指定した2点で囲まれた矩形内の図形を選択します。
応用編:選択モードのバリエーション
| モード | 意味 |
|---|---|
"C" | 交差選択(範囲にかかっていれば選択) |
"CP" | ポリゴン交差選択 |
"W" | ウィンドウ選択(完全に含まれる図形のみ) |
"WP" | ポリゴンウィンドウ選択 |
"F" | フェンス選択 |
"L" | 最後に追加された図形 |
"P" | 直前の選択セット |
"I" | PICKFIRSTによる選択 |
例:
(ssget "_+.:E:S") ; 点クリック選択モードフィルターの活用
フィルターリストを使えば、図形の種類や画層、色などで選別できます。
(setq filter (list (cons 0 "CIRCLE") (cons 62 1))) ; 赤い円のみ
(ssget "X" filter)実践サンプル:寸法線を一括削除
(setq filter (list (cons 0 "DIMENSION")))
(setq ss (ssget "X" filter))
(if ss
(command "ERASE" ss "")
)まとめ
ssgetは図形選択の中心的関数- 選択方法とフィルターを組み合わせることで柔軟な操作が可能
- 実務では「画層別選択」「範囲選択」「属性フィルター」などが頻出
AutoLISPの自動化は、選択の精度が命。
結果の確認
選択セットの件数と、意図した図形の数が一致するか確認します。削除の例は図面のコピーで試し、先に選択結果だけを確認してください。
参照資料
対象環境・動作確認
AutoLISP対応環境(関数・OSごとの対応は要確認)。内容更新:2026年10月5日。掲載コードのCAD実機検証は未実施です。図形を変更する例は、コピーした図面で結果を確認してください。