ShrinkWrap

シュリンクラップ ( ShrinkWrap コマンド) は、メッシュ、NURBSジオメトリ、SubD、および点群の周りにぴったりと閉じたメッシュを作成します。 3D印刷用のファイルを準備するには、単一の閉じたメッシュが必要です。シュリンクラップは、指定されたジオメトリの量やタイプに関係なく、閉じたメッシュを生成します。このチュートリアルでは、シュリンクラップがどのように動作するか、そして3D印刷用のモデルの準備時間を大幅に短縮する手順を紹介します。

例1 - 複数の球で作られた指輪

rendering

01-spheres-ring.3dm モデルをダウンロードして開きます。

ring spheres

ファイルは接続されていない複数の球で構成されています。デザインを印刷用に単一メッシュとして準備するには、シュリンクラップ ( ShrinkWrap コマンド) を開始して、54個の球を選択します。これにより、次のダイアログが表示されます。

Shrinkwrap dialog 1

最も重要な設定は、目標のエッジ長さ(Target Edge Length)です。これにより、オブジェクトの周囲に巻き付けられるメッシュがどの程度、詳細になるかが決まります。シュリンクラップは、最初のプレビューで適切な結果が得られるように、モデルサイズに基づいた推定を行いますが、オブジェクトを正確に十分に包み込むには、この値を小さくする必要がある可能性があります。

シュリンクラップの単位
この場合、ファイルはmmで設定されています。これは、目標のエッジ長さが1の場合、メッシュのエッジサイズが約1mm になることを意味します。値を小さくすると、計算時間が長くなりますが、より正確なメッシュが作成されます。最適な設定は、最終出力に使用する3Dプリンタやモデルによって異なります。例えば、プリンタの解像度が0.1mmの場合、印刷プロセスでその詳細が失われるため、これより小さい単位サイズを使用することは意味がありません。

プレビュー(Preview)と元のオブジェクトを隠す(Hide input objects)オプションをオンにしてください。メッシュが非常に粗いことが分かります:

ring wrapped coarse

より良いメッシュを得るために、目標のエッジ長さを0.1に下げます。プレビューが更新され、ベースオブジェクトによりぴったりとした、高密度のメッシュに変化します。

ring wrapped fine

メッシュのエッジを非表示にすると、オブジェクトがどのように見えるかが分かりやすくなります。メッシュワイヤを表示(Draw mesh wires)オプションのチェックマークを外してみてください。

ring wrapped

結果のメッシュにはまだ微調整が必​​要であることが分かります。また、後処理のことを考えて、凹面のエッジをわずかに滑らかにするとよいので、スムーズの反復(Smoothing iterations)を設定します。値を高くすると、形状がより滑らかになります。凸型の鋭い角は削り取られ、凹型の角は埋められます。下の画像では、スムーズの反復が​​0 - 100の間のステップでアニメーション化されています。

soomthing

シュリンクラップは、NURBSオブジェクトの使用に限定されません。次に、出力にプロングを追加し、最終結果のために単位と滑らかさを調整します。 Prongレイヤをオンにします。これはSubDオブジェクトです。球とプロングの両方を選択してシュリンクラップ ( ShrinkWrap コマンド) を再実行します。今回は、目標のエッジ長さ(Target Edge Length)を0.05に、スムーズの反復(Smoothing iterations)を5に設定します:

Shrinkwrap dialog 2

その結果、ロストワックス鋳造用のワックス3D印刷を行う準備が整った閉じたメッシュが作成されます。

spheres with prong result

例2 - SLCのリバースエンジニアリング

Ring_slc.zip をダウンロード、解凍して、開きます。

slc file

ファイルを詳しく調べると、ファイルがメッシュから作成された複数のスライスで構成されていることが分かります。これは、これらの曲線がすべてポリラインであることを意味します。これらの曲線をシュリンクラップするには、まず曲線の点を抽出して点群にします。

曲線が選択されていない状態で、 ExtractPt コマンドを実行し、コマンドラインオプションの出力点群に設定します。それから、曲線を選択し、 を押してコマンドを終了します。

