Visual Studio Code での Forge 開発

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 エクステンションを利用出来るようにする手順は、次のとおりです。


  1. https://code.visualstudio.com/Download から VS Code をダウンロード、インストールします。
  2. VS Codeを起動して、VS Code の画面左手のアクティビティバーから「拡張機能」アイコン(①)をクリックして、検索ボックスに「Autodesk Forge Tools」(②)と入力後、リターンキーを押下します。画面右手に Autodesk Forge Tools の公開ページが表示されるので、[インストール](③)をクリックして、Autodesk Forge Tools をインストールしてください。
  3. Autodesk Forge Tools エクステンションがインストールされると、左手のアクティビティバーに Forge アイコンが表示されます。Forge アイコンをクリックすると、アクティビティバー右手に Forge サイドバーが表示されるはずです。この時、画面右下に Autodesk Forge Tools エクステンションから credentials(Client ID、Client Secret) が未設定であるとの通知が表示されますが、ここでは無視してください。
  4. 次に、Autodesk Forge Tools エクステンションを利用するための設定をしていきます。アクティビティバーの「拡張機能アイコン」(④)をクリックして、サイドバーパネルに表示される「有効」な Autodesk Forge Tools エクステンション タイルから、管理(歯車)アイコン(⑤)をクリックしてください。画面に Autodesk Forge Tools エクステンションの設定項目が表示されたら、「settings.json で編集」リンク(⑥)をクリックします。
  5. 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

Discover more from Autodesk Developer Blog

Subscribe now to keep reading and get access to the full archive.

Continue reading