課題
あるテキスト、タグ番号、属性値がどの図面のどこに現れるかを見つけるには、ファイルを1つずつ開いてAutoCAD自身のFindを使うしかなく、プロジェクト全体を一度に検索する方法がありませんでした。
DwgSearch の仕組み
以下は実際のアプリ内のタブに対応しており、表示順もアプリと同じです —— 各スクリーンショットはすべて DwgSearch の実際の動作を加工なしで撮影したものです。
フォルダを一度インデックス化すれば、あとは即座に検索
DwgSearchにフォルダを指定すると、その配下のすべてのDWGを再帰的にスキャンしてローカルインデックスを構築し、以降の訪問時には変更されたファイルだけを再読み込みしてインデックスを最新に保ちます。
- 1Choose Folder…でインデックス化するルートディレクトリを選びます — DwgSearchはその中とサブフォルダ内のすべてのDWGをスキャンします。
- 2最初の訪問では完全なインデックスが構築されます。それ以降の訪問では、更新日時またはサイズが実際に変わったファイルだけが再インデックス化され、何件変更され、何件削除されたかが報告されます。
- 3インデックスサマリー行(ファイル数、エントリ数、最終確認時刻)が常に表示され続けるため、いま検索しているのが最新のインデックスなのか、変更なく再利用されているだけのものなのかが一目でわかります。
- 4キーワードを入力してSearchを押す(またはEnterキー)と、File、Layout、Block、Kind(文字/MText/ブロック属性/表のセル/マルチ引出線/寸法)と一致したContentが一覧表示され、検索語がハイライトされます。大文字・小文字や全角・半角の違いは無視されます。
- 5一致したブロックインスタンスでAttributesをクリックすると、インデックス作成時にすでに取得されているそのブロックの属性タグ/値がすべて開きます — 残りのブロックデータを見るためにAutoCADを開き直す必要はありません。Copy AttributeまたはCopy Allで値をそのままクリップボードにコピーできます。
- 6有効なハンドルを持つ結果でLocateをクリックすると、その正確なエンティティを選択してズームする、貼り付けるだけで使えるAutoCADコマンドがコピーされます — AutoCADに切り替えて貼り付け、Enterを押してください。
- 7Refresh Indexは、DwgSearchの外でファイルが変更された直後などに便利な、現在のフォルダのオンデマンド再スキャンです。
検索結果をスプレッドシートに変換 — BlockSync/TextSync自身の形式で
現在の検索結果セットを、BlockSyncとTextSyncがすでに読み込める形式と同じレイアウトのワークブックにエクスポートします。DwgSearchのエクスポートを、どちらかのツールの書き戻しワークフローにそのまま流し込めます。
- 1検索を実行し、Export to Excelをクリックします — 画面上に結果がある場合のみ有効になります。
- 2ブロックインスタンスの結果(属性値、有効なハンドルを持つブロック参照)はBlockSync自身のシートレイアウトで書き出され、DBText/MTextの結果はTextSyncのレイアウトで書き出されます。
- 3ブロックの静的な定義の内部だけに見つかったテキスト(インスタンスごとのハンドルがないもの)は、どちらのツールの書き戻し形式でも表現できないため、エクスポートから除外され、別途その旨が示されます。
- 4完成したワークブックは要求に応じて開かれ、レビュー、フィルタリング、あるいは実際の編集を行うBlockSyncやTextSyncの担当者への引き渡しの準備が整います。
その他の機能
事前構築済みのローカルインデックスによる即座の検索
検索はDWG自体ではなく、FTS5トライグラムインデックスを備えたローカルのSQLiteデータベースにヒットします — トライグラムのトークン化により、専用の単語分割ライブラリなしで、英語の部分文字列と中国語のテキストの両方を検索できます。
完全な再構築ではなく差分的な再インデックス化
すでにインデックス化されたフォルダを再度開くと、各ファイルの更新日時とサイズが記録済みの内容と比較されます — 新規、変更、削除されたファイルだけがインデックスに影響するため、実際に変更されたのがごく一部の図面だけであれば、大規模プロジェクトの再訪問も高速です。
AutoCAD自身のFindコマンドでは大量に到達できないテキストを見つける
インデックス化は、モデルスペースとすべてのレイアウト内のDBTextとMText、ブロック参照の属性値、そしてブロック定義自体の内部にある静的テキスト(ネストされたブロックを含む)をカバーします — インスタンスごとのハンドルは持たないものの、ブロック名とともに報告されます。
BlockSyncとTextSync自身の形式に直接エクスポート
検索結果セットは、単なる汎用のスプレッドシートとしてエクスポートされるわけではありません — ブロックインスタンスの行はBlockSyncのシートレイアウトで、テキストの行はTextSyncのレイアウトで書き出されるため、検索とロケートのセッションが、どちらかのツールの編集・書き戻しワークフローへ直接引き継げます。
動作環境と要件
DwgSearch がお使いのマシンで動作するかどうか、また動作した際の挙動を左右するすべての条件です。
- Microsoft Excelのインストールは不要です — DwgSearchは独自のエンジン(ClosedXML)で.xlsxを直接読み書きします。
- 検索インデックスはローカルの%LOCALAPPDATA%\CADXChange\DwgSearchに保存されます — 何もアップロードされず、削除しても次回の検索でインデックスが再構築されるだけです。
- Windows 10/11、64ビットのみ対応。
- 正規のフルバージョンのAutoCAD(2021〜2027)が必要です。AutoCAD LTには対応していません — LTはDwgSearchが依存するバックグラウンド自動化を実行できません。
- 複数バージョンのAutoCADがインストールされている場合、Settings → AutoCADでどのバージョンを使うかを指定するか、"Auto (newest installed)"のままにしておけます — その場合、何らかの理由でそのバージョンの読み込みに失敗しても、自動的に他のインストール済みバージョンにフォールバックします。
- .NET 8上で構築されています。.NET 8 Desktop Runtimeがまだマシンにない場合、インストーラーがMicrosoftから取得するよう案内します(無料、一度きり、約60MB)。
- ネットワークアクセスは、起動時とその後定期的にライセンスを確認するためだけに使用されます。スキャン、読み込み、書き込みはすべてAutoCAD自身のエンジンを通じてローカルで行われ、図面の内容がアップロードされることはありません。
- インターフェース言語: English / 简体中文 / 繁體中文 / 日本語 / 한국어 / Deutsch / Français / Italiano / Español。
- 多数のファイルをまとめて処理するバッチでは、バックグラウンドで複数の図面を並行処理できます — SettingsのMax parallel AutoCAD instancesを調整して、速度とCPU/メモリの余裕をトレードオフできます。
- 時間のかかる操作にはすべて、パーセンテージと推定残り時間を示す進捗バーが表示され、実行中にキャンセルできます。
- 何か問題が発生した場合は、Settings → Diagnostics → Open Log Folderからホストとプラグインのログに直接アクセスできます。
全ツール共通の 動作環境 ページも参考にしてください。
利用シーン
DwgSearch が想定するシーンの一部です —— 該当するものが見当たらない場合も、上記のいずれかのタブで対応できることがほとんどです。
タグ番号を参照するすべての図面を見つける
導入前
バルブや機器のタグをプロジェクト全体で追跡する必要があるが、数百枚の図面のうちどれが実際にそれを参照しているのか誰も覚えていない。
導入後
そのタグを一度検索するだけで、それを含むすべての図面、レイアウト、ブロックインスタンスが数秒で返ってくる。それぞれにAutoCAD内でワンクリックでジャンプできるLocateコマンド付き。
削減できた時間
手作業での開封/検索に約1時間 → 1分未満
廃番になった部品番号やノートのプロジェクト監査
導入前
部品が廃番になったり標準ノートが変わったりして、古い値をまだ参照しているすべての図面を見つけるには、ファイルを1つずつ開くしかない。
導入後
プロジェクトフォルダ全体を一度検索するだけで、古い値をまだ持っているすべてのファイルとエンティティが一覧表示され、実際の一括編集のためにBlockSyncやTextSyncに渡す準備が整う。
削減できた時間
プロジェクト全体で約2時間 → 数分
引き継いだ図面セットのデューデリジェンス
導入前
内容不明の新規受領または買収した図面セットを、再利用前に特定のクライアント名、プロジェクトコード、仕様参照がないか確認する必要がある。
導入後
DwgSearchをそのフォルダに向けて用語を検索するだけで、図面を1枚も手動で開くことなく、すべてのヒット — ファイル、レイアウト、内容 — が得られる。
削減できた時間
半日のスポットチェック → 数分