NURBSのブール演算

メモ:

  • コマンドによって、1つ目のオブジェクトや、操作で使用するすべてのオブジェクトを、コマンドを実行する前に選択しておくこともできます。

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

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

  • メッシュオブジェクトのブール演算については、メッシュのブール演算
    をご覧ください。

BooleanDifference

選択されたポリサーフェス
またはサーフェスと、別のポリサーフェスまたはサーフェスのセットが共有する領域を切り取ります。

操作方法:

  1. オブジェクトの1つ目のセット選択

    し、Enter

    キーを押します。

  2. オブジェクトの2つ目のセット選択し、Enter

    キーを押します。

オプション

元のオブジェクトを削除

Rhinoceros BooleanDifference ブール演算

ソリッドツール > ブール演算: 差

Rhinoceros Menu2 ブール演算

ソリッド > 差

Rhinoceros Gray Book Open ブール演算 関連トピック…

BooleanIntersection

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

操作方法:

  1. オブジェクトの1つ目のセット選択

     し、Enter

    キーを押します。

  2. オブジェクトの2つ目のセット選択し、Enter

    キーを押します。

オプション

元のオブジェクトを削除

Rhinoceros BooleanIntersection ブール演算

ソリッドツール > ブール演算: 積

Rhinoceros Menu2 ブール演算

ソリッド > 積

Rhinoceros Gray Book Open ブール演算 関連トピック…

BooleanUnion

選択されたポリサーフェス
またはサーフェスが共有している領域を切り取り、共有していない領域から1つのポリサーフェスを作成します。

操作方法:

  • オブジェクト選択

    し、Enter

    キーを押します。

  • オブジェクトは1つのポリサーフェスになります。

オプション

元のオブジェクトを削除

Rhinoceros BooleanUnion ブール演算

ソリッドツール > ブール演算: 和

メイン2 > ブール演算: 和

Rhinoceros Menu2 ブール演算

ソリッド > 和

Rhinoceros Gray Book Open ブール演算 関連トピック…

BooleanSplit

選択されたポリサーフェス
またはサーフェスが共有している領域を切り取り、共有している、そして共有していない部分から別々のポリサーフェスを作成します。

操作方法:

  1. オブジェクトの1つ目のセット選択

    し、Enter

    キーを押します。

  2. 切断オブジェクト選択し、Enter

    キーを押します。

  3. メモ: 切断オブジェクトと分割するオブジェクトには、同じオブジェクトを指定することもできます。

オプション

元のオブジェクトを削除

Rhinoceros BooleanSplit ブール演算

ソリッドツール > ブール演算: 分割

Rhinoceros Menu2 ブール演算

ソリッド > ブール演算分割

Rhinoceros Gray Book Open ブール演算 関連トピック…

Boolean2Objects

マウスをクリックして、ブール演算(和、積、差(A-B)、差(B-A)、積の反転)を選択します。

操作方法:

  1. オブジェクトを2つ選択

    します。

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

オプション

元のオブジェクトを削除

Rhinoceros Boolean2Objects ブール演算

ソリッドツール > ブール演算: 2つのオブジェクト(右クリック)

Rhinoceros Menu2 ブール演算

ソリッド > 2つのオブジェクトをブール演算

Rhinoceros Gray Book Open ブール演算 関連トピック…

メッシュのブール演算

メッシュのブール演算の操作方法は、それぞれのNURBSのブール演算の操作方法と同じです。

メモ: 元のオブジェクトがどのようなタイプであっても、コマンドの結果はメッシュになります。

MeshBooleanDifference

選択されたメッシュ、ポリサーフェス
、またはサーフェスと、別のメッシュ、ポリサーフェス、またはサーフェスのセットが共有する領域を切り取ります。

次のトピックを参照してください: BooleanDifference

Rhinoceros MeshBooleanDifference ブール演算

メッシュブール演算 > ブール演算: 差

Rhinoceros Menu2 ブール演算

メッシュ > メッシュのブール演算 > 差

Rhinoceros Gray Book Open ブール演算 関連トピック…

MeshBooleanIntersection

選択されたメッシュ、ポリサーフェス
、またはサーフェスの共有してない領域を切り取ります。

次のトピックを参照してください: BooleanIntersection

Rhinoceros MeshBooleanIntersection ブール演算

メッシュブール演算 > ブール演算: 積

Rhinoceros Menu2 ブール演算

メッシュ > メッシュのブール演算 > 積

Rhinoceros Gray Book Open ブール演算 関連トピック…

MeshBooleanUnion

選択されたメッシュ、ポリサーフェス
、またはサーフェスが共有している領域を切り取り、共有していない領域から1つのメッシュを作成します。

次のトピックを参照してください: BooleanUnion

Rhinoceros MeshBooleanUnion ブール演算

メッシュ > ブール演算: 和

メッシュブール演算 > ブール演算: 和

Rhinoceros Menu2 ブール演算

メッシュ > メッシュのブール演算 > 和

Rhinoceros Gray Book Open ブール演算 関連トピック…

MeshBooleanSplit

選択されたメッシュ、ポリサーフェス
、またはサーフェスが共有している領域を切り取り、共有している、そして共有していない部分から別々のメッシュを作成します。

次のトピックを参照してください: BooleanSplit

Rhinoceros MeshBooleanSplit ブール演算

メッシュブール演算 > ブール演算: 分割

Rhinoceros Menu2 ブール演算

メッシュ > メッシュのブール演算 > 分割

Rhinoceros Gray Book Open ブール演算 関連トピック…

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

Rhinoceros Gray Book Open ブール演算 関連トピック…

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

  • 法線が向くべき方向に向いていない。

  • 制御点
    が2つのオブジェクトの交差する箇所に重なっている。

  • オブジェクトのサーフェスにオーバーラップしているエリアがある。

サーフェス法線

ブール演算はサーフェスの法線を使い、保持する部分と削除する部分を判断します。 ブール演算の差をだそうと代わりに和が出てしまった場合などは、法線の向きが思っている向きと逆になっている(反転されている)ことが考えられます。

オブジェクト間に重なり合ったサーフェス部分があったり、特定の場所やエッジに沿った部分で接触しただけの場合、ブール演算がうまくいかないことがあります。 ブール演算を成功させるには、オブジェクトが接触ではなく完全に重なり合っている状態であることを確認してください。

重なり合っている制御点

重なり合っている制御点は、サーフェスのエッジにある制御点 が同じ位置に配置されている場合に発生します。 これは、Rhinoでは円錐の頂点や球体の軸、三面平面などに自然と発生します。 また、制御点を同じ位置に移動することもできます。 この点は、特異点とも呼ばれています。

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

Rhinoceros when booleans fail 002 ブール演算

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

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

は実行できません。

Rhinoceros when booleans fail 003 ブール演算

対応策

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

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

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

 

ブール演算