[Grasshopper]手摺を1本の線から作成する方法[データも配布します]

Grasshopperで作成した手摺 grasshopper

グラスホッパーやライノセラスを使用していると、手摺を作成したい場面があると思います。

しかし、ライノセラスで毎回作ることや曲線に合わせた複雑な手摺は難しく、また作成に時間もかかります。

そこで今回は上の画像のように簡単にGrasshopperで手摺を作成する方法を解説します。

一度プログラムを作ればライノセラス上で1本線を引くだけで手摺を作成でき、非常に時間を節約できます。

横の線がある手摺

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

手摺を作る全体コンポーネント

全体のコンポーネントはこのようになります。

コンポーネント検索はこちら

今回のGrasshopperとライノセラスのデータは下のリンクからダウンロードできるので是非活用してください。

今回のGrasshopperとライノセラスのデータダウンロードはこちら

それでは順番に解説していきます。

フレームを作成

横軸

横軸のフレームを作成するコンポーネント

使用コンポーネント:① CurveUnit ZNegativeMovePipeCap Holes

横軸のフレーム

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

ライノセラス上の線を格納

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

Moveで上方向にコピー

次にMoveで上方向に移動しコピーします。

Unit Zを使用することで上方向であるZ軸方向に移動させることができます。

今回は1.1m移動させるので1100(ミリメートル)を入力しています。

2つの線を内側に移動

次に先程作成した2つの線を内側に少しだけ移動させます。

移動させる距離は後ほど作成する円柱である持ち手の半径分である30移動させます。

これにより、最後の方に作成する縦格子が貫通することを防ぎます(現段階では分からなくても大丈夫です)。

内側に移動した2つの線を拡大してみ見る

拡大するとこのようになっています。

最初の線はMoveで上方向に30、2つ目の線は下方向に30移動させています。

Negativeを使用することで数値をマイナスにすることができます。

これにより30を-30にし、下方向に移動させています。

pipeで持ち手を作成

Pipeで線をパイプを作成し、横軸フレームを完成させます。

R端子に30を入力することで半径を指定できます。

現段階では作成されたパイプに穴が開いているのでCap Holesを使用することで穴を閉じます。

これで横軸のフレームは完成です。

縦軸

縦軸のフレームを作成するコンポーネント

使用コンポーネント:⑦ Divide CurveLineList Item

縦軸のフレーム

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

Divide Curveで線を分割

先程作成した2つの線をそれぞれDivide Curveで分割します。

N端子に分割数を入力することができます。

この数値は後ほど作成する縦格子の数値になります。

Lineで縦線を作成する

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

List Itemで最初と最後の線を抽出

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

Flattenを選択

List Itemを使用する前に、L端子を右クリックしてFlattenに設定してください。

これにより、格納されているデータを順番に選択できるようになります。

i端子に数値の0と-1を入力します。

マイナスの数値を作るために、1にNegativeを使用してマイナスにしています。

0と-1を入力すると線の最初と最後のみを抽出できます。

pipeでフレームを完成させる

ここでもPipeで円柱パイプを作成し、Cap Holesで穴を塞ぎます。

これで手摺のフレームは完成です。

縦の格子を作成

縦の格子を作成するコンポーネント

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

縦の格子を作成

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

線を分割

ここで線をまた分割します。

今回は横軸フレームで作成した内側に移動させた2つの線を分割することに注意してください。

N端子にその際使用した分割数の150を出力し分割します。

もう一度Lineで縦線を作成する

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

Cull Indexで最初と最後の縦線を削除

Cull Indexを使用することで縦軸フレームに重なっている縦線を削除します。

I端子に先ほど使用した0と-1を入力することで上の画像のように最初と最後の線を消せます。

Pipeで縦格子を完成させる

ここでもPipeを使用して縦格子を完成させます。

フレームよりも縦格子を細くしたいので今回は16をR端子に入力し半径にしています。

Cap Holesを使用して穴を塞ぐことを忘れないでください。

これで縦格子で最低限の手摺は完成しました。

この手摺で十分という人はここまでで大丈夫です。

しかし、横格子を作成したい場合もあると思うのでその説明もします。

横の格子を作成

横の格子を作成するコンポーネント

使用コンポーネント:⑪ Flip MatrixInterpolate

横の格子を作成

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

Graftを選択

最初に、縦格子を作成する際に使用したLineCurveに繋げます。

そして左部分を右クリックし、Graftを選択してください。

これにより、1本ずつ全ての線に同じ編集をすることができるようになります。

縦格子で利用した線を分割

Divide Curveで縦線を分割します。

ここでは4で分割しています。

Flip Matrixでデータを反転し、Interpolateで曲線を作成

ここでFlip Matrixを使用します。

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

Interpolateを使用して点同士を繋ぎ、曲線を作成します。

Pipeで横格子を完成させる

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

まとめ

手摺1
手摺2

上の画像のように、今回は2種類の手摺を作成しました。

是非自分の作りたい手摺を作成してみてください。

今回は以上になります。

コメント

タイトルとURLをコピーしました