今回はAnemoneというプラグインを使用し、上画像の様なジオメトリを生成してみたいと思います。Anemoneは再帰処理ができるプラグインとなります。Pythonなどで再帰処理を書いてしまう方法もあるかと思いますが、こちらも使用できると便利なので今回記事にしました。
Anemoneはこちらからインストールできます。事前にインストールしてから実装してみてください。
こちらのチュートリアルは動画化しております、動画の方がよい方は以下のリンクからどうぞ!
概要


上画像1枚目がAnemoneを使用せずに実装したプログラム、2枚目がAnemoneを使用した場合のプログラムとなっております。
2枚目の3ブロック目は色付けしているだけなので、2ブロック目までが1枚目のプログラムと一致しています。
比較するとだいぶコード量が少ないかと思います。
まずはAnemoneを使用しないで実装したものから説明していこうと思います。
Anemone不使用の場合①

- Center Boxコンポーネントで1辺200mmの立方体を作成します。
- Deconstruct Brepコンポーネントで作成した直方体のサーフェイスを取得します。
- Areaコンポーネントで取得したサーフェイスの中心点を取得します。
- Volumeコンポーネントで立方体の中心点を取得します。
- Vector 2Ptコンポーネントで直方体の中心点と各サーフェイスの中心点を結ぶベクトルを作成します。
- Amplitudeコンポーネントで作成したベクトル長さを再設定します。
- Moveコンポーネントで各サーフェイスの中心点を、作成したベクトルで移動させます。
- Extrude Pointコンポーネントで各サーフェイスを移動させた各点に向かって押し出します。
Anemone不使用の場合①

- 先ほどExtrude Pointコンポーネントで押し出して作成したジオメトリに対して、Deconstruct Brepコンポーネント ~ Extrude Pointコンポーネントまでの処理を同じように行います。上画像の様に各サーフェイスが更に押し出されます。

- この処理を更に2回繰り返すと、上画像の様になります。
このように同じ処理を何度も書く必要があり冗長ですね。
今回は繰り返し回数が少ないのでさほど大変ではないですが、繰り返し回数が多くなるとプログラムを書くこと自体がかなり大変ですし、プログラムが変更や修正になった場合も繰り返し回数分直さなければいけません。
それではこのプログラムを今度はAnemoneを使用して実装してみます。
Anemoneを使用した場合①

- Center Boxコンポーネントで先ほどと同様、1辺200mmの立方体を作成します。
- Volumeコンポーネントで立方体の中心点を取得しておきます。
Anemoneを使用した場合②

- Loop StartコンポーネントとLoop Endコンポーネントを用意し2つをつなぎます。
- Loop StartコンポーネントにCenter Boxコンポーネントを接続します。
- Loop StartコンポーネントとLoop Endコンポーネントの間に繰り返し処理を記載します。先ほど繰り返した、Deconstruct Brep ~ Extrude Pointコンポーネントまでを用意し、Loop StartコンポーネントとLoop Endコンポーネントに接続します。
- Loop Startコンポーネントの入力端子Nに繰り返す回数を入力し,入力端子T(Trigger)にButtonコンポーネントを接続します。
- Buttonコンポーネントを押すと繰り返し処理が開始します。先ほどAnemoneなしで実装したプログラムよりもだいぶスッキリしたと思います。
ジオメトリに色付け

- ついでに色付けしていこうと思います。BrepコンポーネントでLoopEndコンポーネントからジオメトリを取得し、Flattenしておきます。
- Custom Previewコンポーネントに取得したジオメトリを接続します。
- Areaコンポーネントで押し出したジオメトリ(各サーフェイス)の中心点を取得します。
- Distanceコンポーネントで最初に作成した立方体の中心点から、各サーフェイスの中心点の距離を取得します。
- Boundsコンポーネントで取得した距離の最小値~最大値のドメインを取得します。
- Deconstruct Domainコンポーネントで取得したドメインから最小値と最大値を取得します。
- Gradientコンポーネントに最小値・最大値・距離のリストを接続します。
- Custom PreviewコンポーネントにGradientコンポーネントで作成した色のリストを接続します。
完成


以上になります。使いこなせば非常に便利かと思います。Anemoneのチュートリアルはいろんな方があらゆるチュートリアルを作成していますので、是非実践してみてください。以下に、Anemoneを使用した別の記事を載せておきます。興味ありましたら是非のぞいてみてください。