グラスホッパーやライノセラスを使用していると、手摺を作成したい場面があると思います。
しかし、ライノセラスで毎回作ることや曲線に合わせた複雑な手摺は難しく、また作成に時間もかかります。
そこで今回は上の画像のように簡単にGrasshopperで手摺を作成する方法を解説します。
一度プログラムを作ればライノセラス上で1本線を引くだけで手摺を作成でき、非常に時間を節約できます。

このように縦線だけでなく、横線がある手摺も作れるようになります。

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

使用コンポーネント:① Curve ② Unit Z ③ Negative ④ Move ⑤ Pipe ⑥ Cap Holes

最初は上の画像のような横軸のフレームの作成方法について解説していきます。

まずはライノセラス上の線をCurveに格納してください。

次にMoveで上方向に移動しコピーします。
Unit Zを使用することで上方向であるZ軸方向に移動させることができます。
今回は1.1m移動させるので1100(ミリメートル)を入力しています。

次に先程作成した2つの線を内側に少しだけ移動させます。
移動させる距離は後ほど作成する円柱である持ち手の半径分である30移動させます。
これにより、最後の方に作成する縦格子が貫通することを防ぎます(現段階では分からなくても大丈夫です)。

拡大するとこのようになっています。
最初の線はMoveで上方向に30、2つ目の線は下方向に30移動させています。
Negativeを使用することで数値をマイナスにすることができます。
これにより30を-30にし、下方向に移動させています。

Pipeで線をパイプを作成し、横軸フレームを完成させます。
R端子に30を入力することで半径を指定できます。
現段階では作成されたパイプに穴が開いているのでCap Holesを使用することで穴を閉じます。
これで横軸のフレームは完成です。
縦軸

使用コンポーネント:⑦ Divide Curve ⑧ Line ⑨ List Item

次に上の画像のような縦軸のフレームを作成します。

先程作成した2つの線をそれぞれDivide Curveで分割します。
N端子に分割数を入力することができます。
この数値は後ほど作成する縦格子の数値になります。

次に作成された2つの点からLineを使用することで縦線を作成します。

そしてList Itemを使用することで最初と最後の線を抽出します。

List Itemを使用する前に、L端子を右クリックしてFlattenに設定してください。
これにより、格納されているデータを順番に選択できるようになります。
i端子に数値の0と-1を入力します。
マイナスの数値を作るために、1にNegativeを使用してマイナスにしています。
0と-1を入力すると線の最初と最後のみを抽出できます。

ここでもPipeで円柱パイプを作成し、Cap Holesで穴を塞ぎます。
これで手摺のフレームは完成です。
縦の格子を作成

使用コンポーネント:⑩ Cull Index

次に上の画像のような縦格子を作成します。

ここで線をまた分割します。
今回は横軸フレームで作成した内側に移動させた2つの線を分割することに注意してください。
N端子にその際使用した分割数の150を出力し分割します。

そしてもう一度Lineで縦線を作成します。

Cull Indexを使用することで縦軸フレームに重なっている縦線を削除します。
I端子に先ほど使用した0と-1を入力することで上の画像のように最初と最後の線を消せます。
この際にも、Cull IndexのL端子をFlattenにしてください。

ここでもPipeを使用して縦格子を完成させます。
フレームよりも縦格子を細くしたいので今回は16をR端子に入力し半径にしています。
Cap Holesを使用して穴を塞ぐことを忘れないでください。
これで縦格子で最低限の手摺は完成しました。
この手摺で十分という人はここまでで大丈夫です。
しかし、横格子を作成したい場合もあると思うのでその説明もします。
横の格子を作成

使用コンポーネント:⑪ Flip Matrix ⑫ Interpolate

最後に上の画像のような横格子を作成します。

最初に、縦格子を作成する際に使用したLineをCurveに繋げます。
そして左部分を右クリックし、Graftを選択してください。
これにより、1本ずつ全ての線に同じ編集をすることができるようになります。

Divide Curveで縦線を分割します。
ここでは4で分割しています。

ここでFlip Matrixを使用します。
このコンポーネントを使用することでデータを反転させ、他の縦線上にある同じ点同士を繋げることができるようになります。
Interpolateを使用して点同士を繋ぎ、曲線を作成します。

Pipeで横格子を作り、Cap Holesで穴を塞いで手摺は完成です。
まとめ


上の画像のように、今回は2種類の手摺を作成しました。
是非自分の作りたい手摺を作成してみてください。
今回は以上になります。
Comment