【集中講座】Grasshopper: Rhinoデータの読み込みと埋め込み(Internalise)について

Grasshopper内で形状データを扱う時、Rhinoで作成したデータを参照することができます。
その場合、Rhinoの形状データを参照しているので、Rhino上で制御点を修正することなどで直感的に修正することもできます。

下記は、Rhinoで作成したポリカーブを読み込み、[Extrude]コンポーネントで押し出した例です。
曲線の制御点を修正しつつ、押し出す量を変更するなどのパラメトリックな修正が可能です。

Rhinoのデータを直接参照するコンポーネントは、Rhino6 SR24 (2020/04/10)時点で下記の6つのコンポーネントがあげられます。
またRhinoデータを参照するコンポーネントは、基本的にはParams>Geometryの中にあります。
 

 [Point]は点、[Curve]は曲線全般、[Mesh]はメッシュ、[Surface]はサーフェス、[Brep]はポリサーフェス、[Geometry]は形状全般を読み込むときに使用します。


〇Rhinoの形状データを参照する方法
1.使用するコンポーネントの上で右クリックして、一つのデータを読み込みたいのであればSet One ~、複数のデータを読み込みたいのであれば Set Multiple ~ を実行します。
2.Grasshopperのウィンドウが一時的に非表示状態になり、Rhinoビュー上で一つであれば形状をクリック、複数であれば形状を複数選択後、Enterキーで決定します。

下図は、曲線を読み込んでいる例。曲線なのでSet One Curveコマンドを実行後、曲線を選択しています。
 


〇参照している状態とは
Set ~コマンドで、Rhinoの形状データを参照した際、内部的にはオブジェクトのIDを保存していることになります。
参照しているIDは、コンポーネントの上で右クリック>Manage ~ Collection から確認できます。
コンポーネントのタイプにより、表記は一部異なります。

Rhinoではジオメトリを選択後、プロパティパネル>詳細 からそのジオメトリのIDが確認できます。
またIDは任意に割り振られるものなので、特定のIDに変更することはできません。


〇データの埋め込み(Internalise)について
参照ジオメトリは内部的にはIDを指定して、リンクします。
そのため、

・ジオメトリデータを削除した
・ghデータはあるが、3dmファイルをなくしてしまった
・ポリサーフェスを[Explode]コマンドで分解した

など該当するIDのジオメトリデータが見つからなくなった場合、
コンポーネントは参照が足りていないオレンジ色の表示になります。

そういった状況を避けるため、あらかじめRhinoのデータをGHファイルに埋め込む(Internalise)ことができます。
手順としては、データを埋め込みたいコンポーネントの上で、右クリック>Internalise Data を実行します。

下図は、曲線をInternaliseした例です。Internalise後はデータが埋め込まれたため、参照IDがnone(なし)になっています。
 

Internaliseのメリットとして

・データの消失やオペレーション上のミス・削除などを防げる
・3dmファイルなしで、ghファイルのみでデータのやりとりができる

がありますが、デメリットとして

・GHファイルにデータを埋め込むので、ghファイルサイズが少し大きくなる
・参照のリンクを切るので、元のジオメトリを修正してもGrasshopperには反映されなくなる

などがあります。
Internaliseしたデータを、再度参照している状態にしたいときは、Set ~ で同じジオメトリを再び参照しなおしてください
(データを削除している場合は、Bake後に参照し直してください)。


[補足1] Set ~ コマンドは実行中にModeオプションから読み込むデータを、参照かInternaliseした状態で読み込むかを切り替えることが可能です。
一般に、ModeがReferenceだと参照、CopyだとInternaliseした状態で読み込みます。

また[Point]のみ、CoordinateがInternaliseした状態、Pointが点を参照、Curveは曲線上の位置を参照して読み込みます。


[補足2] Params>Geometry内の[Line]、[Circle]、[Rectangle]、また[Box]、[Vector]や[Plane]なども、同様に Set ~ コマンドがあります。ですが、これらのコンポーネント群は仕様上、Internaliseした状態でしかデータを取り込むことができません。

そのため、直線や円、矩形曲線などを参照して取り込みたいときは[Curve]を、直方体(Box)を取り込みたいときはポリサーフェスに該当する[Brep]を使用してください。

 一般的なGrasshopperの使用では、曲線全般は[Curve]を、一枚のサーフェスは[Surface]を、ポリサーフェスなら[Brep]を使うと良いかと思われます。
 

~2020 スキルアップ集中講座TOP~