AutoCAD 2021 での AutoLISP 開発で、Fusion 360 の Python スクリプト・アドイン開発で、それぞれ利用されている Visual Studio Code、通称、VS Code ですが、多様な利用を可能にしているのが、だれでも自由に開発することが出来る エクステンション(Extension)と呼ばれる VS Code の優れた機能拡張です。
VS Code のエクステンションには、Autodesk Forge の開発を支援する Autodesk Forge Tools エクステンションも用意されています。VS Code で Autodesk Forge Tools エクステンションを利用出来るようにする手順は、次のとおりです。
- https://code.visualstudio.com/Download から VS Code をダウンロード、インストールします。
- VS Codeを起動して、VS Code の画面左手のアクティビティバーから「拡張機能」アイコン(①)をクリックして、検索ボックスに「Autodesk Forge Tools」(②)と入力後、リターンキーを押下します。画面右手に Autodesk Forge Tools の公開ページが表示されるので、[インストール](③)をクリックして、Autodesk Forge Tools をインストールしてください。
- Autodesk Forge Tools エクステンションがインストールされると、左手のアクティビティバーに Forge アイコンが表示されます。Forge アイコンをクリックすると、アクティビティバー右手に Forge サイドバーが表示されるはずです。この時、画面右下に Autodesk Forge Tools エクステンションから credentials(Client ID、Client Secret) が未設定であるとの通知が表示されますが、ここでは無視してください。
- 次に、Autodesk Forge Tools エクステンションを利用するための設定をしていきます。アクティビティバーの「拡張機能アイコン」(④)をクリックして、サイドバーパネルに表示される「有効」な Autodesk Forge Tools エクステンション タイルから、管理(歯車)アイコン(⑤)をクリックしてください。画面に Autodesk Forge Tools エクステンションの設定項目が表示されたら、「settings.json で編集」リンク(⑥)をクリックします。
- settings.json が表示されたら、"autodesk.forge.environments" セクションに、”title"(設定名)、"clientId"(VS Code 環境で使用する Client ID)、"clientSecret"(VS Code 環境で使用する Client Secret)、"region"(VS Code 環境からデータ アクセスで使用する Data Management API のストレージ地域、日本からは、通常、US)を次のように追加して、settings.json を上書き保存してください。
なお、"autodesk.forge.environments" セクションには、{ ~ } ブロックで複数の credential を設定することが出来ます。
{ "extensions.confirmedUriHandlerExtensionIds": [ "Autodesk.autolispext" ], "editor.minimap.enabled": true, "files.associations": { "*.cps": "javascript" }, "window.zoomLevel": 0, "workbench.activityBar.visible": true, "autodesk.forge.environments": [ { "title": "my environment", "clientId": "<<YOUR CLIENT ID>>", "clientSecret": "<<YOUR CLIENT SECRET>>", "region": "US" } ], }
上記のセットアップ終了後、再度、アクティビティバーの Forge アイコンをクリックすると、設定した Client ID/Client Secret でアクセスすることが可能な情報が、Forge サイドバーに表示されます。
Forge サイドバーの各パネル上では、右クリック メニューからさまざまなアクションを実行することが出来ます。例えば、BIM 360 Docs 上に保存された Revit プロジェクト ファイル(.rvt ファイル)に、既に変換済の viewables が存在する場合、VS Code 上で Forge Viewer を使ってプレビュー表示することも出来ます。
Forge サイドバーに表示される各パネルの役割は、おおまかに次のとおりです。
BUCKET & DERIVATIVES
2-legged OAuth で取得した Access Token を用いて、OSS Bucket、Bucket 内の Object(ファイル)、それらの派生物の情報を表示や操作が出来ます。また、Model Derivative API を用いた変換と、SVF 変換時の 2D 図面、3D モデルの Forge Viewer での表示もサポートしています。ほとんどの操作は、表示される Bucket 内のノードを右クリックするか、「コマンドパレット」(Ctrl + Shift + P または Cmd + Shift + P)からアクセスすることが出来ます。
HUB & DERIVATIVES
初期状態では、2-legged OAuth で取得した Access Token を用いて、Hub 配下の プロジェクト、プロジェクト内の Item や Version、また、変換済 SVF の表示をサポートしています。ほとんどの操作は、表示されるパネル内のノードを右クリックするか、「コマンドパレット」(Ctrl + Shift + P または Cmd + Shift + P)からアクセスすることが出来ます。
WEBHOOKS
Data Management API、Model Derivative API、Fusion Lifevycle、Revit Cloud Worksharing の各種イベントに対する Webhooks API の登録と削除、情報取得をサポートします。
DESIGN AUTOMATION
独自に定義、作成した Design Automation API v3 の Activity と App Bundle に加え、共有 Activity と共有 App Bundle の情報にアクセスすることが出来ます。関連するすべての操作は、個々のツリーノードを右クリックするか、コマンドパレットにコマンド名を入力することで利用できます。 コマンドパレットは「ファジー検索」をサポートしていることに注意してください。つまり、
コマンドパレットで利用することが出来るコマンドは、コマンドパレットに「Forge」と入力すると、ファジー検索によって一覧表示することが出来ます。同様に、「upd bun」と入力すると、利用可能なコマンドから「Forge Design Automation:Update App Bundle」と「Forge Design Automation:Update App」に絞り込むことも可能です。
Autodesk Forge Tools エクステンションは、個々の endpoint をラップしたテスト ハーネスとして利用していただくことが出来ます。endpoint 呼び出し時のリクエスト ヘッダーやリクエスト ボディ、また、一連の処理手順を把握するような場面では、Postman などのツールの利用をお勧めします。
By Toshiaki Isezaki
コメント