Rhino Inside Revit, Revit上でRhino/Grasshopperを走らす

最近Rhinoが6から7にバージョンアップされた。Rhino7に標準装備された評判(?)の「Rhino Inside Revit」を使ってみたので紹介する。

そもそもRhinoとは?動物の「サイ」と名付けられた「Rhinoceros 3D」(以下Rhino またはライノ)は、学生からプロまで世界中のデザイナーに愛用されている3D CADソフトである。特に曲面のデザインに優れている。さらにGrasshopperを始めとしてさまざまなプラグインが公開されており、コンピューテーショナルデザイン、パラメトリックデザインの世界共通のツール / 言語となっている。20年ほど前、アメリカ留学中の友人に、ロンドンAAスクール出身でFOAのデザインアーキテクトの一人だった優秀なキプロスの建築家がいた。彼は当時からRhinoを使っており、FOA時代には横浜大さん橋のコンペにデザインチームの一人として参加した。当時(さらに5年程遡るので25年ほど前)は、Rhinoも普及されておらず(日本ではほぼゼロであったろう)、FOAが発表した客船ターミナルの地形のようなサーフェスデザインはまさに衝撃であった。さて本題から脱線し過ぎないうちに、デモを始めよう。

Rhino Inside Revit

「Rhino Inside Revit」はRevitのプラグインである。Rhinoceros 3Dの公式サイトからダウンロードできる。https://www.rhino3d.com/inside/revit/beta/getting-started

ダウンロードするとRevitのアドインリボンにRhinoのお馴染みのサイのアイコンが追加される<図01>。インストールしてから最初にRevitを起動する際に、アドインを追加して良いか聞かれるので、もちろんOKする。(いったんOKすると次回の起動からは常にインストールされる。)またRevitのショートカットとしてRを「Rhino Inside Revit」に勝手に割り当てる。

<図01>Rhino Inside Revitアドイン

Rhino Inside Revitアドインを開けると、以下のようなリボンとなる<図02>。ここからRhinoに入る、Rhino Inside Revitというわけである。Rhino Inside Revitは、単独でRhinoを操作しているのではないので、Revit無しでRhino+Grasshopperを立ちあげてもGrasshopper(以下GH)のRevitのコンポーネントは使用できない※。

※Rhino Inside RevitのGHで作成したドキュメントを、Revitを介さず開くとRevitコンポーネントが読み込めないと警告が出る。警告は無視しドキュメントを開くことは出来るが、Revitコンポーネントは全て真っ白となり、GH単独でRevitコンポーネントは使用できない<図03>。

<図02>Rhino Inside Revitのリボン

<図03>Rhino Inside RevitのGHで作成したRevitコンポーネントはGH単独では機能しない。

それではRhino Inside Revitを開いてみよう。まずRhinoボタンを押してRhinoを立ち上げる<図04>。するとRhinoの画面がポップアップする。繰り返すが、これはRhinoではなくRevitの中のRhinoである。(まるで禅問答。。。)

つぎにGrasshopper(以下GH)ボタンからGHを立ち上げる<図05>。Rhinoを介さず直接GHだけ使用することもできる。これで準備完了。

<図04>Rhino Inside RevitのRhinoの画面(右)

<図05>Rhino Inside RevitのGHの画面(中央)

Grasshopperによるスパイラルタワーのデザイン

GHでシンプルなスパイラルタワーをデザインしてみよう。今やこの造形は世界中の都市で出現しているが、まさにRhino + Grasshopperの産物と言ってよい。GHの操作はネットや書籍でさまざまなチュートリアルや動画があるので、おさらい程度に。(筆者も思い出しながら。)

ステップ1, 楕円のフロア

まずXY平面(1階)に楕円フロアを生成し、それを最上階に移動する<図06>。Ellipse, Move, Unit Z

<図06>Ellipse, Move, Unit Z

ステップ2, 最上階回転

最上階の楕円を回転する<図07>。Rotate ※

※1階と最上階の2平面の場合、回転角度は60度くらいまでが限度、それ以上回すと次のステップでサーフェスが破綻する。さらに回転させたい時は中間階が必要。

<図07>Rotate

ステップ3, Loft

そして1階と回転した最上階の楕円をつなげる/スィープする。ここでRhinoのもっともポピュラーで強力なコマンドLoftの出番<図08>。このようにねじれた楕円のシームレスな押し出しサーフェスをインスタントに生成できるのである。このコマンドは世界中の建物のデザインを変えてしまった。

