52
小笠原 龍司 Developer Advocacy & Support BIM 360 Docs を利用する Design Automation API for Revit の自動化

BIM 360 Docs を利用する Design Automation API …‚’...小笠原龍司 Developer Advocacy & Support BIM 360 Docs を利用する Design Automation API for Revit の自動化

  • Upload
    others

  • View
    9

  • Download
    0

Embed Size (px)

Citation preview

Page 1: BIM 360 Docs を利用する Design Automation API …‚’...小笠原龍司 Developer Advocacy & Support BIM 360 Docs を利用する Design Automation API for Revit の自動化

小笠原 龍司Developer Advocacy & Support

BIM 360 Docs を利用する Design Automation API for Revit の自動化

Page 2: BIM 360 Docs を利用する Design Automation API …‚’...小笠原龍司 Developer Advocacy & Support BIM 360 Docs を利用する Design Automation API for Revit の自動化

BIM 360 製品から Forge へ

Page 3: BIM 360 Docs を利用する Design Automation API …‚’...小笠原龍司 Developer Advocacy & Support BIM 360 Docs を利用する Design Automation API for Revit の自動化

BIM 360 製品を段階的に利用するだけでも、クラウドのベネフィットを十分活かすことができます。

BIM 360 の段階的な利用

ローカル環境

Revit モデルをクラウドで管理

チーム間でコラボレーション

他部門でも試験導入

Page 4: BIM 360 Docs を利用する Design Automation API …‚’...小笠原龍司 Developer Advocacy & Support BIM 360 Docs を利用する Design Automation API for Revit の自動化

Forge の API を利用して Web アプリケーションを作成すれば、非 Revit ユーザーもデータを活用することができます。

BIM の表示、プロパティデータの確認、アカウント管理の自動化など

Autodesk Forge の活用 – ベーシック

ローカル環境

Revit モデルをクラウドで管理

Authentication Data Management Viewer

BIM 360Model Derivative

Forge アプリで非 Revit ユーザーもデータを活用

Page 5: BIM 360 Docs を利用する Design Automation API …‚’...小笠原龍司 Developer Advocacy & Support BIM 360 Docs を利用する Design Automation API for Revit の自動化

さらに Design Automation API を利用すれば、 Revit モデルを作成・編集・データ抽出することができます。

Autodesk Forge の活用 – アドバンスト

ローカル環境

Revit モデルをクラウドで管理

Authentication Data Management Viewer

Forge アプリで Revit モデルを作成・編集・データ抽出

Design Automation

Page 6: BIM 360 Docs を利用する Design Automation API …‚’...小笠原龍司 Developer Advocacy & Support BIM 360 Docs を利用する Design Automation API for Revit の自動化

Revit がローカル環境になくても、クラウドサービスを通じて Revit アドインにフルアクセス Revit API を利用して開発した Revit アドインを実行 どこからでもデータを読み取り、どこにでもデータを保存

オンデマンドで Revit データをクラウド処理

Design AutomationRevit アドイン

Partner | CustomerApplication

クラウドにデータをアップロード結果を保存するフォルダを作成

URL からデータをダウンロード

データの URL を Forge に送信結果の保存先 URL を Forge に送信

保存先 URL に結果をアップロード

Page 7: BIM 360 Docs を利用する Design Automation API …‚’...小笠原龍司 Developer Advocacy & Support BIM 360 Docs を利用する Design Automation API for Revit の自動化

設計者のためのタスク自動化サービス

建築設計MEP(機械、電気、配管)

構造エンジニアリング

Page 8: BIM 360 Docs を利用する Design Automation API …‚’...小笠原龍司 Developer Advocacy & Support BIM 360 Docs を利用する Design Automation API for Revit の自動化

オーナー、クライアント 営業担当者 ドキュメント管理者 コスト管理者 品質管理者 設備管理者 エネルギー管理者 施設管理 保守・メンテナンス

幅広いユーザーが利用できる Revit サービス

Page 9: BIM 360 Docs を利用する Design Automation API …‚’...小笠原龍司 Developer Advocacy & Support BIM 360 Docs を利用する Design Automation API for Revit の自動化

独自のクラウドサービスを作ることができます

社内データベース

Web サービス API

独自技術

Authentication Data Management

Design Automation ViewerWebhooks

Model Derivative

BIM 360 Reality Capture

クラウド サービス APIデスクトップ製品 API

