Autodesk Forge環境をAmazon AWS上に構築してみる


この記事を読むと以下の3つのことがわかります。

①Autodesk Forgeの概要
②Autodesk Forgeが提供するAPI一覧
③Amazon AWS上にAutodesk Forgeのデモ環境を構築する手順

Autodesk Forgeの概要

Autodesk ForgeはAutodesk社が開発しているクラウドベースの開発者ツールです。以前のCADシステムは個々のコンピューターで設計し、作成し、データを保存していました。現在はネットワーク環境が整い、多くのサービスがクラウドベースに移行しつつあります。こうした背景からAutodesk社でも今まで蓄積されてきたCADデータはもちろん、新しく設計するシステム自体を構築する仕組みを提供しました。それがAutodesk Forgeです。
Autodesk Forgeでは、プログラムから呼び出すことが出来るAPI(アプリケーション・プログラミング・インターフェース)を数多く用意しています。APIとはプログラマーが必要な機能を簡単な手続きで呼び出し、その機能を利用することが出来る仕組みです。例えば、CADデータをブラウザ内でレンダリングする機能を実現したいとすると、本来であればCADデータの仕組みから調べる必要がありますが、Autodesk ForgeのViewer APIを使うとわずかなプログラムコードでCADデータをブラウザ内に表示させることが可能です。

Autodesk Forgeが提供するAPI一覧

2020年3月現在で利用可能なAutodesk Forge APIは以下のとおりです。
l OAuth
Forgeプラットフォームにアクセスするための認証機能です。Autodesk Forgeではオープンスタンダードである「OAuth」を採用しています。
l BIM 360 API
Autodesk社が「BIM 360 クラウドサービス」として提供している機能を呼び出すことが出来るAPIです。
BIM 360 Account Admin APIや文書管理、チェックリスト、課題管理、モデル調整、コスト管理などのAPIが使えます。
※2020年3月現在、モデル調整、コスト管理はβ版になっています。
l Data Management API
A360、Fusion Team、およびBIM 360のデータにアクセスすることが出来るAPIです。Autodesk社の異なる製品を一元化することはもちろん、Forgeをストレージサービスとして利用することも出来、あらゆる種類のファイルをアップロード、ダウンロードすることが出来ます。
l Design Automation API
AutoCADやInventor、Revit、3ds MaxのDesign Automation(設計自動化API)が用意されています。これを利用することでデータの最適化やドキュメントチェックなどルーチン化出来る作業を自動化することが可能です。
l Model Derivative API
様々なデザインファイルを他の形式に変換したり、ビューアーでレンダリングするための準備ファイル(SVF形式)に変換することが出来ます。
l Reality Capture API
UAV(無人航空機)やドローンで撮影した航空写真から地理ベースのメタデータを追加することが出来ます。こちらはAutodesk社が提供している3D Photoソフトウェアの「Recap」の機能をAPI化したものです。またハンドヘルドカメラで撮影した360°写真から3Dモデルを作成することもできます。
l Token Flex Usage Data API
Autodesk Token Flex Usage Dataプラットフォームにアクセスして消費量や使用量、契約の詳細などのレポートを生成することが出来ます。利用者に対する課金管理が可能になります。
l Viewer API
強力なビューアー機能をWebブラウザで実現します。利用者はインタラクティブにアセンブリを分解したりレイヤ表示の制御をしたりすることが出来ます。また、ビューアーをカスタマイズしてツールボタンを追加することも可能です。
l Webhooks
アイテムのバージョンが変わったり、フォルダが追加、削除、変更されたりなどのユーザーが行うイベントをあらかじめ登録しておくとイベント発生時に通知がくる機能です。
通知後の処理をプログラミングしておくことでさらなる自動化や効率化を図ることが出来ます。

Amazon AWS上にAutodesk Forge環境を構築する手順

では、Autodesk Forge APIを使い、Amazon AWS上にAutodesk Forgeのデモ環境を構築してみましょう。

主な手順は以下のとおりです。
①Autodesk Forgeにサインアップしてアプリを登録する
②Amazon AWSに仮想マシンを作成する
③仮想マシンに必要なモジュールをインストールする

では、順番にみていきましょう。

Autodesk Forgeにサインアップしてアプリを登録する

すでにAutodesk製品のアカウントをお持ちの場合はForgeサービスアカウントと共通で使用可能です。
Autodesk製品アカウントでログインして「Autodesk Web Service API サービス利用規約に同意」します。
初めてサービスアカウントでログインすると「会社名」「職名」「国名」「郵便番号」が聞かれるのでそれぞれを入力して「参加する」ボタンをクリックします。
なお、初回ログインから1年間または100クラウドクレジットが消費されるまで、すべてのForge APIへのアクセスと5GBストレージが無料で使えます(100クラウドクレジットは100米ドル)。※1
アカウントが作成できたらForgeにサインインして、「My Apps」ページから「My Apps」をクリックします。
必要なアプリを選択して「App Name」「App description」「Callback URL」を入力して「CREATE APP」ボタンをクリックします。
その後「My Apps」ページから作ったアプリをクリックして「Client ID」と「Client Secret
」の文字列を控えておいてください。のちほどプログラムを実装するときに使います。
アプリの登録は以上です。

Amazon AWSに仮想マシンを作成する

次にAmazon AWSに仮想マシンを作成します。ローカル環境(お使いのPC)にWebサービスなどをインストールして試すことも可能ですが、今回はインターネット上のサーバーで構築してみます。

まずはAmazon AWSにアカウントを作成します(すでにお持ちの場合はそれを利用することも可能)。
こちらもAutodesk Forge同様、1年間の無料利用枠があります(無料利用枠は利用するシステムによって変わります)。
Amazon AWSにはAutodesk Forgeをデプロイするテンプレートが用意されていますが、複数の仮想マシンや仮想ネットワーク環境が必要なため構築に手間がかかります。今回は簡単なデモ環境なので、1台の仮想マシンを立ち上げて、そこに構築していきます。

