今回は、グラスホッパーで曲面に本棚を作成する方法を解説します。

最終的に、上の画像のような本棚を作ることができるようになります。

レンダリングした様子です。
それでは、順番に解説していきます。
今回使用したグラスホッパーとライノセラスのデータダウンロードはこちら
ダウンロードできるデータのご利用に関しては、利用規約をご覧ください。
動画で見る
全体コンポーネント


全体コンポーネント:①Surface ②Negative ③Offset Surface ④Ruled Surface ⑤Brep Join ⑥Divide Surface ⑦Flip Matrix ⑧Interpolate ⑨MD Slider ⑩Evaluate Surface ⑪Multiplication ⑫Extrude
裏側部分を作成する

最初は、本棚の裏側部分を作成していきます。

上の画像が、今回使用するライノセラス上のサーフェスです。

まず、Surfaceにライノセラス上のサーフェスを格納します。

その後、Surfaceを、Offset SurfaceのS端子につなげます。
そして、オフセットする数値を、Negativeにつなげます。
今回は、50を入力しています。
すると、-50の数値が作成されます。
そして、Negativeを、Offset SurfaceのD端子につなげます。
すると、上の画像のように、サーフェスが後ろ側へオフセットされました。

その後、SurfaceとOffset Surfaceを、Ruled SurfaceのAとB端子につなげます。
すると、2つのサーフェスをつなぐサーフェスが、新たに作成されました。

そして、SurfaceとOffset SurfaceとRuled Surfaceを、Brep Joinにつなげます。
すると、3つのサーフェスが結合されました。
これで、本棚の裏側部分は完成です。
表側の棚部分を作成する

次に、表側の棚部分を作成していきます。

Surfaceを、Offset SurfaceのS端子につなげます。
Offset SurfaceのD端子に、表側にオフセットする数値を入力します。
今回は、200を入力しています。
すると、表側にサーフェスがオフセットされました。

その後、SurfaceとOffset Surfaceを、それぞれDivide SurfaceのS端子につなげます。
そして、Divide SurfaceのUとV端子、分割数の数値を入力します。
今回は、どちらにも10を入力しています。
すると上の画像のように、2つのサーフェス上に、サーフェスを分割する位置に点が作成されます。

その後、Divide SurfaceのP端子を、Flip Matrixにそれぞれつなげます。
その後、Divide SurfaceのP端子とFlip Matrixを、それぞれInterpolateにつなげます。
すると、上の画像のように、棚の枠の曲線が作成されます。

その後上の画像のように、4つのInterpolateのC端子を、2つのRuled SurfaceのAとB端子につなげます。

すると、2つの前後の曲線をつなぎ、棚のサーフェスが作成されました。

その後、Ruled Surfaceを、それぞれEvaluate SurfaceのS端子につなげます。
その際に、Evaluate SurfaceのS端子を右クリックし、Reparameterizeを選択してください。
Reparameterizeに設定すると、サーフェスの情報を取得する地点を、0~1.0の数値で指定することができるようになります。

その後、MD Sliderを、Evaluate Surfaceのuv端子につなげます。
MD Sliderでは、uとv方向の2方向の位置を、0~1.0の数値で指定することができます。
初期の状態では、どちらも0.5なので、各サーフェスの中心部分の情報を取得できます。

その後、Evaluate SurfaceのN端子を、MultiplicationのA端子につなげます。
Evaluate SurfaceのN端子からは、各サーフェスの指定した位置の法線方向のベクトルデータが取得されます。
さらに、MultiplicationのB端子には、厚みの数値を入力します。
今回は、20を入力しています。
さらに、Ruled Surfaceを、ExtrudeのB端子につなげます。
そして、Multiplicationを、ExtrudeのD端子につなげます。
すると、棚の厚みができました。

裏側部分と合わせると、本棚の完成です。
今回は以上になります。
Comment