REVITのRhino.insideが最強の建築ツールなのか?

とうとうRhino.insideなるものがライノ7から標準搭載されるらしいなんて噂を聞きつけ早速触ってみようと思っているのです。

結構前からWIP(work in progress)版が出てたらしいですけど私は全く触ってませんでした。

 

世界ではBIMが主流になり、どうもREVITが強いように感じているわけですが、、、(賛否両論あるとは思いますけど)

RHINOがBIMの中で使えるようになったことでその流れが加速するのでは?

 

と思っているのは私だけでしょうか。

 

RHINOからREVIT、REVITからRHINOの互換性ができたことで、クレイジーな形を簡単に図面化し、管理できるようになったのではないか。

 

RHINO.INSIDEで具体的に何ができるようになったのか実際に触りつつ、考えていきたいと思っています。

REVITのRhino.InsideでRHINOCEROSとGrasshopperが動く!

難しい話は置いておいて、簡単に言うとREVITの中でライノセラスとグラスホッパーが動くらしい!ということですね。

 

パラメーターを使って動的にレビットがいじれるのか?じゃぁDynamoってどうなるの?とか色々疑問に思ったりする訳です。

 

とりあえずメリットは何かというとそれはもちろん自由な形がREVIT内で直接作れるんじゃないか?ということですね。

レビットって結構堅いイメージがあるんですね、縦横縛りがきついというか、曲面とか苦手そうなイメージがあります。

 

例えば、ダイナモでアダプティブコンポーネントを作って曲面に取りつくパネルを作成するとします。

そうすると、何故か方立と無目がxyz方向にしか引き延ばせなくて、パネルに対して法線方向にExtrudeできなかったりとか起こってたんですね。

 

当時REVIT2015の頃の話なのでとっくの昔に解決していることなのかもしれませんが、そういうのが、ライノの機能でいろいろ解決するんじゃ?

という期待を持ってしまいますね。

 

ダイナモって結構ピッキーな(繊細な?)プラグインだと私は勝手に思っていて、カーブの種類も色々あって別々にハンドリングしないといけないとか、縛りが多いなって思っていたのですが、GHが入ったら全部カーブでOKになって一気に解決するんじゃないか?なんて思ってしまいます。

 

とりあえず試してみないことには推測だけで何も進まないので、触ってみます!

Rhino.InsideをREVITに入れるための前提から立ち上げまで

ここのリンクから、ダウンロードできます!

とはいえ、まずライノWIPとREVIT2017~2020が必要と書いてあります。

 

そのプラットフォームを準備するだけで結構ハードル高いなって思いました。

要するにライノ6のライセンスを購入していて、かつ、REVITのサブスクリプションもあるという状況ですね。

 

ある程度デカいプロジェクトじゃないとお金が浮かないから使えないじゃないか、、、と思ったりしてしまいます。

 

さて、リンクからダウンロードしてきたファイルを開いて、インストールします。

 

インストールが終わって、REVITを立ち上げても一見何も変わってないように見えます。

 

建築テンプレートで新規プロジェクトを開きます。

 

REVITを立ち上げた時に上のバーのアドインにライノマークが追加されています。

 

このアイコンをクリックするとライノが使えそうなバーが出てきます。

さらに、ライノのアイコンをクリックするとライノが立ち上がりました!そして、コマンドラインにGrasshopperとタイプするとグラスホッパーも問題なく立ち上がります。

 

それでは、これからどのようにRhinocerosとGrasshopper、REVITが連携するのか実験していきたいと思います。

REVITとRhino.Insideを連携してみる

REVITとRHINOCEROSとGrasshopperが立ち上がったところですが。

で?次は??? ってなりますね。

特に変わったところはというと、Grasshopper側にRevit Primitivesのコンポーネントが追加されているのがまず一つ。

 

それから、REVITツールバーが増えています。

ライノ6で使っているコンポーネントはそのまま継承されているようです。

 

どうやらこのグラスホッパーコンポーネントを使って連携をするようですね。

ということはグラスホッパーが使えることが前提として要求されているみたいです

 

ボックスを例えばライノ側に描きます。

 

レビット側にはこれだけでは何も表示されないようです。

REVITにジオメトリを渡してあげるためにはDirectShapeというコンポーネントを使うのが手っ取り早そうです。

 

DirectShapeの挙動の考察

グラスホッパーでDirectShapeにBrepを繋いでみます。

ライノのボックスがレビット側に描画されました。

 

オブジェクトはピンされた状態で、一般モデルとして読み込まれているようです。

一度ピンを外して一般モデルのボックスを消してみます。

 

プレビュー状態は残りますが、REVITのオブジェクトは消すことができました。

 

プレビューはこの三つのアイコンで非表示、ワイヤフレーム、描画と切り替えられるようです。

 

一方でレビットのモデルを消してもライノ側のオブジェクトには影響はありませんでした。

もう一度レビットにボックスを渡してあげるにはどうすれば良いでしょうか。

 

グラスホッパーのノードを一度外して、もう一度つなぎ直してみます。

すると、再びボックスが現れました。

どうやら、ノードを繋ぐ瞬間にトリガーが発生し、オブジェクトをREVITに渡しているようです。

それでは、ボックスを消さずに、つなぎ直したらボックスは2つになるのでしょうか?

実験してみると、これは2つにはなりませんでした。

ノードを繋ぐとオブジェクトがなくなっている場合、再生成がされるだけで、コピーが作成されるわけではないようです。

 

それでは、ボックスをグラスホッパー側で移動してみましょう。

すると、プレビューが移動したのがREVIT側で確認できます。

これはあくまでもプレビューなのでレビット側にはまだオブジェクトは生成されていません。

 

