2.6 Rhino的模型类型和数据交换
Rhino是NURBS曲面建模软件,用它做的模型,都是NURBS模型。但是输出模型的时候,并不是都以NURBS方式输出模型的。为了加强该软件与其他建模软件的数据兼容性,便于进行数据交换,Rhino提供了多种数据转换格式。
2.6.1 Rhino的模型类型
虽然Rhino是一款强大的NURBS建模软件,但它和其他3D软件一样,仍然提供了较全面的几何体类型,点、线、面一应俱全,只不过其中Polylines(多边形线)和Polygon Mesh(多边形网格)构件功能相对较弱。但由于它提供了Mesh from NURBS Object编辑转换工具,使得它可以将任何NURBS曲面转化为Polygon网格,以满足不同作业的需求。对于Polygon网格面,其原始几何体(如立方体、球体、柱体、锥体等)可以由命令直接生成,复杂的则需要用NURBS曲面转化。
技术要点
专家提示:多边形网格面(Polygon Mesh)是由许多共边的平面组成的,它的基本元素是由3个顶点构成的面,相邻的面共用一个边。多边形网格面的曲面效果是一种视觉假象而非真正的曲面。
2.6.2 Rhino模型的输入与输出
1.Rhino模型的输入
Rhino的模型输入有两种方式:
(1)新建或打开。
单击标准工具栏中的【新建】按钮,就可以创建一个新文档。此时,软件会弹出一个模型文件选择的对话框,这时选择一个模板,然后在【文件名】文本框中输入一个文件名(也可不输入,用默认文件名),单击【打开】按钮即可,如图2-31所示。如果前面有文件编辑后未保存,则软件会弹出是否保存原来的文件的对话框,用户可以按需要单击【是】、【否】或【取消】按钮。
图2-31 【打开模板文件】对话框
此外,用户单击标准工具栏中【打开】按钮,可以打开一个保存过的文件,继续对其进行编辑,如图2-32所示。
图2-32 【开启】对话框
(2)导入
导入文件一般用于将其他类型模型或大型模型的其他组成部分导入到一个文件里进行组合装配或编辑。执行菜单栏中的【文件】|【导入】命令,在弹出的【导入】对话框中选择添加待导入的模型路径即可。Rhino支持导入的文件类型很多,在【文件类型】下拉菜单中有注明,如图2-33所示。
图2-33 【导入】对话框
与【打开】不同,Rhino的【导入】命令可以依次导入多个文件。由于文件类型和尺寸的差异,用户在进行模型导入的过程中,往往会弹出如图2-34所示的对话框。这说明,待导入的文件单位与Rhino目前设置的单位不符,需要进行尺寸或模型的缩放匹配。
图2-34 【导入尺寸缩放比】对话框
● 【以模型实际大小导入】:即依据Rhino设置的尺寸单位,不改变导入模型的实际大小,对尺寸进行调整,指尺寸适配模型,如图2-35所示。
图2-35 以模型实际大小导入
● 【以尺寸标注大小导入】:即根据Rhino设置的尺寸单位,按照导入模型的尺寸标注进行模型缩放,指模型适配尺寸,如图2-36所示。
图2-36 以尺寸标注大小导入
以上两种方法导入模型的对比如图2-37所示。
图2-37 两种导入方法导入同一模型的对比
另外,如果已知待导入模型的尺寸单位,可以先在【Rhino选项】对话框中修改Rhino的模型单位设置,如图2-38所示,使其与待导入模型一致,就不需要再进行缩放了。
图2-38 修改模型单位设置
2.Rhino模型的输出
Rhino模型的输出也有两种方式:
(1)保存或另存为
单击标准工具栏中的【保存】按钮,可以将正在编辑的模型输出保存到计算机中。如需以另外一个文件名或文件类型保存到另外的路径,可以执行菜单栏中【文件】|【另存为】命令,弹出【保存】对话框,如图2-39所示。选择模型输出保存的路径,然后在【文件名】文本框中输入一个文件名(也可不输入,用默认文件名),单击【保存】按钮即可。
图2-39 【保存】对话框
(2)导出
右键单击标准工具栏中的【保存】按钮可执行【导出】命令。Rhino的【导出】命令,操作方法与【导入】类似,在此不再一一讲解,读者可以参考前面的内容举一反三。Rhino可以将某个或多个物体或曲线导出,该功能非常方便。导出文件类型的选择,在下一节有详细介绍。
2.6.3 Rhino与其他软件的数据交换
Rhino是NURBS曲面建模软件,用它做的模型,都是NURBS模型。但是输出模型的时候,并不是都以NURBS方式输出模型的。前面已经提到了两种不同的模型存在方式:NURBS曲面和Polygon Mesh多边形网格物体。并不是所有的软件都同时支持这两种形态的模型。在输出的时候就要考虑模型以何种方式输出,并且要根据不同软件的具体情况来决定用哪种模型形态输出文件。
例如,3ds Max和Maya 3D都同时支持NURBS和Polygon,但是NURBS在3ds Max中运行的效率远不如Polygon,并且3ds Max输入NURBS的速度也很慢,这一点在输入复杂的模型时表现得特别明显。相比之下,Maya 3D对NURBS支持就比3ds Max好多了,因此,输入Maya 3D时选择NURBS方式,可以充分发挥NURBS在Maya 3D的各种优点。
Rhino支持的文件格式多达20多种,下面重点介绍Rhino与常用软件之间进行数据交换的基本方法。这一小节部分内容相对初学者较难,读者如果感到理解困难可以先略过,待读完全书后,再返回此处继续研读。
1.与3ds Max
将Rhino模型输出,然后输入到3ds Max中可以选用插件方式和非插件方式。插件方式就是必须装有交换文件的插件,才能进行文件交换;非插件方式就是只要有这两款软件,它们本身就具备相互的文件交换能力。这里重点讲解非插件方式,插件方式可由读者根据自身的Max是否安装有导入插件而自行摸索,常见的插件有RhinoImport和Power Solid Translator。
非插件方式导入模型的方法,主要通过不同格式文件的导入来进行分类讲解。
(1)3ds是一个常用的文件交换格式
它属于多边形方式输入模型,因此在Rhino中需要把NURBS模型先转为Polygon Mesh网格物体。具体操作方法如下:
01 选择要导出的物体,右键单击【保存】按钮,执行【导出】命令,在【导出】对话框的【保存类型】中选择3ds格式,给出文件名并单击【保存】按钮。
02 弹出【网格选项】对话框,如图2-40所示。这就是转化成多边形网格物体的参数对话框。滑动调节杆,可以产生不同精度的多边形网格物体。Rhino 5.0设置了【预览】功能,可以非常方便地提前预览转化后模型的网格量,如图2-41所示。
图2-40 【网格选项】对话框
图2-41 滑动调节杆,不同网格面选择的前后对比
03 单击该对话框中的【高级控制】按钮,弹出【网格高级选项】对话框,在该对话框中,用户可以对多边形的网格进行进一步的细分和调整,如图2-42所示。
图2-42 【网格高级选项】对话框
04 设置参数结束后,即完成了模型的转化输出。
05 在3ds Max中执行【文件】|【导入】命令,选择该3ds格式文件就可以输入模型了。
很多初学者最大的烦恼就是输出为多边形网格物体的时候,会产生非常巨大的网格面数,这样当其在其他软件中输入模型的时候,运行速度将会变得很慢,文件也会变得相当大。因此,这里给大家介绍一个经过测试证明可以达到较高的显示精度,同时不会产生多大面数的参数设置。方法如下:
首先,采用这个优化的参数设置必须选择【网格高级选项】方式进行设置,而不是默认的滑杆调节方式。
注意,其中【最大角度】是一个绝对数值,它不会随着模型的大小变化而改变转化精度,而【最小边缘长度】和【边缘到曲面的最大距离】则是相对数值,模型的尺寸越小,那么转化精度就越低,产生的面数就越少。因此,这两个参数需要根据模型的大小进行设置。
一般来说,当它们的大小为模型的1/1000时,显示精度已经基本可以达到很平滑,而且面数也不会过多,属于一个最优化的参数设置。另外,如果感觉模型按照优化设置转化后的精度还不是很满意,为了提高网格模型的精度同时又不产生太多的面数,请不要不断地通过降低【最小边缘长度】和【边缘到曲面的最大距离】这两个数值来提高精度,可以通过增大最后一项【起始四角网格面的最小数目】的数值来增加多边形网格的模型精度。【起始四角网格面的最小数目】是指把每个单独的NURBS曲面进行细分的最小值,因此,提高它可以很严格地控制面数的增长率,不会像其他参数值那样细微的改变都会带来不可预测的数量变化。在复杂的模型中,【起始四角网格面的最小数目】的数值乘以模型中所有单一曲面的面数,和转化后的面数相差不会太大。
(2)Auto CAD dwg格式和dxf格式
输出方法和3ds Max是一样的,都需要转化为多边形网格物体,然后在3ds Max中导入dwg格式和dxf格式文件。具体操作方法如下:
01 首先,在Rhino中把模型按材料进行分类,然后赋予不同的图层。右键单击【保存】按钮执行【导出】命令,在对话框的【保存类型】中选择dwg格式或dxf格式,给出文件名并单击【保存】按钮。
02 弹出【导出AutoCAD文件】对话框,如图2-43所示。在导出配置中有若干的参数选项可供选择,用户可根据所需进行选择配置。
图2-43 【导出AutoCAD 文件】对话框
03 单击【编辑配置】按钮,弹出AutoCAD Export Schemes对话框,如图2-44所示,其中可以设置CAD的版本,以适应不同版本的CAD读取文件。如果即将输入的Max版本能够兼容所有CAD版本格式,则可以不做任何变动,按照默认输出。
图2-44 AutoCAD Export Schemes对话框
04 在3ds Max中执行【文件】|【导入】命令,选择该格式文件,Max会弹出Import AutoCAD DWG File对话框,在这里重新设置参数,就可以正确输入模型了。
技术要点
专家提示:采用dwg输出可以保留Rhino中的图层信息,因此,当输入多个物体到Max后,物体可以把它在Rhino中所在图层的名字和颜色作为在Max中的物体名字和颜色,这样有助于材质的赋予。
采用AutoCAD dwg格式和dxf格式输出,虽然在Max中输入模型后的效果差不多,但是在Max中读取dxf格式的速度远远慢于读取dwg格式的速度,因此,输入模型到Max时,建议不要采用dxf格式格式,而是采用dwg格式格式。但是,dwg格式还是要比3ds格式输入慢,主要是因为需要一段时间进行自动焊接操作,而这是3ds格式没有的。
(3)Iges格式
Iges格式可以以NURBS方式输入模型。在Rhino中需要把模型保存为Iges格式,然后在Max中输入Iges格式的文件即可。采用Iges格式输入,可以保持NURBS模型的所有特性,并且可以输入Rhino中绘制的曲线,这是它最大的优点。但是Iges格式输入的模型曲面和曲面之间不能像在Rhino中通过【结合】命令来消除缝隙。
另外,需要注意的是Max中的NURBS占用较多的系统资源,工作效率较低,渲染也比多边形网格物体慢很多。如果输入很复杂的模型,运作起来就更缓慢,因此,在输入较大模型时,应该慎重考虑是否必须选用Iges格式输入模型。
2.与Maya 3D
输入Maya 3D的模型也可以分为NURBS模型和Polygon Mesh网格物体两种方式。目前暂时没有插件可以直接在Maya 3D中读取Rhino模型。下面介绍这两种文件在Maya 3D的输入方式。
(1)dxf格式
dxf格式是以Polygon Mesh多边形网格物体输入Maya的文件格式。首先,在Rhino中先把模型输出dxf格式,然后在Maya中执行【文件】|【导入】命令来导入模型。Maya 3D输入dxf模型的时候会自动进行重合顶点焊接,因此,输入的模型不会出现边界分明的显示问题,曲线质量还是比较好,如图2-45所示。
图2-45 DXF格式导入Maya 3D
技术要点
这里要注意的是,Maya 3D和Rhino的坐标轴系统是不同的。Rhino的透视图中垂直方向是Z轴,而Maya 3D的透视图中垂直方向是Y轴。如果直接进行文件交换,会发现物体到了Maya中躺下了。为了避免这种情况,可以在Rhino输出模型前,选择要输出的物体,激活Top视窗,然后执行remapcplane命令,再在Front视窗中单击一下,这样物体就由Top工作平面移植到Front视窗中。这样再输出模型,导入Maya 3D中的时候,模型就不会出现躺下的现象了。
采用dxf格式输出模型,在Rhino中最好先对模型的各部分赋予不同的图层,因为在Maya中,输入后的模型会按照图层进行分类,同一个图层的物体被当作一个物体。因此,为了方便材质的赋予,最好把相同材质的物体放在相同的图层。如果不进行图层分配,模型的所有部分都放在一个图层,输入Maya后,所有的物体都成为了一个整体,不便于材质的分配。
另外,输入模型的各部分图层的名字和颜色名称都会显示在物体的属性编辑器中。
(2)Iges格式
Iges文件格式是以NURBS方式输入模型到Maya 3D中的。Maya 3D的NURBS能力比3ds Max强,采用NURBS输入可以发挥Maya 3D的NURBS优势,同时采用iges格式也可以把Maya 3D的NURBS模型输入到Rhino中,因此,iges格式具有很高的实用性。在Rhino输出该格式模型的时候,在iges输出对话框中有很多软件可供选择,其中就有Maya软件类型,选择它输出的iges格式文件更加适用于Maya 3D。
技术要点
专家提示:在Maya中输入iges格式模型时,有可能找不到Rhino输出的iges文件。如果出现这种状况,在Maya输入iges格式模型的时候,将【导入】对话框的文件类型选择为“Best Guess(*.*)”,这样就可以看到从Rhino输出的iges格式文件了。
3.与Photoshop
Rhino具有强大的平面图形绘制能力,它绘制的图形曲线可以输入到各种平面软件内,主要的输出格式为AI(Adobe Illustrator),同时这些平面软件也可以通过AI格式把平面图形输入到Rhino中。下面,以Photoshop这款平面软件为例介绍Rhino输出平面图形的方法。
01 首先,选择Rhino中绘制的曲线,鼠标右键单击【保存】按钮将该图形导出。
02 选择文件类型为AI格式,弹出的对话框如图2-46所示。该对话框主要用来设置输出图形的大小。
图2-46 【AI导出选项】对话框
● 【截取目前的视图】:以当前屏幕的大小来输出平面图形。
● 【维持模型比例】:可以精确设置输出大小。它是通过设定Rhino的单位和输出的大小尺寸的比例来设定的。例如,采用1个Rhino单位等于1cm的方式输出,那么可以根据图形在Rhino中的大小,推算出输出后图形的大小。
03 打开Photoshop软件,新建一个文件,执行【文件】|【置入】命令,选择刚才保存的AI文件,就可以将Rhino中输出的文件输入到Photoshop中进行编辑了,如图2-47所示。
图2-47 将AI文件导入Photoshop
04 同样,Photoshop中输出的AI文件也可以在Rhino中直接打开。
4.与其他软件
除上面列举的常见软件外,Rhino还可以和很多工程软件进行数据交换,如CAD、Alias、CATIA、ProE、SolidWorks和UG等。一般输入这些软件都采用iges,然后在软件类型中选择相应的输入软件的名称即可。对于少数软件,还有专门的交换插件可供使用,例如,SolidWorks就有可以直接打开Rhino的3dm类型文件的插件,而且是免费的,可以到Rhino官网(http://www.rhino3d.com/resources/)下载使用。