ブール演算機能は、モデリング ツールボックスからアクセスできる強力な機能です。ただし、この機能の実行結果が予想どおりにならない場合があります。[ブール演算](Boolean)ボタンは、[作成](Create)パネルの[合成オブジェクト](Compound Objects)リストにあります。このボタンを使用して、オブジェクトの結合、除去、交差、切り取りを実行できます。以下に、問題とその解決方法を示します。
一見交差しているように見えるが実際には交差していない 2 つのオブジェクトに対して、誤って[交差](Intersection)を実行した場合、オブジェクトが画面から完全に消えてしまうことがあります。どちらのオブジェクトも[オペランド](Operands)領域には表示されていますが、画面には表示されません。
たとえば、ブール演算で、単純なボックスから複雑なフリーフォーム オブジェクトを除去した場合、面の数が非常に少ないオブジェクトと面の数がかなり多いオブジェクトの間に折り目やリッジが生じることがあります。
3ds Max は、除去する追加面が生じるように、ボックスのサーフェスを面分割します。しかし、残念なことに、生成される面は通常長細く、重なり合っていることがあります。このため、レンダリングしたときにシーン内に折り目やリッジが生じます。
ブール演算の前に、次の手順を試してください。
この例の場合は、ボックスです。
面の多いサーフェスをサブディバイドすることにより、ブール演算で操作する面とエッジが増えます。その結果、折り目やリッジの原因となる長細い面の数を減らすことができます。
ブール演算は、2 つのオペランド A と B を操作するようにプログラムされています。オペランド A として選択したオブジェクトに多くのオブジェクトを結合する場合、または多くのオブジェクトを除去する場合は、オペランド B を選択した後で[ブール演算](Boolean)ボタンをクリックしてください。そうしないで単に[オペランド B を選択](Pick Operand B)ボタンをクリックし、次のオブジェクトを選択すると、前の操作が無効になり、前のオペランド B が消えてしまいます。
多数のオブジェクトを単一のオブジェクトに結合したり、単一のオブジェクトから削除したりするときは、ブール演算を開始する前にすべてのオブジェクトをアタッチすると効率がよくなります。
たとえば、ボルト穴のある金属板を構築するとします。これまでのところ、平らなボックス、オペランド A、10 個の円柱と、これを貫通するオペランド B があります。
ボルト穴のある金属板
自動的に[修正](Modify)パネルが開きます。
これは、[アタッチ](Attach)の横の小さいボタンです。
すべての円柱が単一のオブジェクトになります。
「ブール演算オブジェクトの折り目やリッジ」を参照してください。
円柱が除去され、ボックスに穴ができます。
ブール演算は 1 回実行するだけです。何度も実行する必要はありません。ブール演算は、非常に効果的で、エラーが起こる可能性も低い方法です。この方法は、既に 3D ジオメトリを使用していて、壁にドアや窓の開口部を作りたい場合にたいへん便利です。次に、2D スプライン オブジェクトの操作例を示します。
[作成](Create)パネル [シェイプ](Shapes)メニューで作成したスプラインに対してブール演算を実行する作業は、あまり簡単ではありません。2D スプライン シェイプでは、3D ジオメトリで使用したブール演算は使用できません。シェイプ(編集可能スプラインに変換済み)では、[修正](Modify)パネル [ジオメトリ](Geometry)ロールアウトからブール演算機能が提供されます。このブール演算は、3D ジオメトリの 2 つの部分に対して実行したブール演算とは異なり、単一のスプラインに対してのみ実行できます。
したがって、スプライン シェイプに対してブール演算を実行する前に、2 つのうち 1 つの処理を完了しておく必要があります。
[新規シェイプの開始](Start New Shape)にチェックマークが付いていない状態(既定値ではチェックマークが付いている)
一般的な例として、3 つの重なり合った長方形があり、中央の長方形から外側の 2 つの長方形を除去するケースについて考えてみましょう。[新規シェイプの開始](Start New Shape)のチェックマークを消し忘れてしまったとします。
自動的に[修正](Modify)パネルが開きます。
3 つのサブオブジェクト スプラインから成る単一のシェイプができました。
外側の 2 つの四角形を除去した最終的なシェイプ
ここでは、ブール演算を初めて使用するときに注意すべき一般事項について説明します。
オペランドのセットから適切な結果が得られない場合は、モディファイヤを追加し、スタックを集約して、編集可能メッシュまたは編集可能ポリゴンを作成します。モディファイヤの適用を省略して、オブジェクトを集約し、編集可能メッシュや編集可能ポリゴンを作成することもできます。具体的には、シーンに対して、[編集](Edit) [一時保存](Hold)または[ファイル](File) [名前を付けて保存](Save As)を実行します。スタック内の既存のモディファイヤのパラメータは調整できません。
通常よりも多くの面を持つオブジェクトを作成するのが普通です。たとえば、もう一方のオブジェクトがより複雑な場合は、ボックスの[高さセグメント](Height Segments)、[幅セグメント](Width Segments)、[長さセグメント](Length Segments)の値を大きくします。両方のオペランドの面の数を同じにします。面の数が多ければ、ブール演算によって作成されるエッジがより滑らかになります。ブール演算によって期待どおりの結果が得られたら、[最適化](Optimize)モディファイヤを適用して、オブジェクトの面の数を減らします。
オペランドとして使用するオブジェクトの有効性を確認する 1 つの方法として、[STL チェック](STL-Check)モディファイヤを適用する方法があります。このモディファイヤは、主に、STL ファイルに書き出すオブジェクトが完成していて、サーフェスが閉じていることを確認するために使用されます。ブール演算は、同じ基準に合致したオブジェクトで使用すると最も効果的なので、オペランドで STL チェックを使用します。オブジェクトに STL チェックを適用したら、[確認](Check)にチェックマークを付けます。エラーが検出された場合、[ステータス](Status)領域にエラーが表示されます。