• 検索結果がありません。

メイン タイトルの長さは 1~2 行にしてください

N/A
N/A
Protected

Academic year: 2021

シェア "メイン タイトルの長さは 1~2 行にしてください"

Copied!
22
0
0

読み込み中.... (全文を見る)

全文

(1)

小笠原 龍司

Forge Advocate | @AutodeskForge

CS472549

BIM 360 プロジェクトとアカウントの

(2)

小笠原 龍司

2014年からオートデスクにて、Revit や Navisworks 等、デスクトップ製品 API ・アドイン開発・ API のサポート、及び Forge プラットフォーム API の

エバンジェリストとして活動中。

前職では、Webアプリケーションエンジニアとして環境制御システムやリア ルタイムコミュニケーションシステム、統合基幹業務システムの開発に従事。

アジェンダ

BIM 360 Document Management の横断検索サンプル

Amazon Elasticsearch Service

データベースの作成

検索

(3)

BIM 360 Document Management 検索機能

Document Management の検索機能を使用すると、指定したフォルダおよびそのサブフォルダ内のドキュメ ントを簡単に検索することができます。 • ただし、検索機能はプロジェクト内のドキュメントに限られ、ファイル名が対象です。 • プロジェクトで管理されるモデルや設計ドキュメントの増加に従って、カスタム検索は必須のものになりつ つあります。

(4)

Amazon Elasticsearch Service

Elasticsearch は、オープンソースの RESTful 分散検索/分析エンジン。JSON ドキュメントの形式でデータを Elasticsearch に送信できます。Elasticsearch は自動的に JSONドキュメントを保存し、そのドキュメントへの検索可能な参照をクラスター のインデックスに追加します。 • その後、Elasticsearch API を使用してドキュメントの検索と結果の取得ができます。

JSON

インデックスの作成

インデックス

(≒ RDB の DB)

Amazon

Elasticsearch

Service

REST API

クラスター

JSON

データの検索・結果取得

REST API

アプリケーション

(5)

BIM 360 横断検索サンプル

Elasticsearch データベース(AWS サービス)にメタデータをインデックスして検索するサンプルです。

• 選択したBIM 360 アカウント(Hub)の全プロジェクトを再帰的に反復処理し、Project Filesフォルダに入り、 サブフォルダに入り、最後のバージョンのアイテムに入り、すべてのメタデータを取得し、テキスト(JSON ではない)として Elasticsearch に送信します。

• 新しいファイルがアップロードされると、Webhook がトリガーとなってインデックスを更新します。

(6)

データベースの作成

(7)

仕組みの解説

Data

Management

Derivative

Model

Elastic

Search

AWS Elastic

Search

ファイルを

見つける

メタデータを

抽出

ドキュメント

を作成

(8)

Elastic Search ドキュメントの作成

Hub ID

Project ID

Folder URN

Item URN

Version URN

File Name

Metadata

Data Management API

Model Derivative API

(9)

ファイルへのアクセス

– Data Management API

1. BIM 360 アカウントに紐づく Hub Id の取得

2. Hub Id に紐づく全てのプロジェクトとその Project Id を取得

3. プロジェクトの [プロジェクト ファイル]フォルダを取得

4. [プロジェクト ファイル]フォルダ配下のコンテンツを再帰的に取得してファイルを見つける

(10)

メタデータの一括取得

– Model Derivative API

オプション1 : HTTP エンドポイント

o SVF ファイルからプロパティを JSON 文字列として一括取得

(11)

メタデータの一括取得

– Model Derivative API

オプション2 : Sqlite データベース

o Model Derivative サービスは、すべてのプロパティメタデータを sqlite ファイルに保存します。

o マニフェストから mime タイプが application/autodesk-db に、role が

Autodesk.CloudPlatform.PropertyDatabase に設定さ れたアセットとして 見つけることができます。

(12)

メタデータの一括取得

– Model Derivative API

オプション3 : Viewer に最適化されたデータベース

o Forge Viewer では、モデルの属性情報は、パフォーマンスを維持するために、Sqlite データベースのテー ブル名にそれぞれ対応するよう分割された複数のアセットを使用します。

o それぞれのアセットは、JSON ファイルを圧縮した *.json.gz 形式となり、個別にダウンロードすることがで きます。

 objects_ids.json.gz

• object ID (Forge Viewer で使用される "dbId")

• external ID (デザインファイルの形式によって異なる要素ID、Revit の場合は “GUID”)

 objects_attrs.json.gz • プロパティ名、カテゴリ、タイプ、単位など  objects_vals.json.gz • プロパティの値 https://forge.autodesk.com/blog/accessing-design-metadata-without-viewer

今回は、プロパティの値を検索対象とするため、

このアセットファイルを取得。

(13)

エンティティ

- 属性 - 値の構造

(14)

最新のデータに更新

Webhooks

Model

Derivative

Elastic

Search

AWS Elastic

Search

新しいバージョン

追加を検知

メタデータを

抽出

(15)

検索

(16)

リクエストボディ検索

"_source":[ "projectId", "folderUrn", "itemUrn", "versionUrn", "fileName" ], "query":{ "bool":{ "must":{ "match":{ “metadata.collection”: 検索文字列 } }, "filter":[ { "term":{ "hubId": Hub Id } } ] } } • 取得するフィールド • メタデータから検索文字列にマッチするか検索 • 検索結果から Hub Id が一致する結果にフィルタリング

(17)

検索結果の表示

AWS Elastic

Search

検索結果

の取得

BIM 360 製品への

URL リンクを作成

(18)

BIM 360 リンク作成

(19)
(20)

Tips & Tricks

Rate-limit

インデックス作成中、インデックス済みファイルの場合に処理をスキップする際、

System.Threading.Thread.Sleep(1000); で、ElasticSearch の Rate-limit を回避。

バックグラウンド処理とキュー

Hangfire を使用して、非同期のファイル検索リクエストの再帰処理をバックグラ

ウンドジョブのキューで管理

Refresh-token (データベース)

(21)

What’s next?

Source code:

https://github.com/Autodesk-Forge/forge-bim360search

Support:

forge.help@autodesk.com

(22)

Autodesk およびオートデスクのロゴは、米国およびその他の国々における Autodesk, Inc. およびその子会社または関連会社の登録商標または商標です。その他のすべてのブランド名、製品名、または商標は、それぞ れの所有者に帰属します。オートデスクは、通知を行うことなくいつでも該当製品およびサービスの提供、機能および価格を変更する権利を留保し、本書中の誤植または図表の誤りについて責任を負いません。

参照

関連したドキュメント

形を呈する。底面は長さ 3.2 m、幅 0.2 mの溝状。断

Bでは両者はだいたい似ているが、Aではだいぶ違っているのが分かるだろう。写真の度数分布と考え

この節では mKdV 方程式を興味の中心に据えて,mKdV 方程式によって統制されるような平面曲線の連 続朗変形,半離散 mKdV

問題集については P28 をご参照ください。 (P28 以外は発行されておりませんので、ご了承く ださい。)

本人が作成してください。なお、記載内容は指定の枠内に必ず収めてください。ま

<別記> 1.様式は添付の「事例報告様式」をご利用ください。 2.様式はワード形式(事例報告様式.doc」

重回帰分析,相関分析の結果を参考に,初期モデル

そして取得した各種データは、不用意に保管・分類されていく。基本的には標