<図08>Loft

このロフトのモデルはRevitにも同期されている<図09>。つまりRevitの中で直接GHが使えるようになったということ!「Rhino Inside Revit」以前は、GHをRevitにプッシュさせるには特別なツールを必要としていた。ザハ事務所はそのスペシャルツールを駆使しているとのこと。

<図09>RevitとGHの同期

ステップ4, パネリング

ここから先はエンベロップの作成。まずはロフトサーフェスをUVグリッドに分割する<図10>。Isotrim(Sub Surface), Divide Domain 2

<図10>Sub Surface

さらにパネルを面(Face)、エッジ線(Edge)、頂点(Vertice)に分解する。Deconstruct Brep

ステップ4, 三角パネル

ここでは三角パネルを割り付ける。無数の四角のリストから、3点の頂点のセットを抽出するには、Cull(摘み取る)というコンポーネントCull Patternを使うと便利<図11>

<図11>Cull Pattern

パネルのパターンを確認するためにPoly Lineを使う。ポリラインはCloseすることを忘れずに(Closeしないとせっかく3点抽出しても三角形にならない)。Patternの端子に3つのBoolean Toogleボタンを接続し、ボタンのON、OFFで摘み取りのパターンを確認する。True, True, Trueだと4点のまま<図12>。True, True, Falseだと1点が摘み取られ3点が抽出される<図13>。

<図12>Cull Pattern : True, True, True

<図13>Cull Pattern : True, True, False

筆者も含めなんだか訳が分からないが、Boolean Toogleボタンを複数付け、ON-OFFを適当に組み合わると、パターンが切り替わるので実験するべし。

ステップ5, Revit Familyの読み込み

最後に割り付けるパネルは、RevitのAdaptive Component Family で作成する<図14>。マリオンの太さは後で調整できるようにパラメーターとして設定。これをプロジェクトの中にロードする。

※アダプティブファミリーの作成は最初は少々とっつき難いので、YouTubeにアップしました。↓

<図14>三角形のパネル、Adaptive Component Family(解説動画)

次にGHでこの三角形パネルファミリーを読み込む。Model Categories Picker, Element Type Picker でプロジェクトにロードしたAdaptive Componentを読み込むことができる<図15><図16>。ちなみにRevitを使用しているので、最後はRevitのファミリをロードしてこないと、Revitを使っている意味が無いのである。

<図15>Model Categories Picker

<図16>Element Type Picker

最後にAdd Component (Adaptive)に先にCullで抽出した3点セットのリストと接続すると、パネルが割付られる<図17>。パネル数が多くなると、割り付けられるまで少し時間がかかるが、じっと我慢。計算している間に下手に触るとフリーズのもと。

<図17>Add Component (Adaptive)

もちろんRevitのモデルも更新される!<図18>

<図18>GHのコードからRevitのファミリを呼び出す

最後に、先に設定した三角パネルのマリオンの太さのパラメーター(mullion width)をGHの中で調整できるようにする。Revitのタイププロパティで変更すれば同じことだが<図19>、せっかくここまでGHで生成したので100%GHのスクリプトで実行しようということである。

<図19>Revitのファミリパラメーターの設定画面

Set Element Parameter を使う<図20>これでマリオン太さをGHの中で調整できるようになった。GHの中でこのタワーの形状を決定するすべてのパラメーター「楕円平面の半径」「タワーの高さ」「パネリンググリッドの数(UV)」「回転角度」「マリオンの太さ」を設定調整し、直接Revitに反映できるようになっている。パネリングの計算は高負荷なので、筆者のパソコンのような「普通の」スペックのPCの場合は、いったんAdd Component (Adaptive)Disableにしてから、ポリラインで成果を確認・検討するのが良い。繰り返すが、計算中はむやみにキーボードやマウスをいじらない。我慢しない筆者は何度フリーズしたことか。。「Revit上でRhino/Grasshopperを走らす」と銘打ったが、結局「走る」じゃなくて「歩く」って感じでした。そんなことに気をつけながら、RevitでGrasshoppingしてみてください!

<図20>Set Element Parameter

追記:上の楕円のスパイラルタワーをRevitで作成するとこうなります。↓

2021.03.13 HN