こんにちは、建築ソフト解説員のUMAです。
今回は、『Grasshopper』で作る『敷地模型の型紙を作る方法』について解説していきます。
今回作るGrasshopper
皆さん、敷地模型を作る時にいちいち高さをメモして、型紙を切って大変だと思ったことはありませんか?
今回は、以下のRhinoで作成した周辺モデルを活用して、敷地模型を作る方法を解説します。
このGrasshopperを使えば、あっという間に敷地模型を作ることができるようになります。
ツールの全体像
まずは、ツールの全体像です。
ツール全体では、このようなコンポーネント組み合わせで作成することが可能です。
ここから細かく見ていきましょう。
作業の前に
今回使用するデータは以下のボタンからダウンロードできます。
エクササイズファイル
周辺建物の面を高さ順に並べる
まずは、Rhino上のモデルから、周辺建物の面を高さ順に並べます。。
使っているコンポーネントは、
- Brep(ここに建物のモデルを入れる)
- DeconstructBrep
- Area
- Deconstruct
- SortList
この5つになります。
まずは、「Brep」でRhino上の建物をGrasshopperにインポートします。
次に「DeconstructBrep」で、周辺建物のモデルから、面と辺、頂点を取得します。
次に「Area」で、DeconstructBrepで取得した面の中心点を取得します。中心点を取得することで、この後の作業で必ず最上部の面を取得できるようにします。
次に「Deconstruct」で、面の中心点の座標を取得します。この時のZの値が面の順番を変える時に大切になります。
最後に「SortList」で、面の中心点のZ座標が大きい順に並び替えます。Aが並び替えたいリスト(今回は面)、Kが並び替えるときに参照する値(今回は中心点のZ座標)をつなぎます。
周辺建物の高さを取得する
次に取得する項目は、周辺建物の高さです。
使っているコンポーネントは、
- List Item
- Area
- Distance
- Panel
この4つになります。
まずは、List Itemで周辺建物の上端と下端を取得します。この時、indexの初期値は0なので、下端が取得されます。
そして、List Itemを拡大していくと、このような画面になります。
この状態でプラスを押すとこのように、取り出せるアイテムの数が増えました。
このi-1端子からは、先ほどZ座標が大きい順に並べたときの1番最後の面、即ち下端が取得されます。
次に、Areaで取得した上端と下端の面の中心点を取得します。
最後に、上端の中心のZ座標から、下端の中心のZ座標を引くと、建物の高さがわかるので、引き算をします。
DistanceのAに上面のZ座標、Bに下端のZ座標をつなぎます。
このようにすることで、周辺建物の高さを取得できました。確認のためにDistanceのD端子にPanelを繋いでみましょう。
建物の高さを取得できました。
周辺建物の型紙を作成する
次に作成するのは、周辺建物の壁紙です。
ここで使うコンポーネントは、
- Panel
- Scale
この2つになります。
まずは、Panelで模型の縮尺を指定します。
Panelに縮尺をすることで、3Dモデルを原寸で作っていても、模型型紙の図面を正しいスケールにできます。
次にScaleで、建物の外形線を縮小します。
List Itemで取得した建物下面をG端子、Areaで取得した下面の中心点をC端子、Panelで指定した縮尺をF端子につなぎます。
このようにつなぐことで、下面の中心を基点に、面を指定した縮尺で縮小できます。
型紙を平面に並べる
最後に縮小した建物の下面を並べるツールを作りましょう。
ここで使うコンポーネントは、
- Point
- NumberSlider
- Unit X
- ListLength
- LinearArray
- Orient
- Curve
この8つになります。
まずは、Pointで模型の型紙を配置する場所を指定します。
Pointを右クリックして、“Set one Point”をクリックして、Rhino上の好きな位置でクリックします。
次にNumberSliderで、周辺建物の外形線を配置する点の間隔を指定します。
次にUnit Xで、点を配置する方向を指定します。
Number Sliderで指定した数値を、Unit XのF端子につなぎます。
このようにつなぐことで、Number Sliderで指定した間隔のX軸方向ベクトルを指定できます。
次にList Lengthで、周辺建物の数を取得します。
Scaleで縮小した建物下面をL端子につなぎ、その端子を右クリックし、Flattenを選びます。
このようにつなぐことで、ScaleのG端子にあるリストの長さを取得できます。
リストの長さを取得することで、必要な分だけ点を配置することができます。
次にLinear Arrayで、周辺建物の下面を配置する点を並べます。
Pointで指定した点をG端子、Unit Xで指定したベクトルをD端子、List Lengthで取得したリストの長さをN端子につなぎます。
このようにつなぐことで、指定した点からX軸方向に点を配置できます。
次にOrientで、建物の下面を点の位置に移動します。
Scaleで縮小した建物下面をG端子、Areaで取得した建物下面の中心点をA端子、Linear Arrayで配列した点をB端子につなぎます。
また、すべてのInput端子で右クリックしてFlattenを選択します。
このようにつなぐことで、下面の中心を基点に、面を指定した縮尺で縮小できます。
最後にCurveで、建物の外形線を取得します。
Orientで移動した建物下面をつなぎます。
このようにつなぐことで、下面のサーフェスを線に変換できます。
まとめ
以上で、解説は終了です。どうでしたか?
思っていたより、少ないコンポーネントの組み合わせで、ツールが作成できたのではないでしょうか?この機会にぜひ、ほかのデザイン検討ツールを作成してみてください!!
今回のGrasshopperファイルは、こちらをクリックするとダウンロードされます。