Grasshopperでチェーン構造のバッグをつくる【その3】

この Grasshopperでチェーン構造のバッグをつくる シリーズも中盤です。

Grasshopperでチェーン構造のバッグをつくる【その3】

この Grasshopperでチェーン構造のバッグをつくる シリーズも中盤です。

だと思います。。 前回メッシュを Brep に変換出来たので、今回は、三角ピースをチェーンで繋げるためのジョイント部分をつくっていきます。

まず、最初の方に作成した Mesh Exprodeコンポーネント のところまで戻ります。 このコンポーネントで、ベースとなるメッシュを分解しました。 一つ一つの三角メッシュが格納されている状態です。

次に、 Sets>>List>>List Itemコンポーネント を選択します。

↓図のように接続します。 すると、一つの三角メッシュが現れました。 これは、 List Itemコンポーネントi(Index) にデフォルトで 0 が入力されているため、0項目のメッシュが抽出されたということです。

次に、 weaverbird’s Face Polylineコンポーネント を選択します。

↓図のように接続します。 これで、一つの三角メッシュのアウトラインが取れました。

次に、 Curve>>Util>>Explodeコンポーネント を選択し、三角形のアウトラインを3本の線に分解します。

次に、 List Itemコンポーネント を3つ複製し、右クリックして、それぞれの i(Index)012 を入力します。

3本の線を1本づつ識別させるためです。

ここから、この3本の線を利用してジョイント等を配置する平面を作っていきます。 ↓図に描くとこんな感じです。

面ABCに平行で、それぞれの線分に対してY軸が垂直に交わる平面を、各線分の中点に配置していきます。 そして、作成した各平面にBrepを置いてブール演算で削ったり、ひっつけたりするといった感じです。

まず、 Curve>>Analysis>>Polygon Centerコンポーネント を選択します。

このコンポーネントは、ポリラインの中点を抽出します。

次に、先ほど三角形の各線を識別させるために作った List Itemコンポーネント 3つを複製し、 Polygon Centerコンポーネント に接続します。 これで、各中点も識別できるようになりました。

次に、 Vector>>Plane>>Construct Planeコンポーネント を選択します。 このコンポーネントは、原点と XY 軸から平面を出力します。

図で描いたように、三角形の面と平行した平面が欲しいので、原点を各線の中点として、任意の2辺を Construct PlaneコンポーネントXY に割り当てます。 (三角形は任意の2辺がわかれば面が出せるので) ↓図のように接続すると、原点が中点で、線分に対してy軸が垂直に交わる平面が出来ました。

↓図のように接続して、すべての辺に対して平面を出力します。

次に、 Transform>>Euclidean>>Orientコンポーネント を選択します。

このコンポーネントは、 A のソースとなる平面(デフォルトではワールド平面)にある G のオブジェクトを B のターゲット平面に配置します。 ↓図のように接続します。 これで、ターゲットが先ほど作成した各平面になります。 A のソースとなる平面は、デフォルトのままでワールド平面にします。

ちょっとテストしてみます。 ワールド平面の原点に図のような立方体を作成してみました。

BrepコンポーネントOrientコンポーネントG に接続し、右クリックから Set one Brep を選びます。 先ほど作成した立方体を選択します。

↓問題なく配置されました。

とりあえず一つ出来たので、これをすべての三角メッシュに反映していきます。 最初の方に作った List Itemコンポーネント まで戻ります。

この List Itemコンポーネント は、 i(Index) がデフォルトの 0 のまま使用していたので、出力された三角形が一つでした。 List Itemコンポーネント を右クリックして、 Set Multiple Integers を選びます。 複数の数値を入力できるウィンドウが現れるので、こちらに数値を入力していきます。

PanelコンポーネントMesh Exprodeコンポーネント を調べてみると、0〜172項目、合計173個の三角メッシュがありました。

先ほどの Set Multiple Integers0〜172 まで入力します。 (Excelとかで連番作ってペーストすると楽です)

↓こんな感じなりました。

↓立方体を配置するとこんな感じです。

↓とりあえず Bake してみました。

ベースになる平面が出来たので、これを使って三角ピースのフチを切り取ったり、穴を作ったりなど色々出来るようになりました。 次回は、実際にジョイントパーツを作っていこうと思います。

Blog一覧へ戻る