【集中講座】Rhino8 新機能:ShrinkWrap(シュリンクラップ)- 隙間のないメッシュモデルを作る

Rhino 8の新機能として登場したShrinkWrap(シュリンクラップ)は、モデルの表面を包んで隙間のないメッシュを生成する強力なツールです。この記事では、ShrinkWrap機能の概要から具体的な使用例、他の機能との連携まで詳しく解説します。(下記内容は、バージョンSR8.8で検証しています)

ShrinkWrapとは?

ShrinkWrapは、特定のモデルの表面を包むように新しいメッシュを生成する機能です。この機能により、モデルの表面を簡単に取り囲むことができ、3Dプリント前のモデルの最適化やシミュレーション用のシンプルなモデル作成が容易になります。

用途とメリット

  • 3Dプリント前のモデルの最適化
  • シミュレーション用のシンプルなモデル作成
  • データ量の軽減による処理速度の向上

ShrinkWrapの使い方

<基本的な操作手順>

1.ShrinkWrapコマンドを実行: メッシュツールのShrinkWrapコマンドのアイコンをクリック、あるいはコマンドプロンプトに「ShrinkWrap」と入力し、実行します。

2.モデルを選択: ShrinkWrapしたいモデルを選択し、Enterを押します。
(下記のモデルは球と立方体は別々のオブジェクトになっています)

3.パラメータの設定: 必要に応じてShrinkWrapのパラメータを設定します。設定後、実行ボタンを押します。

4.メッシュの生成: 設定に基づいてメッシュが生成されます。

プロパティのタイプから、すべて一体となった「閉じたメッシュ」になっていることが確認できます。

接続部分や角部分は、目標エッジ長さが粗いと鈍ります。
目標エッジを小さくすることで元の形状に近づきます。

その他の各パラメータの定義についてはヘルプを参照ください。

https://docs.mcneel.com/rhino/8/help/ja-jp/index.htm#commands/shrinkwrap.htm

建築モデルに適用した例

例えば、多数のパーツから構成される建築モデルをShrinkWrapで処理することで、表面のみを包んだ軽量なモデルを生成することができます。このモデルは、シミュレーションや3Dプリントに最適です。

しかし、現状は複雑なモデルの場合は少し工夫やコツが必要になる場合もあるようです。
失敗例も含めて、設定パラメータを変えた場合の比較を見てみます。

▼ShrinkWrap前のモデル

以下のような天井、スラブ、柱、梁、階段などの複数のパーツから構成されるモデルを例にします。
モデルの外形サイズは、X=29750mm、Y=17200mm、Z=4940mmです。

▼デフォルト設定の場合

特に設定を変えずそのまま実行した結果です(デフォルトの目標エッジ長さはモデルのサイズから自動算出されます)。
この場合、設定が粗すぎたようでうまく形を再現できていません。

▼目標エッジ長さ100mmの場合

先ほどよりは良くなりましたが、柱の鉄骨や階段部分が再現できていません。

▼目標エッジ長さ10mmの場合

処理時間は長くなりますが、階段や柱部分も再現できました。

しかし、天井部分が少し失敗しています。この部分の金具の厚みが10mmとなっており、目標エッジ長さがギリギリのためうまく再現できていないようです。

▼目標エッジ長さ5mmの場合

これくらい細かくすると天井部分まで再現できました。
目標エッジ長さは、再現したい最小のエッジ長さを基準に設定すると良いでしょう。

細かくなるほど処理や生成されるデータが重くなるので[MergeCoplanarFaces]コマンドで生成オブジェクトの同一平面の面を統合してデータを削減することができます。

機械部品に適用した例

以下は複数のパーツから構成される自動車部品をShrinkWrapした例です。
モデルの外形サイズは、X=226mm、Y=149mm、Z=122mmです。

▼ShrinkWrap前

▼デフォルト設定の場合

一つの閉じたメッシュにはなりますが、設定が粗いようです。

▼目標エッジ長さ1mmの場合

形状がうまく再現できています。

他の機能との連携

<SubDの活用>

ShrinkWrapを使用することで得られるメリットをさらに引き出すために、他のRhino機能との連携方法を紹介します。例えば、ShrinkWrapで生成したメッシュをSubD機能で滑らかに整形したり、リダクション機能を使ってポリゴン数を最適化することが可能です。

下図のような部分的にメッシュ欠損が見られるウサギのモデル(ポリゴン数:69029個)を例にします。スキャンした点群モデルでも同様のワークフローが適用できます。

目標エッジ長さ1mmでShrinkWrapを適用します。
穴が修復され、ポリゴン数も39198個に削減されました。

[QuadRemesh]コマンドを適用することで滑らかなSubDモデルに変換できます。

引き続き、SubDの機能を活用することで連続性を保ったままモデルの変形が可能です。
SubDについては下記ページなどを参照ください。

https://www.applicraft.com/tips/rhinoceros/subd-01/

<Grasshopperの活用>

ShrinkWrapにはGrasshopperコンポーネントもあるので、上記のような作業を自動化することもできます。ルーチンワークのような繰り返し作業を行う場合はGrasshopperでアルゴリズムを組むと作業が効率化できます。

ShrinkWrapは、モデルの最適化と軽量化を簡単に実現する強力なツールです。これにより、3Dプリントやシミュレーションのプロセスが大幅に効率化されます。

新しい機能のためまだ使用の際に一工夫必要な場面がありますが、より使い勝手が改良されるよう、今後の開発にも期待したいと思います。

このページで使用したサンプルモデルは下記よりダウンロード可能です。