見出し画像

Grasshopperで小屋をモデリング#3”柱頭の中心点を取得”

小さな小屋組をGrasshopperを使ってモデリングすることで、

  1. Grasshopperに慣れる

  2. モデリングでどんな場面でGrasshopperを使えるか考える

  3. 今のスキルで何ができて何ができないかを見つける

上記を目的として実践していく


前回は梁をモデル化した際にRhino上で引いた曲線を基に
梁をGrasshopperで生成したが
この方法だと以下の問題点があった

  1. 柱をベイクしてからの作業だから柱の高さ変更の際手戻りがある

  2. 梁芯はRhino上で作成したから柱の変更に追随しない

今回はこれらの問題を解決した
その手順は具体的には下記になる

  1. 柱頭の中心点を取得する

  2. 1.を基に梁断面の中心線をつくる

  3. 2.を基に梁の断面を生成する

  4. 梁の位置を調整する

3.と4.は前回の記事と同様の手順となる

今回は1.を書いていく

RhinoとGrasshopperは下記の記事の状態から始める



で、
すでに柱頭の中心点を取得するコンポーネントのセットが下図になる



梁は隅柱から生成するつもりなのでcolumn1のみ中心点をつくる


使用したコンポーネントは
・Area
・Deconstruct
・Construct Point
・Multiplication
・point

ちなみに上図のリスト内アイテム確認用はpointコンポーネントで出力した内容の確認用だ
List Itemを使うと指定したリスト内のインデックスを出力できる

index=3で出力
リストindex=3の点の位置を確認できる


本題だが
Areaコンポーネントを使うとオブジェクトの重心を得られる

ただ、これだけだとXY平面で見れば柱断面の中心を出力できているが
Z軸方向では柱高さの半分までの高さしか取得できない

そのため
Deconstructで重心の座標x,y,zを取得
このうちz座標の数値をMultiplicationで2倍にしてから
Construct Pointで柱頭高さに点を生成した

重心点を移動させるという考え方ならMoveコンポーネントでも
やりようによっては同じことができるかもしれない

ただ、Deconstructで一度座標をバラして
ほしいとこだけ重みづけする(倍率かけたり加算減算で調整する)方が
明瞭でシンプルだ


これにより
柱の高さとして使用しているNumber Sliderで
柱頭の中心点を調整できるようになった

柱高さ=2000


柱高さ=4000


この中心点を使って
次回は柱の高さに追随できる梁を生成する

この記事が気に入ったらサポートをしてみませんか?