Page 10: BIM 360 Docs を利用する Design Automation API …‚’...小笠原龍司 Developer Advocacy & Support BIM 360 Docs を利用する Design Automation API for Revit の自動化

作成 抽出 編集

Design Automation API for Revitクラウドサービスで Revit データを活用

• カスタムコンテンツの生成

• モデル作成の自動化

• モデルデータの検索・分析

• レポートの自動生成

• 企業の基準を維持

• 設計図書の自動生成

Page 11: BIM 360 Docs を利用する Design Automation API …‚’...小笠原龍司 Developer Advocacy & Support BIM 360 Docs を利用する Design Automation API for Revit の自動化

最低限必要な API

Forge アプリ

Design Automation

• フォルダ・ファイルのデータにアクセス• Revit モデルのアップロード・ダウンロード

• Revit アドインをアップロード• ジョブを依頼• 処理結果を取得

BIM 360 Docs

ファイルのアップロード・ダウンロード

Authentication API

Page 12: BIM 360 Docs を利用する Design Automation API …‚’...小笠原龍司 Developer Advocacy & Support BIM 360 Docs を利用する Design Automation API for Revit の自動化

Forge API を最大限活用してみると…

Authentication

Data Management

Design AutomationViewer

Webhooks

Design Automation

BIM 360 Docs

Forge アプリModel Derivative

2. Revit モデルをアップロード

3. Revit アドインのジョブを依頼

5. バージョン追加の通知

6. マニフェストの確認

7. Revit モデルを表示

1. 認証・認可

4. Revit アドインの処理結果をアップロード

Page 13: BIM 360 Docs を利用する Design Automation API …‚’...小笠原龍司 Developer Advocacy & Support BIM 360 Docs を利用する Design Automation API for Revit の自動化

参考例

Page 14: BIM 360 Docs を利用する Design Automation API …‚’...小笠原龍司 Developer Advocacy & Support BIM 360 Docs を利用する Design Automation API for Revit の自動化

Shed MateBlackbird Industries

構造フレーム、コンクリートのスラブ、壁、屋根、外装材など

技術営業やマネージャーが高品質かつ完全な Revit モデルを作成できる

材料リスト、図面、見積なども作成できる

様々な構成要素を組み合わせて倉庫を作成するコンフィギュレータ

仕様をルール化して、詳細設計まで実行し、製造と現地の組み立てまでのワークフローをサポート

BIM 360 のエコシステムも活用。

Web ベースの構造フレームジェネレータ

https://www.autodesk.com/autodesk-university/class/Forge-and-Generative-Design-Planning-Modeling-and-Fabrication-2019

Page 15: BIM 360 Docs を利用する Design Automation API …‚’...小笠原龍司 Developer Advocacy & Support BIM 360 Docs を利用する Design Automation API for Revit の自動化
Page 16: BIM 360 Docs を利用する Design Automation API …‚’...小笠原龍司 Developer Advocacy & Support BIM 360 Docs を利用する Design Automation API for Revit の自動化
Page 17: BIM 360 Docs を利用する Design Automation API …‚’...小笠原龍司 Developer Advocacy & Support BIM 360 Docs を利用する Design Automation API for Revit の自動化

MassFormerPerkins & Will

候補となる敷地を検索し、実際の空間のレイアウトや周辺建物の現況レイアウトを確認

敷地にコンセプトマスモデルを配置し、マスにプログラムをアサインする

BIM 360 API でプロジェクトを作成

DA4R で Revit モデルを作成して、BIM 360 にアップロード

Web ベースの 非 Revit ユーザ向けマススタディツール

Page 18: BIM 360 Docs を利用する Design Automation API …‚’...小笠原龍司 Developer Advocacy & Support BIM 360 Docs を利用する Design Automation API for Revit の自動化
Page 19: BIM 360 Docs を利用する Design Automation API …‚’...小笠原龍司 Developer Advocacy & Support BIM 360 Docs を利用する Design Automation API for Revit の自動化

Revit IntegrationSkyCiv

SkyCiv モデルを Revit モデルに変換してエクスポート

Revit モデルを SkyCiv にインポート

Forge Viewer で Revit モデルを表示

構造解析ソフトとの双方向モデル変換サービス

Page 20: BIM 360 Docs を利用する Design Automation API …‚’...小笠原龍司 Developer Advocacy & Support BIM 360 Docs を利用する Design Automation API for Revit の自動化
Page 21: BIM 360 Docs を利用する Design Automation API …‚’...小笠原龍司 Developer Advocacy & Support BIM 360 Docs を利用する Design Automation API for Revit の自動化

