課題
Plant3D自身のReportsとData Managerはアセットデータを取り出せますが、ExcelでTag/UDAの値を一括編集し、多数の図面にまたがって書き戻す標準機能はありません — カスタムプロパティはすべて図面ではなくプロジェクトデータベースに存在します。
P3DSync の仕組み
以下は実際のアプリ内のタブに対応しており、表示順もアプリと同じです —— 各スクリーンショットはすべて P3DSync の実際の動作を加工なしで撮影したものです。
ステップ1 — すべてのアセットタグとUDA属性を1つのExcelファイルに抽出
DWGファイルを追加し、インラインのプレビューサムネイル付きでバッチ全体から検出されたアセットクラスを閲覧すると、クラスごとに1シート、アセットインスタンスごとに1行を持つ単一のワークブックが得られます。
- 1Add Files…またはAdd Folder…(サブフォルダの再帰スキャンをオプションで指定可能)— ディスク上のどこからでも任意の数のDWGを混在させて1つのバッチにまとめます。
- 2P3DSyncはすべてのファイルをスキャンし、Plant3Dのアセットクラス、レイヤー、ペーパースペースのビューポートを検出します。ファイルごとのライブ進捗バー付きです。
- 3Assetsタブで、実際に必要なクラスにチェックを入れます。各行には参照数、含まれるファイル数、そもそも属性を持っているかどうか、利用可能な場合はインラインのプレビューサムネイルが表示されます — エクスポートを実行する前にDetails…をクリックすれば全体像を確認できます。
- 4名前で検索するか、Select All / Select None / Invertを使って、何十種類ものアセットクラスがあるプロジェクトのチェックリストを管理します。
- 5対象を絞り込みたい場合は、LayersタブまたはViewportsタブに切り替え、特定のレイヤーやペーパースペースのビューポートにチェックを入れます — チェックされたものを通して配置/表示されているアセットのみが抽出されます。
- 6Plant3D Project Databaseに、プロジェクトのProcessPower.dcf(DWGの隣、または1つ上のフォルダから自動検出)を指定します — カスタム(UDA)プロパティは図面エンティティではなくプロジェクトデータベースに存在するため、Include AttributesでTag、ジオメトリ、レイヤー以外の何かを取得するにはこれが必要です。
- 7Optionsを開くと、UDA属性、ジオメトリ(位置+回転)、レイヤー情報を含められ、スペーススコープ(モデルスペース、ペーパースペース、または両方)を選べます。高速なマシンではParallel processingをオンにすると、複数のファイルを同時にスキャン・抽出できます。
- 8Extract to Excelをクリックします。画面に表示される出力フォルダに、タイムスタンプ付きの.xlsxが生成されます — Open Output Folderで直接そこへ移動できます。
Options on this screen
- Include attributes
- Plant3Dプロジェクトデータベースから各アセットのカスタム(UDA)プロパティを、そのTagとともに抽出します。Plant3D Project Databaseが設定されている必要があります。
- Include geometry
- 各アセットの位置と回転を追加の列として抽出します。
- Include layer info
- 各アセットが配置されているレイヤーを抽出します。
- Space scope
- 抽出対象をモデルスペース、ペーパースペース、または両方に制限します。
- Parallel processing
- 複数のDWGファイルを1つずつではなく同時に処理します。高速ですが、より多くのメモリを使用します。
ステップ2 — 正確な差分をプレビューしてから書き戻す
エクスポートしたワークブックをExcelで自由に編集できます — P3DSyncは各行を正確なアセットインスタンスに突き合わせ、図面やプロジェクトデータベースを1つでも変更する前に、実際に何が変わるのかを正確に表示します。
- 1Excel Workbook(編集済みのステップ1のエクスポート)と、それを突き合わせるDWGフォルダを選びます — デフォルトはワークブック自身のフォルダで、突き合わせはファイル名の完全一致のみで行われます。
- 2バックアップフォルダを選ぶか、Automatic backup before writingをオンのままにします — 変更される前に、書き込み対象となるすべてのファイルが未変更のままそこにコピーされます。
- 3P3DSyncはワークブックを読み込み、各行を(行の並び順ではなく、ファイル+オブジェクトハンドルによって)元となった正確なアセットインスタンスに突き合わせます。フォルダ内に一致するDWGが見つからないExcelの内容は、黙って実行全体を失敗させたりせず、Unmatchedタブに表示されます。
- 4Diff previewタブには、各ファイルの変更件数とブロック件数が一覧表示されます。ファイルを選択すると、属性ごとの完全な表 — File、Handle、Class、Attribute、Current、New value — が並べて表示され、それぞれ理由付きでWillChange / NoChange / CannotWriteのフラグが立ちます。変更のない行はデフォルトで非表示です。それでもすべて確認したい場合はShow unchanged rowsをオンにします。
- 5Export Preview…は、計画された変更を先にサインオフのため他の人に渡したい場合に、差分グリッド自体を独自のワークブックとして保存します。
- 6含めたいファイルだけをチェックし、Write Backを実行します。確認ダイアログには、これから何件のファイルと何件の属性変更が発生するかが正確に示されます — 想定外のことは起きません。
- 7書き込み後、P3DSyncは変更したすべてのTagと属性を図面とプロジェクトデータベースから直接読み直し、意図した内容と一致しているかを検証します。不一致があれば、成功したものと決めつけるのではなく、書き込み結果レポートに名前入りで報告されます。
- 8Restore Backup…は過去の実行のバックアップからファイルを復元し、結果レポート内のRollback Allは現在の実行で変更されたすべてをワンクリックで元に戻します。
Options on this screen
- Automatic backup before writing
- 書き込まれる各ファイルは、変更が加えられる前に未変更のままバックアップフォルダにコピーされます。ロールバックが不要な場合のみオフにしてください。
- Show unchanged rows
- デフォルトでは差分ビューは変更のない属性を非表示にするため、大きなバッチの中で重要な一部の編集が埋もれてしまうことがありません。
その他の機能
選択プロファイル
チェックしたアセットクラス — またはチェックしたレイヤー — の正確な組み合わせを名前付きプロファイルとして保存し(Save Profile…)、後で読み込めます(Load Profile)。同じ少数のクラスを異なるユニットで繰り返しエクスポートする場合に便利です。
盲目的な信頼ではなく、読み戻しによる検証
書き戻しのたびに、いま書き込んだTagと各属性を、図面とPlant3Dプロジェクトデータベースの両方から読み直し、意図した内容と比較します。値が黙って拒否されたり変更されたりした場合、成功したと決めつける代わりに、P3DSyncはどのファイルのどの属性かを伝えます。
エクスポート前に確認できるアセットのプレビューサムネイル
スキャンされた各アセットクラスは、Assets一覧にインラインのプレビューサムネイルを表示できます。似たような名前を持つ何十種類ものバルブ/フィッティングタイプの中から正しいクラスを選ぶ作業が、闇雲にエクスポートして後から確認する作業にならずに済みます。
何も書き込まれる前のドライラン差分プレビュー
Write Backは常に、正確なTag/属性の変更 — file、handle、class、current value、new value — を、行ごとのWillChange/NoChange/CannotWriteの判定とともに、図面やプロジェクトデータベースが1つでも変更される前にプレビューします。
動作環境と要件
P3DSync がお使いのマシンで動作するかどうか、また動作した際の挙動を左右するすべての条件です。
- 通常のAutoCADではなく、AutoCAD Plant3Dが具体的に必要です — アセットクラスとUDA属性はPlant3D固有のオブジェクトタイプであり、通常のAutoCADライセンスでは読み書きできません。
- Microsoft Excelのインストールは不要です — P3DSyncは独自のエンジン(ClosedXML)で.xlsxを直接読み書きするため、AutoCAD Plant3DはあってもOfficeがないマシンでも動作します。
- Windows 10/11、64ビットのみ対応。
- 正規のフルバージョンのAutoCAD(2021〜2027)が必要です。AutoCAD LTには対応していません — LTはP3DSyncが依存するバックグラウンド自動化を実行できません。
- 複数バージョンの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からホストとプラグインのログに直接アクセスできます。
全ツール共通の 動作環境 ページも参考にしてください。
利用シーン
P3DSync が想定するシーンの一部です —— 該当するものが見当たらない場合も、上記のいずれかのタブで対応できることがほとんどです。
納品前のQA
導入前
提出期限前に、アセットのタグと属性データを確認するため何十枚もの図面を1枚ずつ開く。
導入後
すべてのアセットのTagと属性を1枚のシートに抽出し、不一致をスキャンして一括修正し、何が正確に変わるかを差分プレビューで確認しながら書き戻す。
削減できた時間
約5時間 → 20分
P&ID改訂後のタグ再採番
導入前
改訂でユニット全体のバルブや機器のTagが再採番され、古いTagを参照しているすべての図面を一貫して更新する必要がある — 1枚でも見落とすと、アセットリストが現場と一致しなくなる。
導入後
ユニット全体のすべてのTagをExcelにエクスポートし、古いTagから新しいTagへのマッピングをルックアップ数式や検索・置換で適用し、書き戻す — 差分プレビューで、コミットされる前にすべてのTag変更が一件ずつ表示される。
削減できた時間
150枚のユニットで約4時間 → 20分
クラス全体でのベンダー/メーカーデータ更新
導入前
アセットのクラス全体でベンダーやメーカーのUDAフィールドが変わり(バルブの型式が廃番になるなど)、古い値がそのクラスを使用するすべての図面に埋め込まれたままになる。
導入後
エクスポートをそのクラスのUDA属性だけに絞り込み、古い値を置換し、プロジェクトデータベースをアセット単位で開く代わりに、影響を受けるすべての図面に一度で書き戻す。
削減できた時間
約3時間 → 10分