1. TOP
  2. ブログ
  3. Autodesk Platform Services (旧 Forge)環境をAmazon AWS上に構築してみる

Autodesk Platform Services (旧 Forge)環境をAmazon AWS上に構築してみる

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

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

Autodesk Platform Services (旧 Forge)の概要

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

Autodesk Platform Services (旧 Forge)が提供するAPI一覧

2020年3月現在で利用可能なAPS (旧 Forge) APIは以下のとおりです。
l OAuth
APS (旧 Forge)プラットフォームにアクセスするための認証機能です。APS (旧 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社の異なる製品を一元化することはもちろん、APS (旧 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 Platform Services (旧 Forge)環境を構築する手順

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

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

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

APS (旧 Forge)にサインアップしてアプリを登録する

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

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

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

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

gitがインストールできたらAPS (旧 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社が提供しているAPS (旧 Forge)が提供するAPIを使い、Amazon AWS上にデモ環境を構築する手順をご紹介しました。

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

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

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

建設・土木業界向け 5分でわかるCAD・BIM・CIMの ホワイトペーパー配布中!

CAD・BIM・CIMの
❶データ活用方法
❷主要ソフトウェア
❸カスタマイズ
❹プログラミング
についてまとめたホワイトペーパーを配布中


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

    ホワイトペーパーフォームバナー

    【DL可能な資料タイトル】

    • ・プログラムによる建築/土木設計のQCD(品質/コスト/期間)向上
    • ・BIM/CIMの導入から活用までの手引書
    • ・大手ゼネコンBIM活用事例と建設業界のDXについて
    • ・デジタルツイン白書
    • ・建設業/製造業におけるデジタルツインの実現性と施設管理への応用

    詳細はこちら>>>

    PAGE TOP