BIM 360 Team の登場とともに導入された機能に、3D モデル バージョン間の差異をチェックするモデル比較機能がありました。現在では、BIM 360 の 「変更の表示」機能として利用することが出来ます。
この機能は Autodesk.DiffTool エクステンションで実装されていて、Forge Viewer 上で利用することで、2 つのバージョン間の変更点(差異)を視覚的に Viewer 上に表現することが出来るようになります。いまのところ、Viewer の Extension ドキュメントには記載されていませんので、参考としてご確認ください。
Autodesk.DiffTool エクステンションを使用するには、まず 2 つのモデル Viewer カンバスにロードしてから、オプションを設定してエクステンションをロードするだけです。
指定可能なオプションは次のとおりです。
- primaryModels (必須):
ロードされた Autodesk.Viewing.Model インスタンスの配列で、追加、削除、変更されたオブジェクトの点で、現在の状態として差分操作に参加します。
- diffModels (必須):
ロードされた他の Autodesk.Viewing.Model インスタンスの配列です。比較するモデルのペアを定義するには、配列長が primaryModels と一致している必要があります。
- versionA
モデルのバージョン識別子です。
- versionB(必須):
差分モデルのバージョン識別子です。
- mimeType (必須):
mimeType を定義することで、内部ロジックが若干適応され、モデルから分野、カテゴリ、名前をより良く抽出できるようになります。現在サポートされている MIME タイプは次のとおりです。
-
- 'application/vnd.autodesk.revit':Revit プロジェクト ー .rvt
- 'application/vnd.autodesk.autocad.dwg' :AutoCAD 3D モデル -.dwg
- 'application/vnd.autodesk.navisworks' :Navisworks モデル ー .nwd
変更された要素のみを表示したりといったように、フィルタリング操作の機能を提供します。また、個々の変更点を簡単に見つけることができます。
Autodesk.DiffTool エクステンション は、「並べて表示」ビュー('sidebyside')や「オーバーレイ」ビュー('overlay')を提供します。特にコードを追加することなく、用意されたツールバー ボタンから両者を切り替えることが可能です。
[変更] パネル右上には、2 つのモデルの比較結果を CSV ファイルとして保存するボタンも用意されています。
Autodesk.DiffTool エクステンションは次のようなコードでロードして利用が可能です。
function onViewerGeometryLoaded(event) { var extensionConfig = {} extensionConfig.mimeType = 'application/vnd.autodesk.revit' extensionConfig.primaryModels = [_viewer3d_1.getVisibleModels()[1]] extensionConfig.diffModels = [_viewer3d_1.getVisibleModels()[0]] extensionConfig.diffMode = 'overlay' extensionConfig.versionA = 'sample_architecture.rvt v1' extensionConfig.versionB = 'sample_architecture.rvt v2' _viewer3d_1.loadExtension('Autodesk.DiffTool', extensionConfig) .then(function (res) { window.DIFF_EXT = _viewer3d_1.getExtension('Autodesk.DiffTool'); console.log(window.DIFF_EXT); }) .catch(function (err) { console.log(err); }); }
注意事項と制限事項:
- Autodesk.DiffTool エクステンションは SVF ベースのモデルや SVF2 ベースのモデルで動作します。
- クラウド上でバージョンのモデル間の差異を返す REST API はありません。現状では、Model Derivative API:メタデータの活用 のブログ記事でご紹介した方法でメタデータを解析することになってしまいます。
By Toshiaki Isezaki
コメント
コメントフィードを購読すればディスカッションを追いかけることができます。