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

You must be logged in to post a comment.