皆様こんにちは。
AMDlabの前川です。
前回の記事に引き続き、今回はこれまでの記事で紹介したRC造と木造のボリュームを作成するスクリプトをまとめて、それっぽい街並みをつくっていきます!
まずこれまでに組んだスクリプトをそのまま使うと分かりにくいので、cluster機能をつかってボリュームごとにコンポーネントとしてまとめていきます。
Cluster化する前に、入力と出力それぞれ、一つの端子が複数の入力に繋がっているものは一度relayを経由してからそれぞれの入力につなぎなおします。
この時にrelayに入出力されるデータの内容が分かるように名前を付けておくとCluster化した後にそれぞれの端子に名前が割り振られるので便利です。
寄棟のボリュームを作成するスクリプトを整理していきます。
入力側と出力側をそれぞれ以下のようにまとめました。
入力側
出力側
入力と出力を整えたら、以下のように入力値と出力オブジェクト以外を選択して、右クリック>clusterを選択します。
以下のように寄棟を作成するスクリプトの入出力を一つのコンポーネントとして見やすく整理することができました。
処理ごとのスクリプトを整理しました。
一方的にデータを渡して、これを使ってくださいというケースであればこのようにcluster機能でまとめるのは効果的だと思います。
ここまででまとめたスクリプト使って、街並みのようなものを作ってみます。
出来ました。
スクリプトはこんな感じです。
入力された外形線を、RC造のものと、木造のものに分別しています。
pythonのスクリプトは以下になります。
四角形でかつ入力された平米以下の場合は木造で、それ以外のものはRCの外形として分別しています。
1 2 3 4 5 6 7 8 9 |
wood = [] rc = [] for i in range(length): if edge_num[i] == 4 and area[i] < m2*1000000: wood.append(edge_line[i]) else: rc.append(edge_line[i]) |
完成した街並みをRhinocerosにベイクして、建物種別ごとに色を変えて表示しました。
街並みのようなボリュームが出来た感じがします。
このデータを[make2D]で線データとして書き出して、編集することも可能です。
今回のケースのように、普段からマンパワーでやってる作業を自動化することでデザインに割く時間が増やせる点はとても魅力的です。
こういったプログラミングツールは、普段使わないという理由から敬遠している方も多いですが、適切な距離感で向きあうことで得られる恩恵はたくさんあるので、皆さんも積極的に使ってみてください。
今回作成したスクリプトはここからダウンロードできます。
よければ中身をのぞいて触ってみてください。
それでは今日はこの辺で。
COMMENTS