Kangarooでシェルの作成

こんにちは。
AMDLabの藤井です。

今回はGrasshopperの物理演算が行えるプラグインであるKangarooでシェル形状を作ってみましょう。
KangarooにはKangaroo1とKangaroo2があり、Kangaroo2が新しく、1には無いコンポーネントが追加されている上、
使い方も若干異なりますが、結果はほぼ同じなので、どちらを使っても構いません。

今回はKangaroo1の方で説明します。
後でなぜ1を選んだかも説明します。

それでは早速作っていきましょう。
目標はこんなイメージです。

GHのキャンバスがこんな感じです。

1.「Mesh Plane」で基本となるメッシュ平面を作成します。
2.メッシュのエッジを取得するためにWeaverbirdというプラグインを使用しています。
Grasshopperオリジナルの「MeshEdges」でもできますが、Weaverbirdを使うと出力がシンプルで扱いやすいです。
Downloadする際はこちらからどうぞ。
「Weaverbird’s Mesh Edges」でメッシュの外枠を取得します。
3.Kangarooの「SpringsFromLine」でメッシュ外枠の線をバネにします。
4.「DeconstructMesh」でメッシュを分解し、各節点を取得します。
5.「UnaryForce」で各節点に荷重を追加します。今はZ方向に追加しています。
6.「MeshCorners」でメッシュの角点を取得します。支点がないと浮き上がってしまうので角点を支点に設定するためです。
7.「Merge」を使用して、スプリングと荷重のデータを一つにします。一つ一つShiftを押しながら次の入力に接続しても良いのですが、
次に編集するときなどに、接続の順番が分からなくなってしまうため、複数データを入力する際は、「Merge」を使用するのがベターです。
8.最後は「KangarooPhsics」で演算します。「Timer」を接続して、計算の時間間隔の設定をします。最終結果が欲しいので、時間間隔は最も短い20msに設定しておきます。あとは「Button」でOn・Offのスイッチを作れば完成です。

Kangaroo2の計算コンポーネントは以下のようでして、モデルの入力がGaolObjectsにまとめられており、支点の入力も同じのため、支点が固定されていない状態になります。バネ支持のようになっているので、固定度を上げてやる必要があります。

一方Kangaroo1の方は、支点入力が別にあるため、悩むことなく支点を入力するのみで良いので、今回は1を選択しました。

Kangaroo2には、StepSolverやGrab等1には無かった機能が追加されているため、使用目的に応じて使い分けるのが良いと思います。

今回はこの辺で。

ARTICLES