pointcloud

前に作成した点群を選択し、下の設定でシュリンクラップ ( ShrinkWrap コマンド) を実行します:

shrinkwrap pointcloud

頂点と点を膨張オプションが自動的にオンになっていることに注意してください。これにより、基本的に各点にボリュームが追加されます。また、シュリンクラップするオブジェクトのサイズが、選択した目標のエッジ長さだけ増加することも意味します。この増加を相殺するために、オフセット(Offset)に負の数を入力します。

情報
元のオブジェクトの穴を埋める(Fill holes in input objects)もオンになっていますが、点群をシュリンクラップする場合には影響しません。ですが、この機能は次の例で役に立ちます。

結果は、3D印刷の準備ができた閉じたメッシュになります。

Alt text

例3 - 不完全なスキャンをシュリンクラップする

この例では、データが欠落しているスキャンから使用可能な閉じた形状を作成する方法を説明します。

Shoelast.3dm モデルをダウンロードして開きます。

3d scans

3DFace

閉じたメッシュを作成するためにシュリンクラップは穴を閉じることができますが、そのサイズには制限があります。入力をより適切に準備するほど、目標のエッジ長さをより細かく設定できます。 SubDのパッチを追加して穴を大まかに塞ぎます。これらのパッチを作成するツール ( 3DFace コマンド) は、SubDタブが開いている時に左側のサイドバーに表示されます。頂点オススナップをオンにします。メッシュにスナップしてパッチの作成を開始し、点編集でスカラプティングと微調整を行います。最も大きな穴から始め、スキャンとSubDのパッチをシュリンクラップして確認しながら進めます。 add subd surfaces

すべての穴がほぼ閉じたら、下の設定でシュリンクラップ ( ShrinkWrap コマンド) を行います:

dialog

shrinkwrap

シュリンクラップされた結果を四角形でメッシュを再生成 ( Quadremesh コマンド) のベースとして使用することで、形状を更に調整できます。 四角形でメッシュを再生成を行う前に、その操作でエッジループを作成するために使用できるガイド曲線を作成する必要があります。 ビューで、最後の形状に沿った曲線を次のように作成します。曲線がメッシュとわずかに交わるようにしてください。(例えば、メッシュの上でない。)

side curve for surface

この曲線を完全にメッシュと交差するように、両方向に押し出し ( ExtrudeCrv コマンド) ます。それから、 MeshIntersect コマンドを実行して、結果をメッシュと交差させます。

結果はギザギザした次数1の曲線になります。 Rebuild コマンドを実行し、元のオブジェクトを削除をオンに、次数を3に、制御点を100に設定して曲線をリビルド(再構築)します。次に Fair コマンドを実行し、許容差を100に設定し、曲線を滑らかにします。

faired curve

Quadremesh コマンドを実行し、ダイアログで曲線を選択(Select Curves)ボタンをクリックして、滑らかにした曲線を選択します。曲線の影響(Curve Influence)をエッジループを作成(Create Edge Loop)に変更します。SubDに変換(Convert to SubD)にチェックマークを入れます。

dialog

次に、2つの方法でSubDの形状を調整します。 (Macでは )を押しながら、曲線に最も近いエッジループをダブルクリックします。

select edgeloop

これらのエッジが選択された状態で SubDCrease を実行し、ループ全体のウェイトを100に設定します。

次の手順では、シュリンクラップされた結果と交差するように作成したサーフェスに最も近い領域を平坦化します。SubDの点をオンにし ( PointsOn / F10)、 ビューで Lasso コマンドを使用して、下のように点を選択します:

selected points

Guidesurfaceレイヤをオンにし、点が選択された状態のまま、点をガイドサーフェスにプル ( Pull コマンド) します。 点を少し編集すると、形状を更に調整して次のような結果を得ることができます。 quadremesh

その他のチュートリアル

終了
おめでとうございます!これでこの練習は終了です。ご質問がある場合は、フォーラムまたは gijs@mcneel.com までご連絡ください。