NURBS 布尔运算

附注:

  • 在启动指令之前预选第一个物件或全部物件。

  • 布尔运算指令也可以使用于曲面和开放的多重曲面
    ,其结果与被选取的物件的法线方向
    有关。您可以使用 Dir
    指令检查曲面的方向。如果布尔运算的结果和您所预期的不一样,也可以使用 Dir
    Flip
    指令反转曲面的法线方向后再试一次。

  • 如有需要,请先使用 Join
    指令将数个曲面组合成为一个多重曲面。

  • 网格物件的布尔运算请使用网格 布尔运算
    指令。

BooleanDifference

从一组多重曲面
或曲面减去与另一组多重曲面或曲面交集的部分。

步骤:

  1. 选取

    第一组物件,按 Enter

  2. 选取第二组物件,按 Enter

选项

删除输入物件

Rhinoceros BooleanDifference 布尔运算

实体工具 > 布尔运算差集

Rhinoceros Menu2 布尔运算

实体 > 差集

Rhinoceros Gray Book Open 布尔运算 相关主题…

BooleanIntersection

减去两组多重曲面
或曲面未交集的部分。

步骤:

  1. 选取

    第一组物件,按 Enter

  2. 选取第二组物件,按 Enter

选项

删除输入物件

Rhinoceros BooleanIntersection 布尔运算

实体工具 > 布尔运算交集

Rhinoceros Menu2 布尔运算

实体 > 交集

Rhinoceros Gray Book Open 布尔运算 相关主题…

BooleanUnion

减去两组多重曲面
或曲面交集的部分,并以未交集的部分组合成为一个多重曲面。

步骤:

  • 选取

    数个物件,按 Enter

  • 所有的物件会结合成一个多重曲面。

选项

删除输入物件

Rhinoceros BooleanUnion 布尔运算

实体工具 > 布尔运算并集

主要 2 > 布尔运算并集

Rhinoceros Menu2 布尔运算

实体 > 并集

Rhinoceros Gray Book Open 布尔运算 相关主题…

BooleanSplit

以两组多重曲面
或曲面交集及未交集的部分分别建立多重曲面。

步骤:

  1. 选取

    第一组物件,按 Enter

  2. 选取切割用物件,按 Enter

  3. 附注:切割用物件也可以同时是被切割的物件。

选项

删除输入物件

Rhinoceros BooleanSplit 布尔运算

实体工具 > 布尔运算分割

Rhinoceros Menu2 布尔运算

实体 > 布尔运算分割

Rhinoceros Gray Book Open 布尔运算 相关主题…

Boolean2Objects

可以用鼠标左键循环切换布尔运算的结果:并集、交集、差集 ( A – B 和 B – A )、反向交集。

步骤:

  1. 选取

    两个物件。

  2. 在作业视窗里连续按鼠标左键做循环切换,直到得到您想要的结果。

选项

删除输入物件

Rhinoceros Boolean2Objects 布尔运算

实体工具 > 布尔运算两个物件 ( 右键 )

Rhinoceros Menu2 布尔运算

实体 > 布尔运算两个物件

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

减去两组网格、多重曲面
或曲面交集的部分,并以未交集的部分组合成为一个网格。

请参考:BooleanUnion
指令的说明。

Rhinoceros MeshBooleanUnion 布尔运算

网格 > 网格布尔运算并集

网格布尔运算 > 网格布尔运算并集

Rhinoceros Menu2 布尔运算

网格 > 网格布尔运算 > 并集

Rhinoceros Gray Book Open 布尔运算 相关主题…

MeshBooleanSplit

以两组网格、多重曲面
或曲面交集及未交集的部分分别建立网格。

请参考:BooleanSplit
指令的说明。

Rhinoceros MeshBooleanSplit 布尔运算

网格布尔运算 > 网格布尔运算分割

Rhinoceros Menu2 布尔运算

网格 > 网格布尔运算 > 布尔运算分割

Rhinoceros Gray Book Open 布尔运算 相关主题…

布尔运算疑难排解

Rhinoceros Gray Book Open 布尔运算 相关主题…

以下是几个可能造成布尔运算失败的原因:

  • 曲面的法线方向不正确。

  • 两个物件交集处的有控制点
    重叠在一起 ( 汇集点 )。

  • 物件可能有某部分的曲面重叠或相切。

曲面法线

布尔运算以曲面的法线方向决定物件的哪一个部分应该被删除,当您想做布尔运算差集的时候得到的结果确是并集 ( 反之亦然 ),这是因为曲面的法线方向相反所造成的。

两个曲面有部分重叠或只有互相接触没有实际的交集时,布尔运算非常容易失败。一个物件的某一个部分深入另一个物件,有明确的交集而且没有相切,布尔运算才能成功。

控制点汇集点

曲面一个边缘上的所有控制点重叠在同一个位置称为汇集点。在 Rhino 里,圆锥体的顶点、球体的两极、三个边的未修剪曲面都有汇集点,手动将控制点移动到同一个位置,也可以形成汇集点。

当两个物件的交集处有汇集点时,也会造成布尔运算失败。

Rhinoceros when booleans fail 002 布尔运算

重叠的曲面

当两个曲面有部分重叠时,例如:两个立方体只有两个面互相接触。这种情形只能做并集
,而无法做差集
交集

Rhinoceros when booleans fail 003 布尔运算

替代方法

如果两个物件无法做布尔运算,您可以使用其它的方法得到同样的结果。

在上面的范例里,圆锥体的顶点和立方体的角位于同一个位置,这样的情形会造成布尔运算失败。

您可以将物件炸开
成个别的曲面,使用 Intersect
指令计算不同曲面之间的交线,再以建立的交线修剪
分割
曲面,最后再将曲面重新组合
在一起。

 

布尔运算