vicc blog

株式会社ヴィックの技術ブログです。

Revit上でDynamoを使って効率的に求積図を作成する方法 Part.2

みなさん、本当にお久しぶりです。 2023年11月に作成した「Revit上でDynamoを使って効率的に求積図を作成する方法」の記事を多くの方々に読んでいただき、心から感謝申し上げます。 blog.vicc.jp

今回は以前の求積図の作成方法よりもっと簡単に求積図が作成できるようにDynamoのスクリプトをアップグレードいたしました。早速アップグレードしたDynamoを用いて求積図を作成する方法を一緒に試してみましょう。

プログラムのバージョン

以下にこの記事で使うプログラムのバージョンとDynamoのパッケージを示します。

  • Revit version 2024
  • Dynamo 2.19.3.
  • 利用したパッケージ : Python, WombatDynamo

Autodesk社より提供するアドイン

前回の記事で、Autodesk社より日本の独自の法規に対応できるようにリリースされたアドイン「Revit Extension for Architecture Japan (REXJ)」を軽くご紹介させていただきましたが、現在は「Revit Extension for Japan 2024」の名前で意匠、構造、機械設備を統合した1つのアドインになりました。

REXJにありました機能:法規チェック → 面積根拠式の機能の説明は前回の記事をご覧ください。2021より2024バージョンにおける技術的なアップグレードについては、今回の記事では省略させていただきます。もしアップグレードの内容をご存じの方がいらっしゃいましたら、共有をお願いいたします。

求積図作成の流れ

前回のプロセスと比べながら今回のプロセスを説明させていただきます。

図1 プロセスの比較
まず、以前は部屋からエリアを作成しても形によって面積計算ができない場合がありました。その場合は、Dynamoでエリア線とエリアを作成した後にRevit上でまたエリア線を追加して分割したりエリアを追加しました。なお、あるエリアは四角あるエリアは三角などにして面積計算を行いました。

今回は部屋エレメント全てを、どんな形をしていても関係なく三斜分割できるようにしました。(R形も三斜分割ができますし、部屋の中に他の部屋があったり、開口部又は吹き抜けなどがあってもできます。)

図2 三斜分割する平面
図2の平面は以前と比べて「Room B」を見ると「パイプシャフト」と開口部がありますし、「ストレージ」には二つの開口部があります。

部屋エレメントを用いて三斜分割まで

エリアパラメータの設定、部屋の作成まではできている前提でDynamoを実際に実行してみましょう。

図3 全体Dynamoスクリプト
全体的なDynamoスクリプトは図3のイメージになります。

  1. 現在のRevitのビューにある部屋エレメントをDynamo上に読み込みます。そのデータを部屋エレメント→線→面の順番に変換します。
  2. 面に変換したデータを持って部屋の中に他の部屋または開口部があるか確認します。
  3. 2番で確認した結果を参照して、重複する面積を削除して、実際の部屋の領域と同じくらい面を修正します。 (開口部などを取り除きます。)
  4. 修正された面データを基に三斜分割を行い、三斜したエリアをRevit上に作成します。
  5. 部屋名と番号をエリアにデータを移動します。(1つの部屋が三斜されたエリアの数だけ部屋番号を自動的に修正します。)
  6. 三斜されたエリアを持ち、高さ、底辺及び広さなどを計算し、エリアのパラメータに数値などを入力します。

図4 Revitの部屋エレメントをDynamoに読み込み
図4通りにRevitから部屋エレメントをDynamo上に読み込んで線、面のデータを書き出します。線を作成する時はDynamo上にある「Room.CenterBoundary」又は「Room.FinishBoundary」ノードを使用して、壁の中心又は仕上部 内部のテキストを入力することで部屋のBoundaryを調整できるようにしました。このようなことは今後DynamoPlayerでもスクリプトを利用することが可能になります。

図5 エリアの作成、三斜分割など
図5では図4で修正した面を用いて、どんな形をしていても三斜ができるのを実行してみたことになります。 真ん中の部屋の場合、開口部及び別の部屋を除いた部分のみ三斜分割が実行されたことが確認でき、その下の部屋は2つの開口部がすべて除外され、三斜分割が実行されました。

三斜分割したエリアビューを用いて、図面の作成や集計表の設定は以前の記事と同じ流れになります。

追加検証

追加検証として、Dynamo Playerで図6の平面を三斜分割を行ってみましょう。この平面はネットで面白い平面と検索して探しまして、Revit上に似てるように作成しました物になります。

図6 面白い平面構造の一例

GIFの画像のアップロードがなかなかできないので、イメージのサイズが小さくなりました申し訳ありません。図7は実際にDynamo Playerで三斜分割を行いました。Dynamo Playerを開いて、Scriptを選択します。選択したらDynamo上で設定したInputsノードがいくつか出てきます。今回は長さや面積値の表示を決定する小数点以下の桁数及びエリアの境界基準をどのようにするかを決定する壁の中心又は仕上部 内部、この2つを別途設定するようにしました。面白い平面の場合も問題なくて三斜分割ができました。

図7 Dynamo Playerで三斜分割

まとめ

これまでは分割できないエリアは追加的な作業(エリア境界線追加など)で解決してきましたが、今回のDynamoを使えば多量の求積図作成の作業が必要な場合は一度に三斜分割を進めて作業時間を短縮できるのではないかと思います。単純に三斜分割だけが実行されるように見えるかもしれませんが、四角形の計算式が必要な場合は四角形の計算を、そうでない部屋の形を持つ場合は三斜分割など、必要に応じてDynamo scriptを発展させることができます。 汎用的に使用可能なアドインがあればいいのですが、プロジェクト又は各社の基準などによって使用するのに難しい部分があると思います。弊社では個別のDynamoカスタマイズも業務として承ります。この記事に興味を持ち、自社用のDynamoを作りたいという方は、ご相談ください。