Forge には、既に数多くのサンプル コードが作成されていて、GitHub 上でソースコードが公開されています。従来、少々面倒だったのは、直接 GitHub にアクセスして各リポジトリ ページの内容を見てみないと、使用されている API や用途、実現している機能を把握する出来なかった点です。
今回、デベロッパ ポータル からアクセス可能なサンプル一覧ページが用意されて、各種サンプルの概要を簡単に把握することが出来るようになりました。サンプル一覧ページには、https://autodesk-forge.github.io/ から直接アクセスすることも出来ます。ページ上部には、使用している Forge Platform API や使用言語でフィルタする機能も用意されているので、短い時間で求めているサンプルを見つけることが出来るはずです。
いくつかのサンプルには、Heroku などにホストされて、すぐに実行中のサンプルをテストすることも出来る Live Demo リンクが用意されています。ここでは、Live Demo リンクが用意されている代表的なサンプルをご紹介しておきたいと思います。それぞれ、Forge が持つ機能を把握する手助けとなりますので、状況にあわせた Forge のデモで利用することが出来るはずです。
forge-rcdb.nodejs
Responsive Connected Database と名付けられたサンプルで、Forge Viewer でストリーミング配信された形状データとメタデータ(属性、プロパティ)とは別に、それらにリンクされた外部データベースの情報を Forge Viewer 内のプロパティ ウィンドウに表示します。すぐに試すことが出来る Live Demo の URL は、https://forge-rcdb.autodesk.io/ です。
画面右手の Database 領域に表示されているのが、MongoDB を使った外部データベースの情報です。Material 列を選択すると、該当する 3D モデルが Forge Viewer 内にフォーカスされてきます。この時、Viewer 内でプロパティ ウィンドウを開いていると、もともと、デザイン データを持っているメタデータに加えて、MongoDB 上の関係データを表示します。この際に、Supplier や Price、Currency の値を変更すると、Viewer 上のプロパティ ウィンドウに表示中のデータもリアルタイムに更新されることが分かります。Forge Viewer が、他のデータソースと連携できる例と言えます。
model.derivative-nodejs-sample
3-legged 認証を使って A360 のユーザ ストレージ領域にアクセスして、アップロード済のデザイン ファイルを画面右手に設定した Forge Viewer 領域に表示するサンプルです。Live Demo の URL は、https://derivatives.autodesk.io/ です。
Viewer 表示用だけでなく、Model Derivative API が持つ、他のデザイン ファイル形式への変換とダウンロードもテストすることが出来ます。また、デザイン ファイルの各バージョンを表示させることが出来るだけでなく、2016 年 11 月に追加されたデザイン データの Version へのアタッチメント機能もテストすることが出来ます。Sign In するユーザ アカウントにもよりますが、A360 Team、Fusion Team、BIM 360 Team や BIM 360 Docs のストレージと比較することで、3rd Party アプリも同じデータにアクセス出来ることを紹介することが出来ます。
model.derivative-nodejs-google.drive.viewer
パブリック ストレージ サービスである Google Drive 内のデザイン データにアクセスして、Forge Viewer に表示するサンプルです。Live Demo の URL は、https://forgegoogledriveviewer.herokuapp.com/ です。
Google アカウントで Google Drive サインインすることで、Google Drive 側のフォルダ構造を表示します。この中からデザイン ファイルをクリックすると、Model Derivative API が表示用に Forge の Object Storage Service(OSS)にデザイン ファイルを転送して変換処理を開始し、画面右側に設定された Forge Viewer 領域にモデルを表示します。デザイン ファイルが、必ずしもオートデスクのクラウド サービスのストレージになくとも、OAuth2 を利用して透過的にアクセス出来る例とも言えます。
類似したサンプルには、BOX ストレージ サービス上のデザイン データにアクセスして Forge Viewer に表示する model.derivative-nodejs-box.viewer サンプルや、同じく BOX ストレージと オートデスクのクラウドサービス側のストレージ間でデザイン ファイルにアクセスして相互に転送する data.management-nodejs-integration.box サンプルも提供されています。
Live Demo を利用すれば、GitHub リポジトリ上のプロジェクトをローカル コンピュータにクローンする必要がないので、手軽にテストやデモに利用することが出来ます。もちろん、Node.js などの開発環境を用意する必要もありません。ぜひ、お試しください。
By Toshiaki Isezaki
コメント
コメントフィードを購読すればディスカッションを追いかけることができます。