Grasshopperでアルゴリズムが複雑になってしまった時は、「Cluster」という機能で収納箱の様に複数のコンポーネントをまとめて管理することができます。また「Create User Object機能」を使うことで、頻繁に使うClusterを画面上部のコンポーネントパネルに登録しておき、後から読み込んで使うこともできます。
![](https://www.applicraft.com/cms/wp-content/uploads/2018/07/b3c5fb93a23eff938abee97973db7be1.png)
![](https://www.applicraft.com/cms/wp-content/uploads/2018/07/11ba494111f5db86ddc5390d01026392.png)
![](https://www.applicraft.com/cms/wp-content/uploads/2018/07/a10f6078b088d563b2fcdc95316a32c8.png)
注意: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の入力端子名に反映されます。
接続をまとめていない例
![](https://www.applicraft.com/cms/wp-content/uploads/2018/07/97a84e55bcdc88c462329a6e5a04f83e.png)
接続をまとめた例
![](https://www.applicraft.com/cms/wp-content/uploads/2018/07/f12be34bf4791b831035faf03871bf61.png)
接続をまとめずにCluster化した結果
![](https://www.applicraft.com/cms/wp-content/uploads/2018/07/ac26ec0658e5e759f616c84e1232a487.png)
接続ををまとめてからCluster化した結果
![](https://www.applicraft.com/cms/wp-content/uploads/2018/07/128e2906ce2cdf7751c5a2551d45475f.png)
3.既に設定したClusterに端子を追加する方法
Clusterをダブルクリックし、Clusterの中に入ります。入力端子を追加する場合は Params>Cluster Input を、出力端子ならParams>Cluster Output を繋ぎ、”Save&Close”を押してClusterを閉じます。
Cluster Input とCluster Output を繋いでいる図
![](https://www.applicraft.com/cms/wp-content/uploads/2018/07/6873fd7293664f2b9a9987ced2899e68.png)
![](https://www.applicraft.com/cms/wp-content/uploads/2018/07/3-Cluster-Input_Output.png)
4.Clusterのインスタンスコピーと同期の切り方
またClusterはインスタンスの様な形でコピーされ、コピーする前のClusterと中身が同期されます。そのため、Clusterの内部を一か所修正するだけで、コピーしたすべてのClusterの中身を修正することができます。
同期を切りたい場合は、Clusterの上で 右クリック>Disentangle を実行します。Disentangle後の()内の数字は、コピーされている数を表しています。(1)なら1つコピーされているということです。Disentangleを実行し同期されていないClusterは、Disentangleの表示がグレーがかった状態になります。
![](https://www.applicraft.com/cms/wp-content/uploads/2018/07/4-Disentangle-e1532047868461.png)
5.UserObjectへの登録の方法
登録したいClusterを選択し、 File>Create User Object を実行します。
Name(検索する際に使う名称)やNickname(Clusterの黒帯に表示される名前)、Description(カーソルを合わせたときに出る表示)、登録したいCategory(パネルのタブ名)とSub-Category(黒いバーの名前)を決めて”OK”ボタンを押します。
![](https://www.applicraft.com/cms/wp-content/uploads/2018/07/5-Create-User-Object.png)
![](https://www.applicraft.com/cms/wp-content/uploads/2018/07/5-Create-User-Object2.png)
検索時に使用されるName
![](https://www.applicraft.com/cms/wp-content/uploads/2018/07/5-Name.png)
Clusterの表示名Nickname
![](https://www.applicraft.com/cms/wp-content/uploads/2018/07/5-Nickname.png)
またムービー内に記述はありませんが、Clusterは 右クリック>Assign Password… でCluster内を編集されない様にロックをかけることもできます。
![](https://www.applicraft.com/cms/wp-content/uploads/2018/07/5-Assign-Password.png)
6.User Objectの保存先フォルダ
登録されたUser Objectは下記のフォルダにghuser形式で保存されます( File>Special Folders>User Object Folder で開くことができます)。
C:Usersユーザー名AppDataRoamingGrasshopperUserObjects (ユーザー名は任意の名前)
PC等の環境を移設したい時や、複数のPCを同じ環境で使いたい場合は、上記フォルダのghuserデータをコピーすることで新しいPCにUser Objectを追加することができます。
7.[逆引き]機能について
通常、gha形式で提供されるコンポーネントは、標準のもの・プラグインで追加したものを問わず、Ctrl+Alt 左クリックを長押しをすることで、 ツールバーのどこにあるかを確認することができる[逆引き]機能がありますが、Clusterで作成したコンポーネントについては、[逆引き]に対応しておりませんのでご了承ください。
![](https://www.applicraft.com/cms/wp-content/uploads/2018/07/a4dd3b876cdd30745f48894db052f93c.png)