Fusion Data サンプル と同様に、APS ポータルの Data Exchange ドキュメントに記載のある Code Sample の内容も、GitHub リポジトリで公開されています。GitHub - autodesk-platform-services/aps-dx-samples-nodejs です。
ここでは、リポジトリの内容を Windows ローカル環境で実行出来るよう、セットアップと次の内容の実行手順について、数回に渡ってご紹介していきます。
- Retrieve Exchange Item Information(Exchange Item 情報の取得)
- Quantity Takeoff for Doors(ドア数量拾い)
- Window Schedule(窓集計表)
なお、このサンプルの実行には、サーバー実装に Node.js を、リポジトリのローカル環境へのクローンには Git コマンドを、それぞれ使用します。事前に Node.js と Git for Windows をインストールしてください。両者の入手先やインストールについては、APS の開発環境 でもご紹介していますので、必要に応じてご確認ください。
前提
このサンプルは、Revit 2024 の Data Connector で作成されたデータ交換(Data Exchange)を使って作成された内容を GraphQL でクエリするものです。以前ご紹介した Revit Connector を使った Inventor へのデータ交換 のブログ記事では、階段 カテゴリの幾何データを Inventor に引き渡す例をご紹介しています。
Code Sample では Doors や Windows カテゴリを使用して説明がされているので、対応した処理を評価する目的で、日本語版 Revit 2024 で同梱される「サンプル意匠.rvt」を開いて、ドア、 床、 壁、 窓 カテゴリを指定したデータ交換作成を前提にします。
- 本記事の公開当初、英語版 Revit 2024 を使って英語のカテゴリ名を書き出したデータ交換を使用する必要がありましたが、日本語対応の実装が想定より早く終了したため、2023年9月1日以降、日本語版 Revit 2024で作成したデータ交換に対して、日本語カテゴリ名を使った GraphQL クエリが可能になっています。Data Connector の再インストールは不要です。
セットアップ
- APS API を利用するアプリの登録とキーの取得 の手順で、開発に必要なデベロッパーキー(アプリの登録)を取得してください。 この際、サンプルは 3-legged OAuth で認可プロセスを実行するため、コールバック URL(Callback URL)に http://localhost:8080/api/auth/callback を指定する必要があります。
- Autodesk Construction Cloud へ 上記 1. で取得した Client Id の登録(カスタム統合)をおこないます。カスタム統合の手順は、Autodesk Construction Cloud と APS 統合で必要なカスタム統合 の記事でご案内しています。
- コマンドプロンプトを起動して、CD コマンドでリポジトリをクローンしたいフォルダに移動したら、git clone https://github.com/autodesk-platform-services/aps-dx-samples-nodejs.git と入力して、リポジトリをローカル環境にクローンします。
- クローンが正常に実行されると、aps-dx-samples-nodejs フォルダが作成されます。CD コマンドで aps-dx-samples-nodejs フォルダに移動したら、npm install と入力して、実行に必要な Node.js パッケージをインストールします。
- 実行に必要な Client ID、Client Secret、Callback URL を環境変数として登録します。次の <<YOUR CLIENT ID>> と <<YOUR CLIENT SECRET>> 部分を、上記、1. で取得した Client ID と Client Secret に、<<RANDOM STRING>> を任意の文字列(例:Test)それぞれ置き換えて、コマンドプロンプトに 4 行とも入力します。
set APS_CLIENT_ID=<<YOUR CLIENT ID>>
set APS_CLIENT_SECRET=<<YOUR CLIENT SECRET>>
set APS_CALLBACK_URL=http://localhost:8080/api/auth/callback
set SERVER_SESSION_SECRET=<<RANDOM STRING>> ←任意の文字列 - コマンドプロンプトに npm start と入力して、Web サーバーを起動します。
- Web ブラウザを起動後、URL 欄に localhost:8080 と入力して、次のように表示されれば正常です。
By Toshiaki Isezaki
コメント
コメントフィードを購読すればディスカッションを追いかけることができます。