工具列 | 功能表 |
---|---|
|
实体 联集 |
BooleanUnion 指令减去选取的多重曲面/曲面交集的部分,并以未交集的部分组合成为一个多重曲面。
指令行选项
删除 (是) 或保留 (否) 输入物件。
删除输入物件=不支持建构历史。
工具列 | 功能表 |
---|---|
|
实体 差集 |
BooleanDifference 指令以一组多重曲面/曲面减去另一组多重曲面/曲面与它交集的部分。
指令行选项
删除 (是) 或保留 (否) 输入物件。
工具列 | 功能表 |
---|---|
|
实体 交集 |
BooleanIntersection 指令减去两组多重曲面/曲面未交集的部分。
工具列 | 功能表 |
---|---|
|
实体 布尔运算分割 |
BooleanSplit 指令从第一组多重曲面减去它与第二组多重曲面交集的部分,并以交集的部分建立另一个物件。
指令行选项
删除 (是) 或保留 (否) 输入物件。
删除输入物件=不支持建构历史。
工具列 | 功能表 |
---|---|
|
实体 布尔运算两个物件 |
Boolean2Objects 指令可以使用鼠标左键轮流切换各种布尔运算可能的结果。
指令行选项
删除 (是) 或保留 (否) 输入物件。
如果布尔运算失败,将会在导致计算失败的交叉位置或外露边缘处放置文字注释点,搜索这些注释点以检查导致失败的位置。
错误的详细信息可以在注解圆点中的次要文本中看到。
布尔运算指令也可以用于曲面以及开放的多重曲面,运算结果取决于物件法线的方向。使用 Dir 指令可以查看方向。如果布尔运算的结果与您期望的相反,您可以使用 Dir 或 Flip 指令反转曲面方向,然后重试。
操作之前先尝试使用 Join 指令组合曲面。
对于网格物件,操作步骤与 NURBS 物件布尔运算相同,无论输入物件是什么类型,指令的结果总会生成一个网格。
布尔运算失败有以下原因:
布尔运算使用曲面法线方向决定保留和丢弃的部分。当您执行布尔差集结果却得到了布尔联集的结果,或者执行布尔联集却得到了布尔差集的结果,都是因为物件的方向与您期望的是相反的,如果一个或多个物件没有完全闭合,也会发生这种情况,这是因为 Rhino 无法确定未闭合物件哪边才是物件的外面,您可以使用 Dir 指令查看物件的法线方向,然后通过反转选项更改物件的法线方向。完全闭合的物件在未反转法线之前,法线都是指向外面的。
控制点汇集是指多个控制点重叠在曲面边缘上的同一个位置。例如,圆锥体的顶点、球体的两极、三个边的未修剪曲面上都有控制点汇集,手动将控制点移动到同一个位置也可以形成控制点汇集。控制点汇集处也称为奇点。
当两个要做布尔运算的物件相交位置附近有控制点汇集时,会形成几何上的“奇点”,这种情况可能导致布尔运算失败。
曲面重叠指两个曲面的某些部分共用同一个区域。在这个例子中,两个立方体表面靠在一起,物件只能做联集运算,不能做差集与交集运算。
除了重叠曲面之外,非流形边缘也会导致失败。
被三个或以上网格面或曲面共用的边缘称为非流形边缘。
如果无法执行布尔运算,可以通过其他方式获得想要的结果。
在这个例子中,锥体的顶点正好在立方体的角上,这是可能导致布尔运算失败的情况之一。
在这个案例中,作为布尔运算的替代方案,使用 Explode 指令将多重曲面炸开为数个单一曲面,使用 Intersect 指令在相交的两个曲面上求交线,使用交线修剪或分割曲面,去除不要的部分然后再将需要的部分组合在一起。
工具列 |
功能表 |
---|---|
|
曲面 平面布尔运算 |
PlanarDifference 指令执行时选取两个重叠的平面,然后第一个平面作为被减平面, 第二个平面为修剪平面,修剪掉重叠的区域。
Rhinoceros 8 © 2010-2024 Robert McNeel & Associates. 01-4月-2024