Grasshopperやライノセラスを使っていると、スロープを作成したい場面があると思います。
今回は上の画像のようにスロープと簡単な手摺をライノセラスの平面にある曲線を使用して作成していきたいと思います。
一度プログラミングを作成すると、ライノセラス上にある曲線の形を変えるだけで様々な形態のスロープ、手摺を作ることができます。
今回は第1部でスロープを解説し、第2部で手摺を説明します。
今回のrhinoとgrasshopperのデータダウンロードはこちら
ダウンロードできるデータのご利用に関しては、利用規約をご覧ください。
動画で見る
スロープの作成方法
スロープ全体のコンポーネントはこのようになります。

曲線をオフセットで複製し、両線を点で分割する

使用コンポーネント:① Curve ② Negative ③ Offset Curve ④ Divide Curve

まずはGrasshopperを使用する際に、ライノセラス上に平面に任意の2d曲線を作成します。
そしてOffset Curveを使用し複製します。
この際に使用する数値がスロープの幅の長さになります。
今回は内側に曲線を作成しているためNegativeを使用しています。
Negativeは数値をマイナスにする働きがあります。

その後、2つのDivide Curveを使用し、2つの曲線を分割して点を作り出します。
点が多ければ多いほどスロープは後ほどスムーズになりますがそれに伴い処理速度が遅くなります。
なので自分のパソコンと相談しながら自由に決めてください。今回は10等分にしています。
点の高さを段々位置に応じて増加させる

使用コンポーネント:⑤ Series ⑥ Unit Z ⑦ Move

SeriesとMoveを使用し、段々と位置に点を高く移動させます。
今回は5ずつ高くなるようにし、それを10回繰り返すようにしています。
すなわち5、10、15、20・・・というように点が移動します。
10回繰り返す理由としては、先ほど線を10分割しているため、同じ数だけ点を移動させる必要があるからです。
そのため分割した際に使用した数値(今回は10)をSeriesのC端子に繋げています。
点から曲線を作成し、その2つの曲線から床を生成する

使用コンポーネント:⑧Interpolate ⑨Ruled Surface ⑩Unit Z ⑪Negative ⑫Extrude

Interpolateを使用して点から曲線を作成します。

そしてRuled Surfaceを使用し、2つの曲線からサーフェスを作成します。
そしてこのサーフェスから厚さのある床をExtrudeを使用し作成します。
その際下方向に厚さを作るのでNegativeを使用することを忘れないでください。
ここまでがスロープの作成方法です。手摺を作成しないという方はここまででも大丈夫です。
手摺の作成方法
手摺全体のコンポーネントはこのようになります。少し複雑そうに見えますが、行っていることは非常にシンプルで同じことの繰り返しです。

手すりの高さの分だけ移動させサーフェスを作り、それをオフセットで複製する

使用コンポーネント:⑬Unit Z ⑭Move ⑮Ruled Surface ⑯Offset Surface

まずはMoveを使用して2つの曲線を手摺の高さ分だけ縦方向に移動させます。今回は1.1にしています。

そして移動前と移動後の曲線からRuled Surfaceを使用してサーフェスを作成します。

そして先程作成したサーフェスをOffset Surfaceを使用して内側に複製します。この際に使用した数値が手摺の幅になります。今回は0.2にしています。
また、片方の数値をNegativeを使用してマイナスの数値にすることに気を付けてください。
サーフェスを分解して縁の曲線を組み合わせ、3Dのソリッドを作成する

使用コンポーネント:⑰Deconstruct Brep ⑱List Item ⑲Ruled Surface ⑳Brep Join

オフセット前と後のサーフェスをDeconstruct Brepを使用して分解し、サーフェスの縁を曲線として抽出できる状態にします。
List Itemを利用しi端子の数値を変えると使用したい縁の曲線を選ぶことができます。
その後、抽出した縁の曲線を組み合わせてRuled Surfaceを使い、手摺の足りていない部分のサーフェスを作成します(手摺の手をのせる部分や入口、出口の垂直部分)。
最後にBrep Joinを使用し、全方向のサーフェスを結合することでソリッド化することができ、手摺が完成します。

完成したスロープと手摺がこちらになります。

スロープを歩いている様子です。

ライノセラス上の曲線の形や、Grasshopper上の数値を変えると自分好みのスロープを作成できるので是非やってみてください。今回は以上になります。
今回のrhinoとgrasshopperのデータダウンロードはこちら
ダウンロードできるデータのご利用に関しては、利用規約をご覧ください。
Comment