今回はLunch Boxというプラグインを使用して上画像の様なグラスを実装してみたいと思います。非常に便利なプラグインですので是非ご参考にしてください。Lunch Boxはこちらからインストールできます。こちらのチュートリアルは動画化しております、動画の方がよい方は以下のリンクからどうぞ!
目次
概要

上画像がプログラムの全体像となっております。
各ブロックごとに説明していこうと思います。
基準となるサーフェイス作成

- Circleコンポーネントで100mmの円を作成します。
- Scaleコンポーネントで作成した円を1.2倍します
- Moveコンポーネントで1.2倍した円をZ方向に200mm移動させます。
- Ruled Surfaceコンポーネントで100mmの円と移動させた円との間にサーフェイスを張ります。
基準サーフェイスをLunch Boxで分割

- 作成したサーフェイスをLunch Boxを使用して分割していきます。今回は4種類の模様で分割していきます。
- Random Quad Panels / Skewed Quads / Triangle Panels B / Quad Panelsコンポーネントを用意し、先ほど作成した基準サーフェイスを接続します。
- それぞれにu方向の分割数v方向の分割数を入力します。今回はu,v(22, 10)としました。
- Skewed Quadsコンポーネントのみ、三角形と平行四辺形のサーフェイスが別の出力端子から取得できるので、Surfaceコンポーネントでまとめます。
- Stream FilterコンポーネントとValue listコンポーネントで4種類のサーフェイスを切り替えられるようにします。
分割したサーフェイスを縮小してオフセット

- Areaコンポーネントで分割したサーフェイスの中心点を取得します。
- Scaleコンポーネントで分割したサーフェイスを各中心点において縮小します。今回は0.7倍しました。
- Offset Surfaceコンポーネントで縮小したサーフェイスを基準サーフェイスの外側にオフセットしていきます。
- オフセット距離は10mmとしたいのですが、Random Quad Panelsコンポーネントのみ、-10mmとしないと外側へオフセットしなかったので、Bool値を使用して少し工夫します。Booleanコンポーネントを接続します。0 ⇒ False,0以外はTrueを返してくれるので、 Stream Filterコンポーネントで0の場合(Falseのとき)は -10mm、それ以外(Trueのとき)は10mmとします。
外形をサーフェイス化

- Brep Edgeコンポーネントを2つ用意し、分割したサーフェイスとオフセットしたサーフェイスのエッジを取得します。
- Ruled Surfaceコンポーネントで2つのエッジ間にサーフェイスを張り外形が完成です。
グラスに厚みを持たせる①

- Capコンポーネントで最初に作成した基準サーフェイスに蓋をします。
- Areaコンポーネントで基準サーフェイス上面の円の中心点を取得します
- Scaleコンポーネントで取得した中心点において蓋をしたサーフェイスを縮小します。

- Solid UnionコンポーネントでLunch Boxで分割したサーフェイスを結合します。
- Capコンポーネントで結合したサーフェイスに蓋をします。
- Solid Differenceコンポーネントで蓋をしたサーフェイスから、先ほど縮小したサーフェイスを引きます。
出力結果の整理

- 出力結果を整理して完成です。
Rhinocerosでレンダリング

- 最後にRhinocerosでマテリアルを割り当てます。外部に突き出た部分のサーフェイスは色付きのガラスを割り当て、そのほかは透明のガラスを割り当てます。
- グラスの下に長方形サーフェイスを敷いて、金属のマテリアルを割り当てます。
- レンダリングツールで斜め上ぐらいから光を当ててあげて、レンダリングすれば完成です。
完成

以上になります。Lunch Boxは他にも色々な機能がありますので、是非使いこなしてみてください。