今回は上画像の様なランプシェードを作成していきます。このチュートリアルではコンポーネントの数量を可能な限り少なく実装し、21コンポーネントで実装してみました。チームで開発している人など、可読性を考えると必ずしも少ない方が常によいとは限らないかもしれませんが、リファクタリングの練習に是非参考にしてください。こちらのチュートリアルは動画化しております、動画の方がよい方は以下のリンクからどうぞ!
概要

上画像がプログラムの全体像となっております。
各ブロックごとに解説していきます。
基準となる円を作成

- Circleコンポーネントで基準円を作成します。半径はGene Poolコンポーネントで3つスライダーを設け接続します。入力端子はGraftします。
- Circleコンポーネントに接続する平面位置を、Construct Pointコンポーネントで作成します。Z座標にGene Poolコンポーネントで3つスライダーを用意し接続します。入力端子をGraftします。
- 上画像の様に3つの円が作成できていればOKです。
基準円を分割

- Divide Curveコンポーネントで作成した円を分割します。
- Explode Treeコンポーネントでブランチを取り出します。
- Shift Listコンポーネントで、真ん中の円の分割点のリストをずらします。
- Entwineコンポーネントで再度まとめます。
分割点を通る曲線を作成

- Flip Matrixコンポーネントでブランチを反転させます。
- Interpolateコンポーネントで分割点を通る曲線を作成します。
- Relative Itemコンポーネントでブランチを1つずらした曲線を取得します。入力端子はSimplifyし、Offsetには{1}を接続します。Wrap PathはInvertしてTrueにします。
- Offset Curveコンポーネントで作成した曲線を内側にオフセットします。
- Rotateコンポーネントでオフセットした曲線を回転させます。
作成した曲線間にサーフェイスを張る

- Ruled Surfaceコンポーネントで作成した曲線間にサーフェイスを張ります。
- Mergeコンポーネントで作成したサーフェイスをまとめます。
完成

完成です。変数を変更していろんな形状を試してみてください。今回はコンポーネント量を少なくすることをテーマにして実装してみました。ただ、可読性がよくパフォーマンスがよい方がもちろんよいかと思いますので、状況に合わせて実装してみてください。