Collaborative LightingMustafa Salaheldin & Imad Hanna

DA for Revit で Revit モデルのデータを抽出する

DA for 3ds Max に送信してレンダリングして、ビジュアライゼーションを自動化

製造工程でもデータを活用

ビジュアライゼーション自動化と製造連携サービス

Page 22: BIM 360 Docs を利用する Design Automation API …‚’...小笠原龍司 Developer Advocacy & Support BIM 360 Docs を利用する Design Automation API for Revit の自動化
Page 23: BIM 360 Docs を利用する Design Automation API …‚’...小笠原龍司 Developer Advocacy & Support BIM 360 Docs を利用する Design Automation API for Revit の自動化

Clarity on Cloud ServersIMAGINiT

バッチ処理とモデルの品質チェックツール(デスクトップ版)をクラウド化

バッチ処理のタスク実行でターゲットのモデルをローカルだけでなくクラウドも指定可能に。

モデルの品質チェックツールのクラウド化

Page 24: BIM 360 Docs を利用する Design Automation API …‚’...小笠原龍司 Developer Advocacy & Support BIM 360 Docs を利用する Design Automation API for Revit の自動化
Page 25: BIM 360 Docs を利用する Design Automation API …‚’...小笠原龍司 Developer Advocacy & Support BIM 360 Docs を利用する Design Automation API for Revit の自動化

Automated FramingDesign Automation System

壁の構造フレームモデルを自動生成するルールエンジンを提供

壁と開口部のジオメトリから構成される建築モデルを作成

独自のルールエンジンで壁の構造フレームを作成

構造フレームの情報を Revit とInventor、Forge Viewer、 そしてCNC で活用

壁の構造フレーム自動生成サービス

Page 26: BIM 360 Docs を利用する Design Automation API …‚’...小笠原龍司 Developer Advocacy & Support BIM 360 Docs を利用する Design Automation API for Revit の自動化
Page 27: BIM 360 Docs を利用する Design Automation API …‚’...小笠原龍司 Developer Advocacy & Support BIM 360 Docs を利用する Design Automation API for Revit の自動化

City ExtractorBlackbird Industries

地図上で範囲を指定

Open Street API を使用して建物、道路、高速道路のデータを取得

Revit の DirectShape API を使用して都市モデルを作成

都市モデル作成サービス

Page 28: BIM 360 Docs を利用する Design Automation API …‚’...小笠原龍司 Developer Advocacy & Support BIM 360 Docs を利用する Design Automation API for Revit の自動化
Page 29: BIM 360 Docs を利用する Design Automation API …‚’...小笠原龍司 Developer Advocacy & Support BIM 360 Docs を利用する Design Automation API for Revit の自動化

https://github.com/Autodesk-Forge/forge-createfamily-revit

窓ファミリの作成

Page 30: BIM 360 Docs を利用する Design Automation API …‚’...小笠原龍司 Developer Advocacy & Support BIM 360 Docs を利用する Design Automation API for Revit の自動化

柱の干渉を検知して、BIM 360 の指摘事項に登録

モデルチェックと BIM 360 指摘事項の作成

Page 31: BIM 360 Docs を利用する Design Automation API …‚’...小笠原龍司 Developer Advocacy & Support BIM 360 Docs を利用する Design Automation API for Revit の自動化

31

Page 32: BIM 360 Docs を利用する Design Automation API …‚’...小笠原龍司 Developer Advocacy & Support BIM 360 Docs を利用する Design Automation API for Revit の自動化

カーテンウォールデータの製造連携サンプル

Page 33: BIM 360 Docs を利用する Design Automation API …‚’...小笠原龍司 Developer Advocacy & Support BIM 360 Docs を利用する Design Automation API for Revit の自動化
Page 34: BIM 360 Docs を利用する Design Automation API …‚’...小笠原龍司 Developer Advocacy & Support BIM 360 Docs を利用する Design Automation API for Revit の自動化

Revit モデルから製造データの作成に必要な寸法、形状などの属性情報を抽出して、IFC ファイルと CSV ファイルで出力する。 部材の仕様の入力、寸法などの変更後、Revit モデルに変更を反映する。

サンプルのワークフロー

Design Automation

CSV

CSV

カーテンウォールの属性情報と IFC データ

カーテンウォールの属性情報を変更専門業者

変更したカーテンウォールの属性情報

更新された Revit モデルと IFC データ

