【grasshopper】よくやる作業の自動化 街並み作成 木造-切妻編

皆様こんにちは。
AMDlabの前川です。
今回は木造をイメージしたイエ型のボリューム作成の自動化です。
この記事では切妻のボリュームの作成を順を追って説明していきます。

それでは早速初めて行きましょう。
以下がドラフトになります。

 

まずは[Curve]に建物の線を格納します。
格納した線ごとに、前々回のボリューム編で紹介した方法で、建物ごとに与える高さをランダムに設定します。(高さは木造1階もしくは2階を想定した数値になっています。)

格納したPolylineを[Explode]で分解し、対になる二本の線を[List Item]で抜き出します。

 

 

ボリュームを[Extrude]で押し出して、先程抽出した線を、軒高さ[ボリュームの高さ-2000]mmの値でZ方向に移動します。

 

移動させた線の視点と終点を、[Evalute Curve]を使って抜き出します。

 

抜き出した始点同士、終点同士を繋いで線をつくります。
それぞれの線の中点を[Curve Middle]で抽出し中点同士を結びます。

 

中点同士を基準に作成した線を高さ方向に2000[最高高さ-軒高さ]mm移動させます。

 

移動させた線と、軒高さのエッジを[Rule Surface]で繋いで、[Brep Join]で接続して、屋根面が完成します。

 

[Split Brep]をつかって押し出したボリュームを屋根面で切断して、イエ型のボリュームを抽出します。

棟のエッジ線と軒のエッジ線をそれぞれ[Divide Distance]で指定した距離で分割し、[Line]でつなぐと、屋根っぽい線ができます。

 

前回の記事で紹介した窓をつける処理を再利用することで、イエに窓をつけて完成です。

 

たくさんのボリュームに対してこの処理をする時に、本来は最初に四角形のポリラインのみを抽出する必要があるのですが、後の記事でその辺もまとめて紹介したいと思います。

自分がパッと思いつくのは
①[Dispatch]とかを使って既存のコンポーネントだけで簡潔させる方法と、②GHpythonでfor文とif文を使って処理をする方法の二通りです。

というわけで次回の寄棟屋根編に続きます。
それでは今日はこの辺で。

ARTICLES