BooleanUnion

ツールバー メニュー

メイン
メイン2
ソリッドツール

ソリッド

BooleanUnionコマンドは、選択されたポリサーフェスまたはサーフェスの共有されている領域をトリムし、共有されていない領域から1つのポリサーフェスを作成します。

操作手順

BooleanDifference

ツールバー メニュー

ソリッドツール

ソリッド

BooleanDifferenceコマンドは、選択されたポリサーフェスまたはサーフェスと別のポリサーフェスまたはサーフェスのセットが共有する領域をトリムします。

操作手順

  1. 差演算をする元のサーフェスまたはポリサーフェスを選択し、Enterを押します。
  2. 無限平面: InfinitePlane(無限平面)オプションを使用するには、IPと入力します。

  3. 差演算に用いるサーフェスまたはポリサーフェスを選択し、Enterを押します。

コマンドラインオプション

元のオブジェクトを削除

元のオブジェクト(入力オブジェクト)を削除 (はい)、または維持 (いいえ)します。

Rhinoはサーフェスモデラーです。球の中にある別の球を差演算して、中身のない1枚壁を持つテニスボールのようなオブジェクトを作成することはできません。

BooleanIntersection

ツールバー メニュー

ソリッドツール

ソリッド

BooleanIntersectionコマンドは、選択されたポリサーフェスまたはサーフェスの共有されてない領域を切り取ります。

操作手順

  1. オブジェクトの1つ目のセット、または交差しているオブジェクトのセットを選択し、Enterキーを押します。
  2. 無限平面: InfinitePlane(無限平面)オプションを使用するには、IPと入力します。

  3. オブジェクトの1つ目のセットが選択された場合、オブジェクトの2つ目のセットを選択し、Enterキーを押します。
元のオブジェクトを削除

元のオブジェクト(入力オブジェクト)を削除 (はい)、または維持 (いいえ)します。

BooleanSplit

ツールバー メニュー

ソリッドツール

ソリッド

ブール演算分割

BooleanSplitコマンドは、選択されたポリサーフェスまたはサーフェスの共有されている領域を分割し、共有されている、そして共有されていない部分から別のポリサーフェスを作成します。

操作手順

  1. オブジェクトの1つ目のセットを選択し、Enterキーを押します。
  2. 無限平面: InfinitePlane(無限平面)オプションを使用するには、IPと入力します。

  3. 切断に用いるオブジェクトを選択し、Enterキーを押します。
    切断に用いるオブジェクトと分割するオブジェクトには、同じオブジェクトを指定することもできます。

コマンドラインオプション

元のオブジェクトを削除

元のオブジェクト(入力オブジェクト)を削除 (はい)、または維持 (いいえ)します。

Boolean2Objects

ツールバー メニュー

ソリッドツール

ソリッド

2つのオブジェクトをブール演算

Boolean2Objectsコマンドは、マウスをクリックすると、2つのオブジェクトの間に可能なブール演算が順番に表示されます。

操作手順

  1. オブジェクトを2つ選択します。
  2. 無限平面: InfinitePlane(無限平面)オプションを使用するには、IPと入力します。

  3. 希望する結果(ブール演算)が表示されるまで、ビューポートをクリックします。


    差(A-B)
    差(B-A)
    積の反転

コマンドラインオプション

元のオブジェクトを削除

元のオブジェクト(入力オブジェクト)を削除 (はい)、または維持 (いいえ)します。

ブール演算のトラブルシューティング

ブール演算の操作が失敗した場合、オープンエッジまたは適切でない交差がある部分を示すテキストドットがモデルに配置されます。問題を起こしている部分を調べるには、これらのテキストドットを探してください。

エラーの詳細情報はドットのプロパティの二次テキストに表示されます。


Boolean関係のコマンドは、サーフェスや開いたポリサーフェスにも使用できます。演算の結果は、選択したオブジェクトの法線の方向によって変ります。法線の方向を確認するには、Dirコマンドを使用します。求めている結果とは逆の結果が生じた場合は、サーフェスの方向をDirまたはFlipコマンドを使用して反転し、もう一度やり直してください。

サーフェスの場合は、最初にJoinコマンドを使用してみるとよいでしょう。

メッシュのブール演算の操作方法は、それぞれのNURBSのブール演算の操作方法と同じです。元のオブジェクトがどのようなタイプであっても、コマンドの結果はメッシュになります。

ブール演算が失敗する理由

ブール演算に失敗した場合、以下の理由が考えられます。

サーフェス法線

ブール演算はサーフェスの法線を使い、保持する部分と削除する部分を判断します。BooleanDifferenceを試みて、代わりにBooleanUnionになってしまった場合などは、法線の向きが思っている向きと逆になっている(反転されている)ことが考えられます。これは、1つまたは複数のオブジェクトが完全に閉じられていなかった場合に起こる傾向があります。オブジェクトが閉じられていなかった場合、Rhinoはどちらの側が外側で、どちらの側が内側かを決定できません。Dirコマンドを使用して、オブジェクトで法線がどちらの方向を向いているか確認してください。必要があれば、反転オプションを使い、法線方向が「外側」を向くようにしてください。完全に閉じたオブジェクトの法線は常に外を向いています。

重なり合っている制御点

重なり合っている制御点は、サーフェスのエッジにある制御点が同じ位置に配置されている場合に発生します。例えば、円錐の頂点や3つのエッジがあるトリムされていないサーフェス、球体の極などに発生します。また、制御点を同じ位置に移動することもできます。この点は、特異点とも呼ばれています。

このような特異点が、ブール演算をしたい2つのオブジェクトの交差点に位置している場合、演算がうまくいかないことがあります。

オーバーラップしているサーフェスエリア

2つのサーフェスが同じエリアを共有するとサーフェスエリアのオーバーラップが生じます。この例では、2つの箱が互いに接触しています。ブール演算でこれらのオブジェクトのは実行できますが、は実行できません。

非多様エッジ

オーバーラップしているサーフェスに加え、非多様体エッジも失敗につながります。

2つ以上の面が1つのエッジに結合されているポリサーフェスまたはメッシュのエッジは非多様体です。

対応策

オブジェクトがブール演算できない場合、他の対応策を使って結果を得ることができます。

この例では、円錐の頂点がちょうど箱の角にあたっています。この状態では、ブール演算に失敗します。

こういった場合にはブール演算を行う代わりに、必要であればExplodeコマンドを使いポリサーフェスを1つのサーフェスに分割します。Intersectコマンドを使い、2つのサーフェスが交差する曲線を作成します。この曲線を使い、Trimそして/またはSplitを使ってパスを作成して、それからJoinコマンドを使い接続します。

次もご覧ください。

Rhino Wiki: Boolean FAQ

オブジェクトのブール演算を行う

 

 

 

Rhinoceros 7 © 2010-2021 Robert McNeel & Associates. 17-12-2021