Page 35: BIM 360 Docs を利用する Design Automation API …‚’...小笠原龍司 Developer Advocacy & Support BIM 360 Docs を利用する Design Automation API for Revit の自動化

Design Automation

BIM 360 Docs Design AutomationForge アプリ

Viewer

Revit モデルを表示Viewer Extension でツールを作成

Authentication3-Legged 認証

Authentication2-Legged 認証

Data Management ファイルのアップロード・ダウンロード

• IFC ファイル書き出し• パラメータをCSV ファイルに書き出し• パラメータをCSV ファイルで読み込み• ファミリタイプの作成• パラメータの更新

Page 36: BIM 360 Docs を利用する Design Automation API …‚’...小笠原龍司 Developer Advocacy & Support BIM 360 Docs を利用する Design Automation API for Revit の自動化

36

BIM 360 Revit モデルを Forge Viewer で表示

Page 37: BIM 360 Docs を利用する Design Automation API …‚’...小笠原龍司 Developer Advocacy & Support BIM 360 Docs を利用する Design Automation API for Revit の自動化

モデルを BIM 360 Docs にアップロード

Page 38: BIM 360 Docs を利用する Design Automation API …‚’...小笠原龍司 Developer Advocacy & Support BIM 360 Docs を利用する Design Automation API for Revit の自動化

38Learn Autodesk Forge サンプルで動作確認

https://learnforge.autodesk.io/#/tutorials/viewhubmodels1. Forge App 設定画面で Callback URL を設定

http://localhost:3000/api/forge/callback/oauth2. 同梱の learn.forge.viewhubmodels.zip を解凍3. Visual Studio 2017 を起動して、 forgeSample.sln を開く4. forgeSample プロジェクトのプロパティから、デバッグ設定の環境変数の欄に下記の変数を追加

FORGE_CLIENT_ID: your Forge Client ID FORGE_CLIENT_SECRET: your Forge Client Secret FORGE_CALLBACK_URL: http://localhost:3000/api/forge/callback/oauth

5. IIS Express プロファイルでデバッグを起動

Page 39: BIM 360 Docs を利用する Design Automation API …‚’...小笠原龍司 Developer Advocacy & Support BIM 360 Docs を利用する Design Automation API for Revit の自動化

Forge App 設定画面で Callback URL を設定

Page 40: BIM 360 Docs を利用する Design Automation API …‚’...小笠原龍司 Developer Advocacy & Support BIM 360 Docs を利用する Design Automation API for Revit の自動化
Page 41: BIM 360 Docs を利用する Design Automation API …‚’...小笠原龍司 Developer Advocacy & Support BIM 360 Docs を利用する Design Automation API for Revit の自動化

Viewhubmodels サンプルアプリ画面

Page 42: BIM 360 Docs を利用する Design Automation API …‚’...小笠原龍司 Developer Advocacy & Support BIM 360 Docs を利用する Design Automation API for Revit の自動化

Revit アドインを DA 用パッケージに変換

Page 43: BIM 360 Docs を利用する Design Automation API …‚’...小笠原龍司 Developer Advocacy & Support BIM 360 Docs を利用する Design Automation API for Revit の自動化

Revit アドインのバンドルパッケージの準備手順

Revit アドインの変換① .NET C# or VB で実装したアドイ

ンプロジェクトを用意② DesignAutomationBridge.dll

を参照に追加※ RevitAPIUI.dll は参照を削除

③ IExternalApplication または、IExternalCommand をIExternalDBApplication に変更

④ エラーハンドリングを実装⑤ ローカルの Revit で動作確認

.bundle フォルダ構成のパッケージをZIP ファイルに圧縮

ZIP

DeleteWallsApp.zip|-- DeleteWalls.bundle| |-- PackageContents.xml| |-- Contents| | |-- DeleteWalls.dll| | |-- DeleteWalls.addin

バンドルパッケージの作成

https://adndevblog.typepad.com/technology_perspective/2019/02/understanding-steps-to-use-design-automation-api-for-revit.html

Page 44: BIM 360 Docs を利用する Design Automation API …‚’...小笠原龍司 Developer Advocacy & Support BIM 360 Docs を利用する Design Automation API for Revit の自動化

Revit アドインの変換に必要なアセンブリ参照

Windows

.NET Framework

参照アセンブリ

RevitAPI.dll RevitAPIUI.dllDesignAutomationBridge.dll

Revit アドイン

IExternalDBApplication(外部 DB アプリケーション)

その他 dll

