今回は、穴を一度に開ける方法のご紹介。
※Rhinoceros7以降、Split Brep Multipleコンポーネントで同じことが実現可能なので、そちらを使うことをお勧めします。
・取り込んだサーフェスの真下に六角形を配置します。
・六角形をZ方向に押し出してサーフェス化します。これが今回のカッター(分割に使用する形状)です。
・続きは上のように組みます。
このコンポーネントの動作がSurface Splitコンポーネントとは異なりまして、トップ画像のように、大量のカッター(ここでは六角形)で分割しようとしてもうまくいかないんですよね。
・まずは適当なサーフェスを用意して、Grasshopperに取り込みます。
一回につき一つのカッターでのみ分割するので、穴が1つ開いたサーフェスが大量にできあがる現象が起きてしまいます。それの対策として、Anemoneプラグインを使ってループ処理を行うというものです。
Anemoneの使い方は言葉での説明が難しいので、まずは以下の手順で組んでみてください。
・Anemoneプラグインに含まれる、Loop StartとLoop End間がループ処理になっていて、データがぐるぐる循環する部分となっています。
・Loop Startの入力(D0、D1、・・・)口から入ったデータが途中につながれたコンポーネントを経由してLoop Endの出口(D0、D1・・・)に出て、<と>で結ばれた点線のケーブルを通してLoop Startに戻る、みたいな感じで、停止命令が出るまでデータが循環します。
・中間部分のコンポーネントの説明ですが、Loop StartのD0を通ったカッター形状の0番目がSplit Brepコンポーネントを使ってサーフェスを分割したのち、Cull Indexコンポーネントを使って使用済の0番目を削除し、次の処理に移動します。また、D1を通ったサーフェスは、カッターの0番目を使って穴が開いた状態のサーフェスをD1出口につなげて、また次の処理で使用するというループを順に繰り返して行きます。
・Loop StartのN入力は計算回数です。ひとまず適当に1000回分を設定しています。Loop EndのE入力が、ループを終わらせる条件となります。カッター(六角形)のリストの長さが0かどうかを毎回チェックし、0になった時点でEqualityコンポーネントがTrueに切り替わり、ループが終了します。
・ボタンを押すと、処理がリセットされ、何度も再生されます。
カッターを一つづつ使って分割する作業を自動で行うというものなので、カッターの数が膨大だとそれに見合った時間がかかりますが、毎回、RhinoにBakeして作業するのが面倒な場合はチャレンジしてみてください。
0 件のコメント:
コメントを投稿