BooleanUnion
Toolbar | Menu |
---|---|
|
Solid Union |
BooleanUnion 指令减去选取的多重曲面/曲面交集的部分,并以未交集的部分组合成为一个多重曲面。
指令行选项
删除输入物件
Deletes (Yes) or keeps (No) the input object.
删除输入物件=不支持建构历史。
MergeCoplanarFaces
Combines adjacent coplanar faces into a single face when the Boolean operation is completed.
Toolbar | Menu |
---|---|
|
Solid Difference |
BooleanDifference 指令以一组多重曲面/曲面减去另一组多重曲面/曲面与它交集的部分。
步骤
指令行选项
DeleteInput
Deletes (Yes) or keeps (No) the input objects.
删除输入物件=不支持建构历史。
DeleteCutters
When DeleteInput=Yes, deletes the object used to subtract the other object.
- Rhino 是一个曲面建模工具。从一个球体内减去另一个球体,不可能创建出一个类似网球的物件,创建的是类似实体墙包围着的一个封闭空间。
Toolbar | Menu |
---|---|
|
Solid Intersection |
BooleanIntersection 指令减去两组多重曲面/曲面未交集的部分。
步骤
Toolbar | Menu |
---|---|
Solid Boolean Split |
BooleanSplit 指令从第一组多重曲面减去它与第二组多重曲面交集的部分,并以交集的部分建立另一个物件。
步骤
指令行选项
DeleteInput
Deletes (Yes) or keeps (No) the input objects.
删除输入物件=不支持建构历史。
Toolbar | Menu |
---|---|
Solid Boolean Two Objects |
Boolean2Objects 指令可以使用鼠标左键轮流切换各种布尔运算可能的结果。
步骤
选取两个物件。
在工作视窗里连续按鼠标左键做循环切换,直到得到您想要的结果。
联集
差集 A - B
差集 B - A
交集
反向交集
指令行选项
DeleteInput
Deletes (Yes) or keeps (No) the input objects.
布尔运算疑难排解
如果布尔运算失败,将会在导致计算失败的交叉位置或外露边缘处放置文字注释点,搜索这些注释点以检查导致失败的位置。
错误的详细信息可以在注解圆点中的次要文本中看到。
布尔运算指令也可以用于曲面以及开放的多重曲面,运算结果取决于物件法线的方向。使用 Dir 指令可以查看方向。如果布尔运算的结果与您期望的相反,您可以使用 Dir 或 Flip 指令反转曲面方向,然后重试。
操作之前先尝试使用 Join 指令组合曲面。
对于网格物件,操作步骤与 NURBS 物件布尔运算相同,无论输入物件是什么类型,指令的结果总会生成一个网格。
为什么布尔运算会失败?
布尔运算失败有以下原因:
- 法线方向与您预期的不同。
- 控制点集中于两个物件相交位置附近。
- 物件的曲面有重叠的部分。
曲面法线
布尔运算使用曲面法线方向决定保留和丢弃的部分。当您执行布尔差集结果却得到了布尔联集的结果,或者执行布尔联集却得到了布尔差集的结果,都是因为物件的方向与您期望的是相反的,如果一个或多个物件没有完全闭合,也会发生这种情况,这是因为 Rhino 无法确定未闭合物件哪边才是物件的外面,您可以使用 Dir 指令查看物件的法线方向,然后通过反转选项更改物件的法线方向。完全闭合的物件在未反转法线之前,法线都是指向外面的。
控制点汇集
控制点汇集是指多个控制点重叠在曲面边缘上的同一个位置。例如,圆锥体的顶点、球体的两极、三个边的未修剪曲面上都有控制点汇集,手动将控制点移动到同一个位置也可以形成控制点汇集。控制点汇集处也称为奇点。
当两个要做布尔运算的物件相交位置附近有控制点汇集时,会形成几何上的“奇点”,这种情况可能导致布尔运算失败。
曲面重叠
曲面重叠指两个曲面的某些部分共用同一个区域。在这个例子中,两个立方体表面靠在一起,物件只能做联集运算,不能做差集与交集运算。
非流形的边缘
除了重叠曲面之外,非流形边缘也会导致失败。
被三个或以上网格面或曲面共用的边缘称为非流形边缘。
如何操作
如果无法执行布尔运算,可以通过其他方式获得想要的结果。
在这个例子中,锥体的顶点正好在立方体的角上,这是可能导致布尔运算失败的情况之一。
在这个案例中,作为布尔运算的替代方案,使用 Explode 指令将多重曲面炸开为数个单一曲面,使用 Intersect 指令在相交的两个曲面上求交线,使用交线修剪或分割曲面,去除不要的部分然后再将需要的部分组合在一起。
Toolbar | Menu |
---|---|
Surface Planar Boolean |
PlanarUnion 指令可以将重叠的平面曲面合并为单一曲面。
Toolbar | Menu |
---|---|
Surface Planar Boolean |
PlanarDifference 指令执行时选取两个重叠的平面,然后第一个平面作为被减平面, 第二个平面为修剪平面,修剪掉重叠的区域。
Toolbar | Menu |
---|---|
Surface Planar Boolean |
PlanarIntersection 指令可以从两个平面曲面的重叠区域创建一个曲面。