Page 45: BIM 360 Docs を利用する Design Automation API …‚’...小笠原龍司 Developer Advocacy & Support BIM 360 Docs を利用する Design Automation API for Revit の自動化

[x] Revit UI 名前空間へのアクセス、アセンブリ参照はできません。 [x] REST API で直接 Revit のデータにアクセスできません。 [x] 複雑なセッション管理は想定されていません。(バッチ処理を想定) [x] アドインからネットワークにアクセスすることはできません。 [x] ユーザーとのインタラクションが発生する処理はサポートされておりません。

Revit アドイン開発時の制約事項

RevitAPIUI.dll

Page 46: BIM 360 Docs を利用する Design Automation API …‚’...小笠原龍司 Developer Advocacy & Support BIM 360 Docs を利用する Design Automation API for Revit の自動化

既存の Revit アドインの開発コード資産を再利用できます。 ただし、RevitAPIUI.dll は参照に含めることはできません。 Autodesk.Revit.UI 名前空間のクラスやメソッド、プロパティにアクセスしないように

コードを修正してください。 最低限必要な名前空間は以下の通りです。

Revit アドインのリソースを再利用

using Autodesk.Revit.ApplicationServices;using Autodesk.Revit.DB;using DesignAutomationFramework;

Page 47: BIM 360 Docs を利用する Design Automation API …‚’...小笠原龍司 Developer Advocacy & Support BIM 360 Docs を利用する Design Automation API for Revit の自動化

Learn Autodesk Forge サンプルの改造

Page 48: BIM 360 Docs を利用する Design Automation API …‚’...小笠原龍司 Developer Advocacy & Support BIM 360 Docs を利用する Design Automation API for Revit の自動化

Forge の REST API を、各開発言語の環境で利用しやすいようにラップしたパッケージ それぞれのクラスやメソッドが用意されている https://github.com/Autodesk-Forge

Forge SDK

Node.js forge-api-nodejs-client NPM パッケージ

.NET forge-api-dotnet-client NuGet パッケージ

Java forge-api-java-client Apache Maven ツール

PHP forge-php-client Composer ツール

Page 49: BIM 360 Docs を利用する Design Automation API …‚’...小笠原龍司 Developer Advocacy & Support BIM 360 Docs を利用する Design Automation API for Revit の自動化

Forge Viewer を Web ブラウザに埋め込んで 2D/3D モデルを表示・操作するためのクライアントサイドのライブラリ( JavaScript/CSS ファイルで提供)

Forge Viewer のカスタマイズ

Forge Viewer

プログラムでシーンやライト、メッシュ モデルを定義して作成するのが一般的な利用法

CAD/CG ソフトウェアで作成したデザインを変換して表示/操作するユーティリティ

Page 50: BIM 360 Docs を利用する Design Automation API …‚’...小笠原龍司 Developer Advocacy & Support BIM 360 Docs を利用する Design Automation API for Revit の自動化

JavaScript API 属性抽出や検索、モデルの断面解析や分解、

環境光変更などの機能の表示制御

Extension フレームワーク ビューアに独自機能を組み込んでカスタマイズする

ための拡張モジュール。 JavaScript ファイル単位で読み込むことができる。

three.js によるジオメトリ操作 オープンソースの JavaScript 3D ライブラリ

three.js の API を通じて、モデルのジオメトリやマテリアルを一時的に操作したり、ジオメトリを生成してメッシュデータを追加することもできます。

Forge Viewer のカスタマイズ

three.js

Viewer

Page 51: BIM 360 Docs を利用する Design Automation API …‚’...小笠原龍司 Developer Advocacy & Support BIM 360 Docs を利用する Design Automation API for Revit の自動化

Revit Cloud Worksharing モデル対応 BIM 360 中央モデルに変更内容を同期 Dynamo スクリプトの実行 SOC2 取得 PDF 作成

ロードマップ

Page 52: BIM 360 Docs を利用する Design Automation API …‚’...小笠原龍司 Developer Advocacy & Support BIM 360 Docs を利用する Design Automation API for Revit の自動化

Autodesk and the Autodesk logo are registered trademarks or trademarks of Autodesk, Inc., and/or its subsidiaries and/or affiliates in the USA and/or other countries. All other brand names, product names, or trademarks belong to their respective holders. Autodesk reserves the right to alter product and services offerings, and specifications and pricing at any time without notice, and is not responsible for typographical or graphical errors that may appear in this document.© 2017 Autodesk. All rights reserved.