
Grasshopperで小屋をモデリング#2”曲線から梁断面をつくる”
上司の後ろについていくはずが
いつの間にか知らないおじさんの後を追っていたこと
ありませんか?
私はあります
どうもディンプルです
小さな小屋組をGrasshopperを使ってモデリングすることで、
Grasshopperに慣れる
モデリングでどんな場面でGrasshopperを使えるか考える
今のスキルで何ができて何ができないかを見つける
上記を目的として実践していく
#1では柱をGrasshopperでモデル化するとともに
その高さを
Number Sliderで調整が利くようにした
今回は梁をモデル化してみる
柱はベイクしてから柱頭に曲線(下図橙色)を作成する
この曲線を梁の軸とし、Curveコンポーネントに格納する



CurveからPerpFrameにつなぎ、入力端子Curveをコンテクストメニュー(端子上で右クリックして開くメニュー)からReparameterizeを行う
そして上図のようにNumber Sliderで0.5を指定
PerpFrameは曲線上の指定した位置で平面を生成するコンポーネントだが
上記のようにすることで曲線の中点で平面を生成した
次に梁断面をモデル化する
コンポーネントにはCenter Boxを使う
これは平面から原点を中心にX,Y,Zそれぞれ指定した数値だけ
両サイドに広がるようにモデル化する
例えばXの入力に100入力すると原点からX軸の正方向に100、負方向に100
よって200幅の断面になる
つまり指定した値の2倍の長さをもつ断面になる
これを踏まえて幅105、梁せい180、長さは曲線の長さとするため下図のようにコンポーネントを組んだ

Number Sliderで感覚的に梁せいを調整したいが前述のように
Center Boxは入力の2倍の断面になってしまう
そこでCenter Boxに入力する前にDivisionコンポーネントで入力値を1/2にした
図ではB端子に何も入力されていないように見えるがキャンパス上でダブルクリックし"/2"と入力すると2で入力値を割るDivisionを出せる

曲線長さの指定はLengthコンポーネントを使ってCenter Boxに接続
もちろんDivisionを介して1/2にする
これで梁の断面ができるが
この時点では下図のように梁の中心が曲線にとなっているため
柱とモデルが重複する

そこで最後はMoveコンポーネントで梁せいの1/2だけZ軸方向に移動した
下図のようになる



とりあえず今回はここまで
だがやってみて以下の課題がある
柱をベイクしてからの作業だから柱の高さ変更の際手戻りがある
梁芯はRhino上で作成したから柱の変更に追随しない
柱の高さ変更と梁の高さを同時に行うにはやはり梁の位置もRhinoではなくGrasshopperでコントロールするといいかもしれない
ただ、それはそれでGrasshopperが煩雑になるのかも?
もう少し検討しても良いかもしれない