BooleanUnion

Toolbar Menu

Main
Main2
Solid Tools

Solid

Union

 启用建构历史

BooleanUnion 指令减去选取的多重曲面/曲面交集的部分,并以未交集的部分组合成为一个多重曲面。

步骤

  • Select the objects and press Enter.

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

指令行选项

删除输入物件

Deletes (Yes) or keeps (No) the input object.

 History enabled

删除输入物件=不支持建构历史。

MergeCoplanarFaces

Combines adjacent coplanar faces into a single face when the Boolean operation is completed.

BooleanDifference

Toolbar Menu

Solid Tools

Solid

Difference

 启用建构历史

BooleanDifference 指令以一组多重曲面/曲面减去另一组多重曲面/曲面与它交集的部分。

步骤

  1. Select surfaces or polysurfaces to subtract from, and press Enter.

  2. Select surfaces or polysurfaces to subtract with, and press Enter.

指令行选项

DeleteInput

Deletes (Yes) or keeps (No) the input objects.

 启用建构历史

删除输入物件=不支持建构历史。

DeleteCutters

When DeleteInput=Yes, deletes the object used to subtract the other object.

  • Rhino 是一个曲面建模工具。从一个球体内减去另一个球体,不可能创建出一个类似网球的物件,创建的是类似实体墙包围着的一个封闭空间。

BooleanIntersection

Toolbar Menu

Solid Tools

Solid

Intersection

 History enabled

BooleanIntersection 指令减去两组多重曲面/曲面未交集的部分。

步骤

  1. Select the first set of objects or a set of intersecting objects and press Enter.

  2. If a first set of objects was selected, select the second set of objects and press Enter.

DeleteInput

Deletes (Yes) or keeps (No) the input objects.

 History enabled

删除输入物件=否支持记录建构历史。

BooleanSplit

ToolbarMenu

Solid Tools

Solid

Boolean Split

 启用建构历史

BooleanSplit 指令从第一组多重曲面减去它与第二组多重曲面交集的部分,并以交集的部分建立另一个物件。

步骤

  1. Select the first set of objects and press Enter.

  2. Select the cutting objects and press Enter.
    切割用物件也可以同时是被切割的物件。

指令行选项

DeleteInput

Deletes (Yes) or keeps (No) the input objects.

 启用建构历史

删除输入物件=不支持建构历史。

Boolean2Objects

ToolbarMenu

Solid Tools

Solid

Boolean Two Objects

Boolean2Objects 指令可以使用鼠标左键轮流切换各种布尔运算可能的结果。

步骤

  1. 选取两个物件。

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

    联集

    差集 A - B

    差集 B - A

    交集

    反向交集

指令行选项

DeleteInput

Deletes (Yes) or keeps (No) the input objects.

布尔运算疑难排解

如果布尔运算失败,将会在导致计算失败的交叉位置或外露边缘处放置文字注释点,搜索这些注释点以检查导致失败的位置。

错误的详细信息可以在注解圆点中的次要文本中看到。

布尔运算指令也可以用于曲面以及开放的多重曲面,运算结果取决于物件法线的方向。使用 Dir 指令可以查看方向。如果布尔运算的结果与您期望的相反,您可以使用 DirFlip 指令反转曲面方向,然后重试。

操作之前先尝试使用 Join 指令组合曲面。

对于网格物件,操作步骤与 NURBS 物件布尔运算相同,无论输入物件是什么类型,指令的结果总会生成一个网格。

为什么布尔运算会失败?

布尔运算失败有以下原因:

  • 法线方向与您预期的不同。
  • 控制点集中于两个物件相交位置附近。
  • 物件的曲面有重叠的部分。

曲面法线

布尔运算使用曲面法线方向决定保留和丢弃的部分。当您执行布尔差集结果却得到了布尔联集的结果,或者执行布尔联集却得到了布尔差集的结果,都是因为物件的方向与您期望的是相反的,如果一个或多个物件没有完全闭合,也会发生这种情况,这是因为 Rhino 无法确定未闭合物件哪边才是物件的外面,您可以使用 Dir 指令查看物件的法线方向,然后通过反转选项更改物件的法线方向。完全闭合的物件在未反转法线之前,法线都是指向外面的。

控制点汇集

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

当两个要做布尔运算的物件相交位置附近有控制点汇集时,会形成几何上的“奇点”,这种情况可能导致布尔运算失败。

曲面重叠

曲面重叠指两个曲面的某些部分共用同一个区域。在这个例子中,两个立方体表面靠在一起,物件只能做联集运算,不能做差集交集运算。

非流形的边缘

除了重叠曲面之外,非流形边缘也会导致失败。

被三个或以上网格面或曲面共用的边缘称为非流形边缘。

如何操作

如果无法执行布尔运算,可以通过其他方式获得想要的结果。

在这个例子中,锥体的顶点正好在立方体的角上,这是可能导致布尔运算失败的情况之一。

在这个案例中,作为布尔运算的替代方案,使用 Explode 指令将多重曲面炸开为数个单一曲面,使用 Intersect 指令在相交的两个曲面上求交线,使用交线修剪分割曲面,去除不要的部分然后再将需要的部分组合在一起。

PlanarUnion

Toolbar

Menu

Planar Booleans

Surface Tools

Surface

Planar Boolean

PlanarUnion 指令可以将重叠的平面曲面合并为单一曲面。

PlanarDifference

Toolbar

Menu

Planar Booleans

Surface

Planar Boolean

PlanarDifference 指令执行时选取两个重叠的平面,然后第一个平面作为被减平面, 第二个平面为修剪平面,修剪掉重叠的区域。

PlanarIntersection

Toolbar

Menu

Planar Booleans

Surface

Planar Boolean

PlanarIntersection 指令可以从两个平面曲面的重叠区域创建一个曲面。

请参考

Rhino Wiki: Boolean FAQ

Boolean objects