選択したオブジェクトの数を集計するLISP
CR_COUNTで選択した図形の数を表示します。ブロックの内部要素ではなく、選択セットの図形を数えます。
こんな人向け
図形数を手作業で数えている方。選択セットの仕組みを学びたい方。
基本を理解する
使用前:図形を指で追って数えています。使用後:必要な範囲を選択し、結果の数字を確認します。ブロック1個は通常1つとして数え、内部の線や属性を個別に数えるツールではありません。図形の種類ごとの内訳も出しません。選んだ範囲が正しいかを人が確認する用途です。
操作手順
- 練習図面へ線3本とブロック1個を用意します。
- コードを読み込み、CR_COUNTを実行します。
- 4つの図形を選び、Enterで確定します。
- Count: 4と出るか確認し、何も選ばない場合も試します。
実際の例
配置した部品をすべてブロックとして整理していれば、対象を選んで個数を確認する補助になります。線と文字も一緒に選ぶと、それらも数えるので対象を区別してください。
実務で試す:線分とブロックで数え方を比較する
この例が数えるのは選択セットの図形数です。ブロック内部の線の本数とは違います。
- LINEを3本用意し、その3本だけを選んで実行します。
- 複数の線を含むブロック参照を1個選び、表示される数を確認します。
- 何も選ばずに確定した場合の表示も確認します。
結果の確認ポイント
線3本なら3、ブロック参照1個なら1という数え方を想定しています。数量表に使う前に、何を1個と数える業務なのかを決めてください。
学習用の例です。まずコピーした図面で試し、現在の設定を控えてください。CAD実機での検証は未実施です。
コード
; CAD Rescue - selected top-level objects
(defun c:CR_COUNT (/ ss)
(setq ss (ssget))
(if ss
(progn
(princ "\nCount: ")
(princ (sslength ss))
)
(princ "\nNothing selected.")
)
(princ)
).lspファイルをダウンロード 無料・実機未検証
この1行は何をしている?
- 1行目:処理の目的を記したコメントです。
- 2行目:CR_COUNTを定義し、ssを処理内だけの変数にします。
- 3行目:ssgetで対話的に図形を選択してもらい、その結果をssに記憶します。
- 4行目:選択結果があるかをifで確認します。
- 5行目:prognで複数の表示処理をひとまとまりにします。
- 6行目:改行してCount:と表示します。
- 7行目:sslengthで選択セットの個数を取得し、princでその数を表示します。
- 8行目:prognを閉じます。
- 9行目:選択がない場合はNothing selected.と表示します。
- 10行目:ifを閉じます。
- 11行目:終了時の余分な表示を抑えます。
- 12行目:コマンドの定義を閉じます。
インストール・実行方法
- .lspファイルをダウンロードし、テキストエディタで内容を確認します。
- 練習用のDWGを開き、APPLOADからファイルを読み込みます。許可された信頼できるフォルダを使い、セキュリティ設定を無効にしないでください。
- コマンド欄に CR_COUNT と入力し、画面の指示に従います。
- 既知の図形数と結果を照合します。ブロック内部の線の本数と取り違えないでください。
カスタマイズ方法
Count:やNothing selected.の表示文を変えられます。日本語化する場合は保存時の文字コードと利用環境を確認します。図形種類を絞る改変にはssgetのフィルタを学びます。
対応CAD・動作確認バージョン
| CAD | 仕様上の対応条件 | このコードの実機確認 |
|---|---|---|
| AutoCAD | AutoLISP対応版 | 未実施 |
| AutoCAD LT | Windows版2024以降(機能制限あり) | 未実施 |
| BricsCAD | 製品・版・関数ごとに要確認 | 未実施 |
| DraftSight | 製品・版・関数ごとに要確認 | 未実施 |
| IJCAD | 製品・版・関数ごとに要確認 | 未実施 |
LISP言語に対応していても、同じコードの動作を保証するものではありません。Mac版LTは上記Windows版の条件に含みません。
よくある失敗
実機未検証のコードです。積算や発注の確定数量として無検査で利用しないでください。Escで中断するとキャンセルのメッセージが出る場合があります。無償で利用・改変できます。
それでも解決しない場合
0件ではなく未選択として扱われる場合があります。範囲に何が含まれるかを拡大して確認し、練習図面で再現してください。
公式資料・確認範囲
資料確認:2026年10月4日。操作は主に AutoCAD / AutoCAD LTのデスクトップ版(Windows) を想定。資料の対象年はリンクに記載しています。画面や選択肢はバージョンで異なる場合があります。 掲載コードのCAD実機テストは未実施です。