では、Amazon AWSにログインして「AWSマネージメントコンソール」から「VPC」を選択します。次に「EC2インスタンスの作成」で仮想マシンを作ります。無料利用枠でご利用する場合は「無料利用枠の対象」と書かれたOSを選択してください(推奨はRed Hat)。次に「インスタンスタイプの選択」になります。こちらも「無料利用枠の対象」と書かれたタイプを選択します。最後に「起動」ボタンをクリックすると仮想マシンが作成されてOSが起動します。
仮想マシンの操作は「EC2ダッシュボード」から行います。起動しているインスタンスを右クリックして「接続」ボタンをクリックして「EC2 Instance Connect(ブラウザベースのSSH接続)」を使うのが簡単です(インスタンス作成中に出力される秘密鍵を使い、TeraTarmやPuTTYでの接続も可能です)。

※以降の操作はSSH接続したコンソール上で行います。
Autodesk Forgeを動作させるために必要な「Node.js」をインストールします。
$ sudo yum -y install nodejs

Autodesk ForgeのデモソースはGithubに上がっているのでこれをダウンロードする「git」をインストールします。
$ sudo yum -y install git

gitがインストールできたらAutodesk Forgeのデモソースをクローン(ダウンロード)します。
$ git clone https://github.com/Autodesk-Forge/viewer-walkthrough-online.viewer.git

クローンしたフォルダに移動します。
$ cd viewer-walkthrough-online.viewer

npmコマンドを使ってデモ環境をインストールします。
$ npm install

環境変数に「Client ID」と「Client Secret」を設定します(一部伏せ字にしています)。
$ export FORGE_CLIENT_ID=Xxxu0EbrNV1rXXXgSR4a02pIBLW0ixXX
$ export FORGE_CLIENT_SECRET=xjXXXpgJQXyxxx9r

Webサーバを起動します。
$ npm start
以上でサーバーの準備は完了です。

なお、Webサーバーのリッスンポートが3000になっているので、外部から接続できるように設定変更します。
VPCダッシュボードから、作成したインスタンスの「セキュリティグループ」をクリックして「Inbound rules」の右側にある「Edit Inbound rules」ボタンをクリックします。
「Add rule」をクリックしてTypeを「Custom TCP」Port rangeを「3000」Sourceを「0.0.0.0/0」
にして「Save rules」ボタンをクリックします。これで3000/tcpが公開されました。

次はPCなどのブラウザで以下のURLに接続して表示サンプル用ファイルをダウンロードします。
https://developer.static.autodesk.com/forgeunified/releases/samples/rst_basic_sample_project.rvt

ダウンロードが出来たらブラウザで以下のURLに接続します。
※xxxxxx.compute.amazonaws.comはEC2ダッシュボードの「パブリックDNS」で確認できます。
http://xxxxxx.compute.amazonaws.com:3000/

「Authorize me!」ボタンが表示されますのでクリックします(認証APIは今回未使用)。

Upload a supported file to bucketと表示されるので、先ほどダウンロードしたファイルをアップロードします(Data Management APIおよびModel Derivative API)。

少し時間がかかりますが、画面をリロードすると3Dの建造物が表示されます(Viewer API)。

表示された建造物はブラウザ内で自由に動かしたり断面化したりするほか、分解、計測などを行うことが来ます。あたかもAutoCADで3Dを操作している感じを味わうことが出来ます。

まとめ
今回はAutodesk社が提供しているForgeが提供するAPIを使い、Amazon AWS上にデモ環境を構築する手順をご紹介しました。

Autodesk Forgeは2015年にリリースされて以来、その機能を増やしながら進化しています。
近い将来、コンピューターOS内で実行されてきたCADアプリケーションがクラウドに完全移行し、分散された環境でプロジェクトに関わる人達がデータだけではなくアプリケーションさえも共有する時代が来るかもしれません。
Autodesk Forgeが提供しているのはあくまでもAPIです。プログラムから見れば一つ一つの部品にしか過ぎません。CADという限られた分野だけではなく、その発想次第では様々な分野で活用できる可能性を秘めていると思います。

参考URL
https://forge.autodesk.com/
https://forge.autodesk.com/developer/learn/viewer-app/overview

(※1)
https://forge.autodesk.com/pricing

▽Forgeについてもっと気になる方はこちら

マイクロソフト以外でも使えるForgeとは?Autodeskが目指すAPIエコシステムについて

最新のレンダリング機能を解説!Autodesk Forgeとは何?

Forge CIM、最新の活用事例でその機能を確認

 

CONTACT

株式会社キャパでは、
forgeの開発についてご相談を承っています。

営業時間:月~金 9:30~18:00 
土日・祝 定休日
FAXでのお問い合わせは24時間受付中 
FAX:03-5297-2879

▼キャパの公式Twitter・FacebookではITに関する情報を毎日更新しています!
・Twitter

・Facebook
キャパFacebookページへ

 


関連記事一覧

we love develop
アプリやシステムの開発を通じて、お客様のビジネスを成長させることが私たちのビジネスです。お気軽にお問い合わせください。
 お問い合せ

お電話でのお問い合わせはこちらから
TEL:03-5297-2871

メールマガジンの登録

キャパでは誰かに話したくなるようなIT小ネタを、週に一回メルマガで配信しています。
ぜひ購読してみませんか?
 購読する

ホワイトペーパーの入手

ITブログ月間20万PV達成!自社オウンドメディアの運用ノウハウを無料公開しています。
 ダウンロード

記事カテゴリ

月別投稿記事

PAGE TOP