この連載について
シリーズ全5回のテーマを以下に設定した。BIMについて、アプリケーションの使い方やノウハウを中心に紹介したこれまでの記事から、少し違う方向にハンドルを切って「BIMでこう変えていこう」「BIMをこう変えていこう」と提案できるような記事にしていきたい。
【お知らせ】がんばる企業応援マガジン最新記事のご紹介
1.コンピューターが設計してくれる?
ここで取り上げるのは人工知能が建物を設計してくれるという話ではない。解決するのに手間と時間のかかる問題を、コンピューターがちょっと助けてくれるという話だ。
例えばこんな多角形の境界線があって、その中に境界線に接する三角形を作るとする。何通りもの三角形が作れるが、そのうちで最も面積が大きく、重心がある点に近いのはどの三角形だろう? 設計の実務でこの問題が何の役に立つのかは分からないが、筆者が例として無理やりに考えた問題だ。
その答えは「試してみれば分かる」だ。試してみるといっても実際に机の上の紙に三角形をたくさん書いてみたり、2D CADで三角形を作図してチェックしてみたりするのは手間がかかる。なんとなく直感で答えが出そうな気もするが、あえてコンピューターに任せてみよう。
正しい答えはコンピューターの中で何回も試すことで得ることができる。そんな風にコンピューターの力を借りてデザインを作ることを「コンピュテーショナルデザイン」あるいは「ジェネレーティブデザイン」という。
2.Revit 2021の新機能「ジェネレーティブ デザイン」
BIMアプリケーションRevitの2021バージョンが今年リリースされた。このRevit 2021に新機能「ジェネレーティブ デザイン」が搭載された。今回はこの機能を使って「境界線の中にできるだけ大きな三角形を作図する」を解いてみよう。
Revit 2021「管理」タブの「ジェネレーティブ デザイン」パレット
3.Dynamoで問題を作成する
「ジェネレーティブ デザイン」で問題を解く前にしなければいけないことがある。そう、問題を作ることである。
RevitではDynamo(ダイナモ)というビジュアルプログラミングツールを使うことができる。今回は次の図のプログラムを作成した。Dynamoについての詳しい解説は別の機会に譲るが、グラフィカルなインターフェイスを使ってプログラムを作ることのできる便利なツールだ。
今回はプログラムを簡単にするためにRevitからモデルや図形を読み込んだり、Revitに結果を書き出したりということは行っていない。Dynamoの中で完結するプログラムだ。
Dynamoで作られたプログラム
プログラムの構造を簡単に解説しておこう。
(1)最初にCSVファイルから座標を読み込んで外周の境界線を作成する。
(2)0から8の境界線の節点番号から一つを選んで三つの点を入力、三角形を作成する。
(3)できあがった三角形をサーフェスという面にして面積を出力する。
(4)同じ三角形を3Dのソリッドにして、重心位置を算出、重心から原点までの距離を出力する。
(5)次にこのプログラムを使ってみよう。(2)で入力した点番号を変えて図形と出力値がどう変わるかを見る。0-4-2と入力すると面積が27.7、原点-重心の距離が0.857と変わった。スライダーを動かすと図形と出力数値が瞬時に変わる。
(6)7-4-1と入力すると面積は41.8と大きいが、原点-重心の距離が2.27と離れてしまった。直感的には正三角形に近く、これがいいかもしれない。
4.Dynamoをジェネレーティブデザイン用に書き出し
できあがったDynamoプログラムをジェネレーティブデザインが使えるように書き出す。いったん書き出しておけばこのプログラムを幾つかの方法で計算することができる。書き出しさえしてしまえばDynamoのウィンドウを閉じて、Revitのアイコンからジェネレーティブデザインを実行することができる。
Dynamoから「ジェネレーティブ デザイン用に書き出し」