この記事ではGrasshopperを用いたパラメトリックなモデリングのチュートリアルとして、パラメトリックに回転した形状のビルのモデリングに取り組みます。
Rhinoceros+Grasshopperについて

Rhinoceros+Grasshopperでパラメトリックにモデリングする大枠の流れと目的については、以下の記事をご参照くださいませ。
MENTERU TECH BLOG|
Rhinoceros+Grasshopperで実現するパラメトリックなシミュレーションによる建物形状の最適化アプローチ
https://tech.menteru.jp/notes/Rhinoceros-and-Grasshopper
Grasshopperで回転した形状のビルをモデリング
以下の流れで、回転した形状のビルのモデリングを実装します。
- 底面の大きさと分割数に応じて基準面を定義
- 階数と階高の設定に応じてビルを定義
- 設定した角度に応じて回転するビルを構築

ビルの底面を広さと分割数で定義
まずビルの底面をするために、「Nurbs Curve」のコンポーネントに底面を規定する点群を”Vertices”に受け渡します。点群の生成は、「Circle」のコンポーネントに”Plane”へ基準点と”Radius”へ半径を渡して円を生成し、生成した円を「Divide Curve」の”Curve”に受け渡すことで行います。「Divide Curve」の”Count”には分割数の整数を受け渡します。
「Nurbs Curve」の”Degree”は初期値3の次数で今回は角面を生成するため1を設定し、”Periodic”は初期値Falseで開いた形状に対してTrueを受け渡して開いた形状を規定します。以上の手順で、「Nurbs Curve」で生成した”Curve”を「Surface」に受け渡して基準面を生成します。


ビルの概観を階数と階高で定義
ここまでで作成した基準面をもとに、ビルの階数と階高を設定することでビルの概観を停止ます。「Move」を用いて、コンポーネントへ+z方向のベクトルを”Motion”に受け渡すことで、”Geometry”に受け渡す基準面を各フロアの底面として複製しながらz方向へ移動します。複製移動した各フロアの底面を「Extrude」の”Base”に接続し、さらに”Direction”に+z方向のベクトルを階高として受け渡すことで、各フロアの底面を押し出してフロアを構成します。

ビルの立面形状を回転角度で定義
構成した各フロア「Rotate」のコンポーネントの”Geometry”に受け渡し、”Angle”に加kフロアの回転角度をリスト形式で単位℃として受け渡します。回転の基準面として、各フロアの中心点をリスト形式で”Plane”に受け渡します。

コメント