MoveコンポーネントをDirectShapeに繋いで初めてオブジェクトが生成されます。

要するにDirectShapeとはライノにおけるダブらないベイクコンポーネントに近いのでしょうか?

今度はライノで元のBREPであるボックスを水平移動してみます。

するとなんということでしょうか、REVIT側のボックスはライノ側のMOVEコマンドに追従して自動的に移動します。

ということはDirectShapeとはベイクでなく、常に最新のRH+GH側の情報をアップデートしてくれるコンポーネントのようです。

それでは、REVIT側のボックスを移動したらどうなるのでしょうか。

予想では移動したボックスはコピーされ、元の場所に新たなボックスが作成されるのでは?と考えるのが妥当でしょうか。

実験結果は、「REVIT側で移動したボックスは再生成されない。そして移動した先のボックスがライノ側にプレビュー表示される」でした。

ずいぶんと予想と異なる動きをしていますね。

ということは、DirectShapeでは生成したオブジェクトのID情報のようなものでREVIT側に作成したモデルを把握しているということになりそうです。

さらに、MOVEコマンドでライノの元モデルを動かしてみましょう。

 

すると、「先ほどREVIT側で移動したボックスはもはやライノの動きに追従しない。一度作成されたオブジェクトは再生成されない」という結果になりました。

ということはDirectShapeは「常にアップデートされた状況を描画するが、既に描画されたオブジェクトがシーン内に存在している場合それを上書きしない」ということになりそうです。

けっこうややこしいですね。

REVIT側で移動したボックスを単純にコピーしたらどうなるでしょうか?

 

ライノには特に影響はないようです。よって、DirectShapeによって作られたBOXだけが特別であるということになりそうです。

REVIT Primitives: Graphical Elementの挙動の考察

では先ほどコピーしたレビット側のボックスをライノ側に表示したい場合どうすれば良いでしょうか。

REVIT側のオブジェクトを拾うには、ツールバーのParamsの右側にある先ほどのRevit Primitivesコンポーネントを使うことになりそうです。

Revit PrimitivesのGraphical Elementを選択し、コンポーネントを配置したら、右クリックし、Set one Graphical Elementを選択し、REVIT側のボックスを選択します。

これでREVIT側のジオメトリをGHに読み込み、ライノ側に表示させることができました。

 

その他にもいろいろな要素を読み込めそうな雰囲気がします。

それではボックスをREVIT側で移動してみましょう。

当然GHの方でも移動されるはずと思うところですが、、、

 

REVIT側で元ジオメトリを移動してしまうと、リンクが切れてしまうようです。

これは要注意ですね。

一度レビット側のプリミティブ設定をGHで行っても、「REVITの変更にライノ+GHは追従しない」ということになります。

これは本当に正しいでしょうか。違う要素を使ってもう一度実験してみましょう。

今度は壁を使ってみます。

 

REVITの要素を拾ってライノに表示させることはできますね。

では、壁を編集したらどうなるでしょうか。

 

一瞬リンクが切れてしまったように見えますが、、、、

ノードを繋ぎ直すと復活します。

 

であれば、先ほどのGraphical Elementも同様なのでは?という発想に行きつき、もう一度、実験してみると、、

REVIT側のモデルに変更があっても、一時的にリンクが切れたように見えますが、つなぎ直すとリンクは機能しているということが確認できました。

 

よってRevit PrimitivesはREVIT側の変更に追従するが、一時的にリンクが外れたように見える場合があるということが分かりました。

 

RHINOモデルをRhino.Insideを使ってREVITに流し込んでみる

 

これから基本的な事からいろいろな検証をしていきたいと考えていますが、基本をすっ飛ばして気になるのは既存のライノモデルはREVITで断面は切れるのか?ということです。

とりあえず手ごろなモデルを突っ込んでみてどうなるか検証してみましょう。

Rhino.Insideでファイルを開きます。

このモデルは曲線とポリサーフェスとサーフェスとメッシュでできているということが分かります。

これを全部REVITに渡すことができるのでしょうか。

まずは、ジオメトリの種類ごとに分けてGHで拾います。

すると?すでにプレビューがREVIT側にでてきているようですね。

 

 

そして、DirectShapeに全てのコンポーネントをそれぞれつなぎます。

 

平面図の生成

するとなんと、ビューの設定を設計GLにしてみると、全てのジオメトリが描画されたことが確認できます。

 

次に立面図を確認してみます。

 

立面図の生成

 

立面図をREVITのビューで確認してみると、下のようになりました。サーフェスがバキバキになっていますが、力技で図面化できそうです。

これは期待できそうですね。

続いて断面図を出してみます。

 

断面図の生成

 

表示>断面より断面線を追加し、ビューで確認してみます。

 

これは、使えますね。

ライノで適当に作った形もREVITで図面化できてしまいそうです。

おわりに

まだあるコンポーネントの数パーセントしか触っていませんが、少なくともライノとレビットのキャッチボールは成立しているということが分かります。

もっと基本的な検証や、スピードの問題、カーブのハンドリング等、色々検証したいポイントはありますが、今のところかなり期待できそうです。

 

今後、動的にアルゴリズムを使ったファミリを作成したりということが出来たらRhinoceros,Grasshopper,REVITの連係プレーにより物凄いことができるのではないかと思います。

久しぶりにレビットを触るので、レビットの機能も思い出しつつ、RHINOとREVITの新しいワークフローを探っていきます。

 

ライノの自由度と、REVITの図面化管理能力を遣えば、最強の建築ツールになりえる可能性は十分にあり得るのではないかと思います。

 

今後もまだ使っていないコンポーネントを触りつつ、この記事をアップデートしてできたらいいなと思っているところです。

今後ともどうぞよろしくお願いいたします。

 

おすすめの記事