ガイド/ブロック属性
複数のDWGファイルでブロック属性を編集する — AutoCAD標準の方法と、それぞれの限界
更新日: October 3, 2026

ブロック属性を複数の図面で変更する必要があるとします。改訂記号、クライアント名、図面番号、タグなどです。1枚ずつ編集しても動きますが、時間がかかり、150枚中の140枚目で間違えやすくなります。AutoCADには多数の図面に届く方法がいくつかあり、それぞれ向いている場面が違います。
このガイドでは、AutoCADが提供するもの、各方法が得意なこと、そしてどこで限界になるかを順に見ていきます。そのあと、同じ作業をBlockSyncのExcel往復で行う方法を示します。図面が1~2枚だけなら、ATTEDITが最も速い道具なので、手順1で終わりにして構いません。
1. 現在の図面で属性を編集する
ATTEDITと、そのコマンドライン形式である-ATTEDITは、開いている図面の属性値を編集します。-ATTEDITは属性を1つずつ編集することも、グローバル編集として選択した属性の中のある文字列を別の文字列に置換することもできます。どちらもブロック名、属性タグ、属性値で絞り込め、値は大文字と小文字を区別します。
すべては1枚の図面の中で完結します。表題欄1つ、あるいは1枚のシートの改訂変更なら、これが最も手早い方法です。
2. シートセット:フィールドで多数の図面を更新する
図面がシートセットに属している場合、シートセットマネージャで全シートの表題欄属性を一度に更新できます。表題欄の属性に、シートセットのプロパティ(プロジェクト名、シート番号、シートタイトル、独自のカスタムプロパティ)を指すフィールドが入っている必要があります。プロパティを変更したら、Resave All Sheetsで全シートの表題欄の文字が更新されます。
条件が合えば最もすっきりした方法で、シート番号やタイトルはシートごとのプロパティなので、シートごとに別の番号とタイトルを持たせることもできます。ただし準備が必要です。シートセットが存在し、属性がフィールドで定義されていなければなりません。すでにプレーンテキストの属性を持つ図面、過去プロジェクトのアーカイブ、他者から受け取った図面は、変換するまで対象外です。
3. スクリプト:すべての図面で同じコマンドを実行する
-ATTEDITを実行するスクリプト(.scr)は、AutodeskのScriptProのようなバッチスクリプトランナーで図面のリストに適用できます。ScriptProはAutoCADの一部ではなく、別途ダウンロードするものです。ランナーは図面を順に開いてスクリプトを実行し、スクリプトに保存が含まれていれば最後に保存します。
どの図面にも同じコマンドが渡されるため、値がどこでも同じ変更に向いています。新しいクライアント名、新しい会社の住所、訂正したプロジェクトフェーズなどです。シート番号、図面タイトル、タグのように図面ごとに値が違うものには向きません。ファイルごとに正しい値を読み込むコードを足せば別ですが。
4. ATTOUTとATTIN:1枚の図面のためのテキストファイル
Express ToolsのコマンドATTOUTとATTINは、図面の属性値をテキストファイルに書き出し、編集後のファイルを読み戻します。AutoCADの外で値を編集できますが、1回の実行で扱えるのは1枚の図面だけなので、図面が100枚あればこの往復を100回繰り返すことになります。
5. LISPまたは.NET:足りない部分を自分で書く
LISPルーチンや.NETプラグインなら、図面を1枚ずつ開き、正しい値を調べて書き込めるので、どんな場合にも対応できます。ただし、誰かが書き、実際の図面でテストし、AutoCADのバージョンをまたいで動かし続け、不具合のときに対応する必要があります。そういう人がいるチームは必要なものを手に入れられますが、いないチームは手作業の編集に戻りがちです。
6. BlockSyncで同じ作業を:書き出し、Excelで編集、プレビュー、書き戻し
BlockSyncは図面をあるがままに扱い、シートセットもコードも要りません。図面を追加し、対象のブロック(たとえば表題欄)にチェックを入れて、Extract to Excelをクリックします。全ファイルにわたって、ブロック1つにつき1行のブックが得られます。
ブックは普通のスプレッドシートと同じように編集します。改訂記号を列の下方向へフィルし、ファイル名から数式でシート番号を作り、あるいは新しいタグの一覧を古いタグの隣に貼り付けます。どの行も固有の値を持つので、図面ごとに違う値を入れることも、全部同じ値を入れることと同じくらい簡単です。
Excel → AutoCADに切り替え、BlockSyncにブックと図面を指定して、差分プレビューを確認します。変更される属性が、旧値・新値・ブロック・ハンドルとともにすべて一覧され、確認するまで何も書き込まれません。自動バックアップは既定でオンで、BlockSyncは変更した属性を図面から読み戻して検証し、問題があればRollback Allで実行分をまとめて元に戻せます。
7. どれを使うべきか
どの方法も間違いではありません。状況によって答えが変わるだけで、見るべき点は、図面が何枚あるか、値が図面ごとに違うか、図面が事前に自動化の準備をされているか、です。
表題欄のケースを各画面のスクリーンショット付きで見るには、複数図面の表題欄を一括更新するガイドをご覧ください。設定の全一覧はBlockSyncのドキュメントにあります。
はじめる前に — よくある質問
- ATTEDITで複数の図面の属性を一度に編集できますか?
- できません。ATTEDITと-ATTEDITは開いている図面でしか動きません。複数の図面に届くには、フィールド付きのシートセット、図面のリストに対して実行するスクリプト、またはファイルを代わりに開くツールが必要です。
- 図面ごとに異なる値、たとえばそれぞれの図面番号を入れられますか?
- 適切な準備があれば可能です。表題欄にフィールドを入れたシートセットなら、シートごとに別のシート番号とタイトルを供給できます。スクリプトはすべての図面に同じコマンドを実行するため、異なる値には追加のコードが必要です。BlockSyncではExcelシートの各行が固有の値を持つので、図面ごとに別の値を入れられます。
- BlockSyncを使うには、図面がシートセットに入っている必要がありますか?
- いいえ。BlockSyncはフォルダ内の通常のDWGファイルからブロック属性を直接読み取ります。シートセットに属しているか、属性にフィールドが入っているかは関係ありません。フィールド由来の値は書き戻されず、その行はBlockedと表示されてスキップされ、残りの処理は続行します。
- 結果を確認する前に図面が変更されることはありますか?
- ありません。差分プレビューが変更される属性をすべて一覧し、確認するまで何も書き込まれません。自動バックアップは既定でオンで、Rollback Allで実行分のすべてのファイルを元に戻せます。
- AutoCAD LTでも使えますか?
- 使えません。BlockSyncはWindows上の正規のフル版AutoCAD 2021~2027を必要とします。LTはBlockSyncが依存するバックグラウンド自動化を実行できないためです。