【集中講座】RhinoとRevitの連携:Rhino.Inside.Revitとは

  • 主にAutodeskRevit®とRhinoのユーザー、あるいはこれから使用を検討されている方向けの記事です
  • Rhino7から導入されたRhino.Insideと呼ばれる仕組みを使い、
  • RevitとRhinoを連携し、Revit内でRhino・Grasshopperの機能を利用することができます
  • 管理や共有作業に長けたRevitのBIMの特徴と
  • Rhino・Grasshopperのコンピュテーショナルデザインの特徴を合わせた使い方が可能です
  • ここではRhino.Insideの概要とRhino.Inside.Revitの始め方について解説します

➀ Rhino.Insideとは

Rhino.Insideとは、Rhinocerosの開発元であるRobert McNeel & Associatesによって開発された、Rhino7の機能を他のアプリケーション内で使用できるようにした技術のことです。
Rhino.Insideは、AutodeskRevit®だけでなく、さまざまな分野のアプリケーションに組み込むことができます。

Rhino.Inside.Revitは、Rhino.Insideの中でも最も力を入れて取り組まれているプロジェクトのひとつです。
他のRevitアドオン同様に、Revitの環境内で、Rhino7とGrasshopperの機能を使用することができるようになります。

② インストール

Rhino.Inside.Revitを使用するためには以下の3点が必要です。

  • Revit 2018-2024
  • Rhino7またはRhino8
  • Inside.Revit

Revitのインストール方法については、開発元のAutodesk社のサイト等をご参照ください。

※Rhino.Inside.Revitは現在(2021/07/07時点)ベータ版です。ご購入検討の方は事前に評価版での動作確認をお奨めします。

RevitとRhino7またはRhino8が使えるようになったら、以下のリンクよりRhino.Inside.Revitをダウンロードし、インストールします。
Rhino.Inside.Revitダウンロード

インストーラを実行すると、以下のような画面が出るので同意して「Install」をクリックします。

以下のような画面が出て「Finish」をクリックするとインストール完了です。

③ Rhino.Inside.Revitの起動

AutodeskRevit®を起動すると、Rhino.Inside.Revitの読み込みを確認するように求められます。今後このダイアログをスキップするには、必ず[常にロード]を押してください。

ロードが完了し、ファイルを開くと、[アドイン]タブの下に新しくRhinocerosパネルが表示されることを確認します。

Rhinoボタンをクリックすると、Rhino.Inside.Revitがロードされます。このときアドオンは、Revitのメモリ内にRhino7をロードし、Rhino7のライセンス認証を確認します。ロードプロセスが完了すると、新しくRhinocerosツールバーがRevitに表示されます。

同時に、Rhinoを起動するためのキーボートショートカットが割り当てられますが、このショートカットは変更可能です。

新しいツールバーには、以下にアクセスできるボタンが含まれます。

  • Rhino7本体
  • Python IDE(Revit APIにアクセス可能)
  • Grasshopper(Revit専用コンポーネントを含む)

Rhinocerosタブのボタンの詳細については、Rhino.Inside.Revit Interfaceを参照ください。

④ Grasshopper inside Revit

Rhino.Inside.Revitの最も重要な機能の1つはGrasshopperと言えるでしょう。Revit内のRhinocerosタブのGrasshopperボタンをクリックするとGrasshopperのウィンドウが開きます。ここで開いたGrasshopperには多くのRevit対応コンポーネントが含まれます。

Paramsタブにも、Revit Primitivesパネルが追加されます。

Revit対応コンポーネントのアイコンの色やバッジは、コンポーネントにより実行されるアクションを識別するのに役立ちます。
Revit対応コンポーネントの詳細については、Basic Interactions Guideをご覧ください。

⑤ GrasshopperとRevitを連携してみる

実際にGrasshopperで簡単なアルゴリズムを作成し、Revitと連携させてみましょう。

Step1  Revitジオメトリの抽出

Grasshopperで簡単な定義を作成して、Revit要素のジオメトリを抽出します。
まず、Revitでシンプルな壁を用意します。

Grasshopperの Params > Revit Primitives パネルから [Graphical Element] コンポーネントを選択し、キャンバス上に配置します。

