ライノセラスやグラスホッパーを使用していると、ルーバーを作成したい場面があると思います。
しかし、自由な形の曲面やサーフェスにルーバーを作る方法が分からないという人も多いと思います。
そこで今回は簡単にgrasshopperでルーバーを作る方法を紹介します。

全体のコンポーネントはこのようになります。
今回のGrasshopperとライノセラスのデータは下のリンクからダウンロードできるので是非活用してください。
今回のGrasshopperとライノセラスのデータダウンロードはこちら
ダウンロードできるデータのご利用に関しては、利用規約をご覧ください。
それでは順番に解説していきます。
動画で見る
ライノセラス上での下準備
サーフェスの作成

今回は自由に変形できるようにサーフェスを作成しますが、すでにある人はグラスホッパーの作業までスキップしても大丈夫です。
まずはライノセラス上でシンプルなサーフェスを用意しましょう。
作業点の可視化

次にサーフェスを選択してRebuildコマンドを使用します。
このコマンドは、サーフェスの作業点の数を指定することができます。
後ほどその点を操作することで自由なサーフェスの形を決めることができます。

するとこのような設定画面が表示されます。
制御点数のU、Vの数を決めることで縦方向と横方向の点の数を決められます。
今回はデフォルトのままの4でいきます。
設定が良ければOKボタンを押してください。

次にPointsOnコマンドを使用します。
このコマンドで先程作成した作業点を表示し操作できる状態にします。

コマンド実行後は上の画像のように作業点が表示されています。
サーフェスを自由に変形

最後に作業点を自由に移動させて自分の作りたいサーフェスの形を作成してください。

サーフェスの形を決めたらPointsOffコマンドを使用して作業点を非表示にしてください。
これでグラスホッパーの前準備は完了です。
グラスホッパーの作業の後でもこのサーフェスの形態を変更してルーバーの形も変えることができます。
Grasshopperでの作業
サーフェスを点で分割し、点を線で繋ぐ

使用コンポーネント:① Surface ② Divide Surface ③ Interpolate

ここからはグラスホッパーでの作業を説明していきます。
まずはSurfaceコンポーネントに自分の使用したいサーフェスを格納してください。

次にDivide Surfaceを使用します。
これにより、サーフェスを点で分割することができます。
この点を線で結んで線を作ることで、1つ1つのルーバーの基礎ができます。

Interpolateでこのように曲線で点を結ぶことができます。
線上に平面を作成する

使用コンポーネント:④ Perp Frames

Perp Framesを使用することで線上に平面を作成することができます。
N端子に数値を入力することで平面の数を指定できます。
平面が多いほど最終的なルーバーはより滑らかになります。
今回は10個平面を作成します。
四角形を作り角度を調整する

使用コンポーネント:⑤ Polygon ⑥ Rotate ⑦ Division ⑧ MD Slider ⑨ Evaluate Surface ⑩ Multiplication ⑪ Negative ⑫ Move

先程作成した平面上に四角形を作成します。
Polygonを使用することで多角形を作成できます。
R端子にサイズ、Sに角数を数値で指定することができます。
四角形にするために今回は4を入力しています。

しかし、このままでは平面に対して四角形が45度ずれている状態です。
そのため修正する必要があります。

Rotateを使用してA端子に45を入力することで正しい位置に配置することができました。

この際にA端子を入力してDegreesを選択してください。
これにより数値が角度として認識されます。

上の画像のように、四角形の一辺がサーフェスに隣接するように移動させます。
Perp FramesのF端子をEvaluate Surfaceに接続し、MD Sliderをuv端子に繋げてください。
Evaluate Surfaceは平面の縦横の向きの情報を取得でき、MD Sliderは平面のどの位置を選択しているかを操作できます(今回は接続するだけで大丈夫です)。
今回はEvaluate Surfaceのu端子のベクトルを使用します。
そのベクトルの方向に4角形の1辺の半分の長さを移動させます。
PolygonのL端子からは4角形の4辺の合計の長さが出力されます。
そのためDivisionでその長さを四角形を作成するときに使った4で割ります。
さらにその数値を2で割ることで1辺の半分の距離が求められます。
そしてその数値をMultiplicationでベクトルと掛け算することで、そのベクトル方向に1辺の半分移動します。
繋げると逆方向に進んでしまったので、Negativeで数値をマイナスにして逆方向に進ませています。
Moveに接続することで四角形の位置の調整は終了です。

全ての四角形が正しく配置されていることがこのように確認できます。
四角形同士を繋いでルーバーを作成し、不適切なルーバーを除去する

使用コンポーネント:⑬ Loft ⑭ Cap Holes ⑮ Cull Index

最後にルーバーを完成させます。
Loftを使用することで四角形が繋がり、ルーバーが作成されます。
このままでは穴が開いている状態なので、Cap Holesを使用して穴を塞ぎます。

よりルーバーに見えるように、ルーバーの数を変更してみました。
初期に行ったDivide Surfaceの数値を多くすることでこのようにできます。
今回は数値を100にしました。

しかし、よく見ると最初と最後のルーバーの位置がおかしくなっています。
そのためこの2つのルーバーを除去します。

Cap Holesの右側の右クリックしてFlattenを選択してください。
そしてCull Indexを使用してi端子に0と-1(Negativeで-にしています)を入力してください。
Cull Indexはデータのリストから指定されたインデックス番号に該当するデータを削除できます。
最初と最後のルーバーを消すので、0と-1でそれらを消去できます。

このように消すことができました。

全体を確認しても全て修正できていることが分かります。
完成
最終的にこのようになりました。



まとめ
ライノセラスで作成したサーフェスからグラスホッパーでルーバーを作成する方法を解説しました。
サーフェスを変化させることでルーバーの形も変わるので様々な形態を検討してみてください。
今回は以上になります。
Comment