2015年12月26日

Shade、ブール演算に悩まされる

3Dプリントのデータ作成のためにShadeを使いはじめて、まず、壁にぶち当たったのがブール演算。
Illustratorで言うところの「パスファインダー」みたいなもんだろうと思ったのですが、そんな素直なものではありませんでした。

・Illustratorのパスファインダー

・Shadeのブール演算


例えば、この部品。そんなに複雑な形、構成ではないのですが、

これらの形状をブール演算で融合して……

次に、この形状を融合すると……

はい、消えた!

と、こんなことがザラに起きます。

どうしてこんなことが起こるのか?調べてみると、ブール演算を正しく行うには、いくつかの条件があるようです。


Shade 3Dユーザフォーラムhttp://forum.shade3d.jp/t/topic/158/4
・厚みのある形状同士
・同一平面を作らない(片方を大きくしたり食い込ませたり)


Shade 3Dの使い方http://shade3d.jp/training/howtouse_shade3d/boolean.html
・「ブール演算に使用する形状は厚みのある形状でないとダイアログが表示され、計算結果も正しく行われません。 厚みがあり、穴のない多様体同士を選択する必要があります。」
・「ブール演算結果が思い通りにならない場合は交差部分を数ミリ移動してみるのもひとつの方法です。」


厚みに関しては、3Dプリントで立体化するのですから、当然、厚みがなければなりません。

同一平面を作らない」というのは、気をつけた方がいいようです。
二つの形状を融合しようとする場合、面と面をくっつけるのではなく、
立体同士を交わらせるようにする方がいいようです。
たとえブール演算がうまくいっても、3Dプリントアシスタントのチェックででエラーが出る可能性があります。


交差部分を数ミリ移動してみるのもひとつの方法です。」というのは、これでうまくいったことが何度かありました。
ただ、数ミリはおろか、0.1mmも動かせない場合がほとんどでしたので、そんな時は、0.01mmだけでも動かすとうまくいくこともありました。


上記のShade公式の他にも、解決方法があるようです。
・物理メモリーの問題
「少しでもメモリーの消費を抑えるためにプレビュー表示をシェーディングではなく、ワイヤフレームにするとか、ブール演算を実行する前にShadeを再起動する」
ということですが、私の環境下、制作データでは、特に影響はないようでした。

・ブール演算する順番を変える
これが一番簡単で、かつ効果的に思えます。
ブール演算がうまくいかない時は、まずこれを試しています。


これらの方法で、すべてうまくいくようになったわけではありませんが、なんとかなるようにはなりました。


あと、ブール演算の成否ではないのですが、「分割」を「細かい」で作成したら、下の写真のように、円というより多角形のようになってしまいました。
特に、大きな円形の箇所は「最も細い」にした方がいいでしょう。


それにしてもブール演算には、もっとおおらかになってほしいです。





0 件のコメント:

コメントを投稿