次に、コンポーネントを右クリックし、[Select One Revit Graphical Element] をクリックします。Revitウィンドウに切り替わり、Revit要素を選択するように求められますので作成した壁要素を選択します。

次に、Panelコンポーネントを配置し、[Graphical Element] の出力をその入力に接続します。このパラメータに、選択した壁要素が含まれていることがわかります。

Revitの壁要素から、ジオメトリ(形状)を取得します。 Revit > Element パネルから [Element Geometry] コンポーネントを配置します。

[Graphical Element] の出力を [Element Geometry] の入力に渡すと、入力した壁要素から壁のジオメトリが抽出されます。このとき、ジオメトリがRhinoのBrepに変換されるので、他のGrasshopperコンポーネントに渡してさらに処理することができます。

他のGrasshopperのジオメトリコンポーネントと同様に、出力ジオメトリはRevitビューポートとRhinoビューポートの両方でプレビューとして表示されます。RevitのRhinocerosタブのRhinoボタンからRhinoが起動できます。

Step2 Revit要素の作成

Step1では、GrasshopperのRevitコンポーネントを使用してRevitジオメトリをRhinoジオメトリに変換する例を見ました。Grasshopperには、他にも多くのRevit専用コンポーネントがあります。これらのコンポーネントを組み合わせることで、Revitドキュメント内に新しいオブジェクトを作成できます。

Rhinoを使って、Revitに単純な壁を作成しましょう。Revitで壁を作成するには、次のものが必要です。

  • 壁の基準となる線。開始点と終了点を定義します。
  • 壁のタイプ
  • 新しい壁を配置するレベル
  • 壁の高さ

Revit内のボタンからRhinoを開き、単純な線を作成します。

次に、Grasshopperを開き、Curveコンポーネントを追加します。コンポーネントを右クリックして、Rhinoで新しく作成された線をSetします。

Revit > Input パネルから、[Model Categories Picker] [ElementType Picker] [Levels Picker] コンポーネントを追加します。

壁の高さを設定するためのNumber Sliderを追加します。「Slider」の部分をダブルクリックするとスライダーの上限・下限などの条件が設定できます。

壁を作成するには、カーブからRevitの壁を作成できる専用のコンポーネントを使用します。
Revit > Build パネルから、 [Add Wall (Curve) ] コンポーネントを追加します。

コンポーネントが用意できたらそれらを整理し、以下のように接続します。

  • [Model Categories Picker] に表示されるカテゴリのリストから、 壁カテゴリを選択。
  • [Model Categories Picker] [ElementType Picker] に接続すると壁タイプのリストが選べるようになるので壁のタイプを選択します。
  • それぞれ画像を参考に必要なパラメータを設定し、[Add Wall (Curve) ] の端子に接続します。
  • 最後にSTEP1同様、 [Element Geometry] に渡します。

壁の作成に必要な情報が揃ったら、RevitのビューポートにGrasshopperの定義で作成された壁要素が反映されます。

同じ壁の形状がRhinoでも表示されます。

Step3 パラメータ調整

Grasshopperのようなビジュアルプログラミング環境の最も重要な特徴は、パラメータやアルゴリズムを調整することでモデルをインタラクティブに変化させることができることです。Rhino.Inside.Revitプロジェクトは、このインタラクティブ性をRevit環境にもたらし、設計者がより効率的に、新しいデザインを作成できるようにします。

上記の例から高さのスライダーをつかんで、少し前後に動かしてみましょう。

このようにGrasshopper上の設定がリアルタイムにRevitに反映されます。

コンポーネント組合せ次第で可能性は無限大です。是非、Rhino.Inside.Revitを活用して、RevitとRhino・Grasshopperのインタラクティブな設計にチャレンジしてみてください。

▼Revitサンプルからエッジを読み込みパラメトリックな屋根を作成した例

動画のGrasshopperサンプルはこちら
(Revitモデルはデフォルトのサンプルモデルを利用しています)

Rhino.Inside.Revit公式サイトのDiscoverページでもサンプルがいくつか公開されていますので、そちらも是非ご覧ください。