Rhino(犀牛)中国技术支持与推广中心

标题: 布尔运算 交集失败 [打印本页]

作者: a1781314    时间: 2010-11-29 16:36
标题: 布尔运算 交集失败
本帖最后由 a1781314 于 2010-11-29 16:41 编辑

做模型的时候   发现布尔运算失败。。  求各位帮帮我~~~~

我估计是那个接缝处的问题,  我把那个管子放到其他地方就能够布尔运算。
但是放在接缝处的正中间就不可以。。  不过到底是哪的问题,还得请各位帮帮我~~



01.jpg (18.51 KB, 下载次数: 11)

01.jpg

test.rar

374.41 KB, 下载次数: 102


作者: 7080279    时间: 2010-11-29 17:10
都是实体嘛?
作者: 7080279    时间: 2010-11-29 17:12
以下是几个可能造成布尔运算失败的原因:

曲面的法线方向不正确。

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

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

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

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


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

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



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



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

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

您可以将物件炸开成个别的曲面,使用 Intersect 指令计算不同曲面之间的交线,再以建立的交线修剪或分割曲面,最后再将曲面重新组合在一起。
作者: Jessesn    时间: 2010-11-29 17:33
做模型的时候   发现布尔运算失败。。  求各位帮帮我~~~~

我估计是那个接缝处的问题,  我把那个管子放到其他地方就能够布尔运算。
但是放在接缝处的正中间就不可以。。  不过到底是哪的问题,还得请各位帮帮我~ ...
a1781314 发表于 2010-11-29 16:36


你将上面的小Solid,沿着其中心线选择90度(或者别的角度),如下图所示

避开曲面闭合线相交就可以完成 布尔运算了,严格的讲这属于Rhino4 的Bug,谢谢提供,我会尽快反馈给公司。
作者: Jessesn    时间: 2010-11-29 17:35
BooleanDifference 结果如下

作者: Jessesn    时间: 2010-11-29 17:39
以下是几个可能造成布尔运算失败的原因:

曲面的法线方向不正确。

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

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

曲面法线
布尔运算以曲面的法线方向决定物件的 ...
7080279 发表于 2010-11-29 17:12


谢谢总结 
作者: 7080279    时间: 2010-11-29 17:47
不敢不敢
呵呵
谢谢J大的分
这都是中文帮助上的
作者: a1781314    时间: 2010-11-29 17:52
7# 7080279

我就说嘛。。应该是闭合线的问题。。。感谢楼上2位的帮忙~~~




欢迎光临 Rhino(犀牛)中国技术支持与推广中心 (http://bbs.rhino3d.asia/) Powered by Discuz! X3.2