张丽辉
前言
Rhinoceros是以NURBS 为理论基础的 3D 建模软件,是一款超强的三维建模工具,可以建立、编辑、分析及转译 NURBS,以直线、圆弧、圆圈、正方型等基本数学 2D 图形来做仿真,非常适合运用于教育学习、游戏设计及工业设计领域。
但是在实际建模中常常出现运算差集失败的现象,本文试图探讨其形成原因及对策。
一、犀牛(Rhinoceros )软件特介绍
Rhino提供所有NURBS功能,丰富的辅助工具,如实时渲染、层的控制、对象的显示状态等。Rhino可以定制自己的命令集;还提供命令行的输入方法,用户可以输入命令的名称和参数。 Rhino可以输出许多种格式的文件。可以直接输出NURBS模型到3DMax、Softimage3D等软件中,另外也可以把NURBS转换为多边形组成的物体,供其他软件调用。
二、犀牛(Rhinoceros )优点
1、“体积”小,大小才几十兆,硬件要求也很低。占用内存较小, Rhino全部安装完毕才区区20几 兆。功能却很多,能够实现很多领域的建模需要。
2、操作简单。犀牛工具菜单栏设置,视窗设计十分直观,运用起来十分快捷自如,切换视图方便。
3、强大的曲线建模方式,能够让人在很短時间能完成模型创造。
犀牛的NURBS建模方式可以轻松建立比较漂亮的曲面。
4、可以快速完成设计师的概念设计,无关尺寸的快速原型也可快速建模。Rhino在设计初期用来记录想法概念,能够快速的表达设计师的想法创意,使用起来比较自由。
三、犀牛(Rhinoceros )缺点
1、利用Rhino不能生成带有注释和标识的二维图形。
2、虽然它带有一些有用的渲染功能,但是犀牛不能达到真实的渲染效果。不过,我们可以在建完模型后,导出文件到Keyshot里进行渲染,形成逼真效果。
四、布尔运算介绍
布尔运算包括:并集,交集,差集,分割是用来编辑实体(封闭曲面)的工具;和数学中集合的并集∪,交集∩,差集,差不多。
1、实体布尔运算:以两个物件做布尔运算,可以预览各种可能的布尔运算结果。
2、曲线布尔运算:修剪、分割、组合有重叠区域的曲线。
3、网格布尔运算: 以一个物件减去另一个物件、以两个物件交集的部分建立另一个物件或将两个物件合并为单一体积的网格物件。
五、布尔运算差集失败解析
在设计建模过程中,常常出现布尔运算差集失败现象。
布尔差集是以一组多重曲面/曲面减去另一组多重曲面/曲面与它交集的部分。步骤如下:选取要被减去的曲面或多重曲面,按 Enter。选取要减去其它物件的曲面或多重曲面,按 Enter。
以下是几个可能造成布尔运算失败的原因:
1、曲面的法线方向不正确
布尔运算以物件的法线方向决定物件要删除或保留的部分,当您想做布尔运算差集却得到布尔运算联集的结果是因为曲面的法线方向不正确的关系,这种情形通常发生在以开放的物件进行布尔运算时。请使用 Dir 指令检查物件的法线方向,必要时可以使用反转选项变更曲面的法线方向。封闭的物件的法线方向一定朝外,所以不会有这样的问题。
2、两个物件交集处的有控制点重叠在一起 (汇集点)
曲面一个边缘上的所有控制点重叠在同一个位置称为汇集点。在 Rhino 里,圆锥体的顶点、球体的两极、三个边的未修剪曲面都有汇集点,手动将控制点移动到同一个位置也可以形成汇集点。
当两个物件的交集处有汇集点时可能会造成布尔运算失败。
如:圆锥体的顶点和立方体的角位于同一个位置,这样的情形会造成布尔运算失败。
3、物件可能有某部分的曲面重叠或正切
当两个曲面有部分重叠时,例如:两个立方体只有两个面互相接触,这种情形只能做联集,无法做差集与交集。
4、非流形的边缘
除了重叠的曲面可能造成布尔运算失败以外,非流形的边缘也是原因之一。组合三个网格面或曲面的边缘称为非流形边缘。
六、布尔运算差集失败解决方法:
1、汇集点导致的运算失败可以将物件炸开为个别的曲面,使用 Intersect 指令计算不同曲面之间的交线,再以建立的交线修剪或分割曲面,最后再将曲面重新组合在一起。也可以将面偏移或者移动少许距离.(偏移或移动的距离要大于软件公差,保证加工精度。如果过大可以在操作成功后再减回相应的数据。)
2、用线框显示所操作的对象,然后再做布尔运算(或裁减,分割),如果失败,软件自动将问题区域显示为红色,可将问题区域分割开来(即分成两部分),再作布尔运算,然后抽取问题区域面单独处理,缝合,再补丁上去,此法可解决大部分布尔运算失败的问题。
3、相对形状比较复杂(烂面)布尔运算失败时,可将部件全部抽取成相同类型曲面,然后再缝合成实体。这种方法,可应付几乎所有加减失败的问题,但也最麻烦,实在没办法的情况下才建议采用。
4、修复几何体。文件-导出-修复几何体。内定公差为0.5,有时可适当调大些。指定导出的PRT名。然后打开导出的PRT档案再进行布尔操作即可。这个操作简单,实用性强。可解决半数布尔出错问题。推荐为首选操作。
结语
犀牛软件只有我们熟练掌握它的各项命令及其特点,才能熟练建出理想的模型。布尔运算在建模中的实际应用。
参考文献:
[1]吴春燕,刘冰.西安石油大学学报(自然科学版).2005,(05)
德宏师范高等专科学校 678400