Grasshopper: 複数のコンポーネントをまとめるClusterとUser Objectについて

Grasshopperでアルゴリズムが複雑になってしまった時は、「Cluster」という機能で収納箱の様に複数のコンポーネントをまとめて管理することができます。また「Create User Object機能」を使うことで、頻繁に使うClusterを画面上部のコンポーネントパネルに登録しておき、後から読み込んで使うこともできます。

Clusterでまとめる前

Clusterでまとめた例

User Objectを登録した例

注意:Cluster化したものはRhino5ではUndo以外では戻すことが出来ません。
Rhino6以降は、Clusterを右クリック>Explode Clusterを実行することで、Clusterを解除できます。

またClusterはインスタンスの様な形でコピーされ、コピーする前のClusterと中身が同期されます。そのため、Clusterの内部を一か所修正するだけで、コピーしたすべてのClusterの中身を修正するといったこともできます。

下記動画で、ClusterとCreate User Object機能の説明がご覧いただけます。右下の右から4番目の字幕ボタン(CC)を押すことで、より詳細な説明が表示されます。

動画と内容が重複しますが、下記補足になります。


1.コンポーネントをCluster化する方法
Cluster化したいコンポーネントを選択して、キャンバスで 右クリック>Cluster を実行します。


2.Cluster化する時の注意点
一つの端子を複数の入力に繋いだ状態でCluster化すると、不必要に端子が増えることがあります。
その際は下記画像を参考に、接続をまとめてからCluster化してください(Params>GeometryのCurve、Surface、BrepなどやParams>PrimitiveのIntegerやNumberなどのコンポーネントに一度データを格納すること)。またその際、名前を付けておくことでClusterの入力端子名に反映されます。

 

接続をまとめていない例 接続をまとめた例

 

接続をまとめずにCluster化した結果 接続ををまとめてからCluster化した結果

3.既に設定したClusterに端子を追加する方法
Clusterをダブルクリックし、Clusterの中に入ります。入力端子を追加する場合は Params>Cluster Input を、出力端子ならParams>Cluster Output を繋ぎ、”Save&Close”を押してClusterを閉じます。

Cluster Input とCluster Output を繋いでいる図
   


4.Clusterのインスタンスコピーと同期の切り方
またClusterはインスタンスの様な形でコピーされ、コピーする前のClusterと中身が同期されます。そのため、Clusterの内部を一か所修正するだけで、コピーしたすべてのClusterの中身を修正することができます。

同期を切りたい場合は、Clusterの上で 右クリック>Disentangle を実行します。Disentangle後の()内の数字は、コピーされている数を表しています。(1)なら1つコピーされているということです。Disentangleを実行し同期されていないClusterは、Disentangleの表示がグレーがかった状態になります。


5.UserObjectへの登録の方法
登録したいClusterを選択し、 File>Create User Object を実行します。
Name(検索する際に使う名称)やNickname(Clusterの黒帯に表示される名前)、Description(カーソルを合わせたときに出る表示)、登録したいCategory(パネルのタブ名)とSub-Category(黒いバーの名前)を決めて”OK”ボタンを押します。

   

 

検索時に使用されるName Clusterの表示名Nickname

またムービー内に記述はありませんが、Clusterは 右クリック>Assign Password… でCluster内を編集されない様にロックをかけることもできます。


6.User Objectの保存するフォルダ
登録されたUser Objectは下記のフォルダにghuser形式で保存されます( File>Special Folders>User Object Folder で開くことができます)。
C:\Users\ユーザー名\AppData\Roaming\Grasshopper\UserObjects (ユーザー名は任意の名前)
PC等の環境を移設したい時や、複数のPCを同じ環境で使いたい場合は、上記フォルダのghuserデータをコピーすることで新しいPCにUser Objectを追加することができます。