Design Automation API for Revit について、今年の1月28日にパブリックベータ版が公開されてから、下記のブログ記事で、その概要から始まり、 Postman Sample と .NET Core Sample の動作確認の方法、さらには Model Derivative API による SVF 変換と Viewer 表示の機能を追加する方法をご紹介してきました。
下記は、関連するブログ記事のリファレンスとなります。
初めから学習したいという方は、これらの記事をご参照ください。
- Design Automation API for Revit パブリックベータ版の公開
- Design Automation API for Revit 開発手順の理解
- Design Automation API for Revit - Postman Sample のセットアップ
- Design Automation API for Revit - Postman Sample で動作確認 1
- Design Automation API for Revit - Postman Sample で動作確認 2
- Design Automation API for Revit - Learn Autodesk Forge チュートリアル .NET Core Sample のセットアップ
- Design Automation API for Revit - Learn Autodesk Forge チュートリアル .NET Core Sample で動作確認
- Design Automation API for Revit - Learn Autodesk Forge チュートリアル .NET Core Sample の処理結果を Viewer で表示
そして、これらの記事で紹介している内容を、1 Day Workshop という形で学習いただける機会を設けております。
次回は、5月28日(火)東京、5月31日(金) 大阪にて開催いたしますので、ぜひご参加ください。
両日とも5月27日(月)に、申込受付を締め切らせていただきます。
また、Design Automation API V3 のドキュメントページでは、追加の学習リソースとして、CountDelete サンプルが公開されております。
今回は、このサンプルについてご紹介いたします。
- More Learning Resources
https://forge.autodesk.com/en/docs/design-automation/v3/tutorials/revit/more-learning-resources/
CountDelete サンプルは、2つの Revit アドインを 1つの Forge アプリケーションで、それぞれ用途に応じて切り替えて実行できるサンプルです。
1つは、Revit の要素をカテゴリ別に集計して、その結果をテキストファイルで出力するアドインと、もう一つは、指定のカテゴリのファミリインスタンスを削除して Revit プロジェクトを出力するアドインです。
このサンプルは、Learn Autodesk Forge チュートリアルの .NET Core サンプルと同じ仕組みで実装されておりますので、このサンプルを起動する手順は、こちらのブログ記事をご参照ください。
CountDelete サンプルを起動すると、次のような画面が表示されます。
右上の「Configure」ボタンをクリックすると、AppBundle と Activity を登録するためのダイアログが表示されます。
下記のダイアログで、「CountIt」と指定し、起動するエンジンを「Autodesk.Revit+2019」に設定して、「Create/Update」ボタンをクリックしてください。
AppBundle と Activity の登録が成功すると、元の画面の右サイドにあるログ出力コンポーネント上に、下記のようにそれぞれの ID が出力されます。
「DeleteElements」の AppBundle も同じ操作で登録します。
次に、このサンプルで使用する Revit プロジェクトをアップロードするための Bucket を作成します。
左サイドのコンポーネントは、Authentication API の 2-legged 認証 で Forge アプリに割り当てられている専用のストレージ領域のファイルをツリー構造で表示するオブジェクトブラウザです。Bucket が存在しない場合は、右上の「New Bucket」ボタンで新規に Bucket を作成します。
Bucket が作成できたら、その Bucket を右クリックして、コンテキストメニューから「Upload File」を選択して、Revit プロジェクトをアップロードします。
アップロードが完了すると、Bucket 配下に Revit プロジェクトが表示されます。また、Revit プロジェクトを選択すると、画面中央に「Start Translation」ボタンが表示されます。ボタンをクリックすると、SVF 変換が始まり、変換が終了したら自動的に Forge Viewer が起動します。
Existing activities から「CountItActivity+dev」を選択し、「Start workitem」ボタンをクリックすると、Design Automation API の Workitem が実行されます。
Workitem の処理が完了すると、右サイドのログ出力コンポーネントには、処理のログと、出力されたテキストファイルのダウンロードリンクが表示されます。また、左サイドのオブジェクトブラウザでは、そのテキストファイルが Bucket 上に保存されていることがわかります。
そして、それぞれのカテゴリ毎に集計した結果の数量が表示されます。
次は、削除する要素のカテゴリ「Windows」を選択し、Existing activities から「DeleteElementsActivity+dev」を選択し、「Start workitem」ボタンをクリックし、Design Automation API の Workitem を実行します。
Workitem の処理が完了したら、左サイドのオブジェクトブラウザで、新規に作成された Revit プロジェクトを選択し、「Start Translation」ボタンをクリックして SVF 変換を行います。変換が完了すると Forge Viewer が起動し、プロジェクト内に配置されている窓ファミリのインスタンスが削除されていることを確認できます。
このように、Design Automation API を利用して、複数の Revit アドインを切り替えて実行できる環境を作成したり、あるいは、特定の業務課題を解決するためのワークフローをカバーするように、複数の Revit アドインを順番に実行させる仕組みを作成することで、Forge の活用の場はさらに拡がると考えられます。
ご興味ある方は、ぜひお試しください。
By Ryuji Ogasawara
コメント