导入网格后运行MeshToNURB,结果出现许多小曲面,有时会被误认为转换没有成功。Rhino 8 for Mac 的官方命令说明写明,这个命令用NURBS曲面对应网格中的多边形。[1] McNeel Wiki进一步解释,分面网格转换后仍可能是分面的NURBS结构,不会自动变成已经逆向重建好的光滑对象。[2]
关键在于两个不同的目标。一个目标是改变几何对象的表示方式,使下游能够接收NURBS;另一个目标是从离散网格重新建立符合设计意图的连续曲面。前者不等于后者。只检查对象类型已经改变,却不看几何结构,就容易把格式转换完成误记成曲面重建完成。
Rhino 8还有与n-gon有关的选项,因此也不宜把旧说明中的逐面描述机械套成所有情况下固定的面数。官方文档说明,UseNgons为Yes时,会把n-gon中的每个平面区域转换成修剪平面;为No时,则转换成三角形与矩形曲面的组合。[1] 这个选项处理的是输入中的相应区域,并未承诺将任意复杂网格一键重建为光顺曲面。
三角面的处理也有不同表达方式。TrimTriangularFaces选项决定结果采用修剪后的矩形曲面,还是具有一条边收缩为点的未修剪曲面。[1] 阅读转换结果时,知道选项影响了什么,比看到曲面一词就推断整个模型已光滑更有帮助。本文没有运行读者的模型,也不把上述文档说明当作某文件的测试报告。
在模型交接中,可以把原始文件、命令及选项、转换后对象类型和仍需处理的问题分别记录。若客户只是为了格式互通,需确认下游是否接受这种分面结构;若后续还要求曲面重构、编辑或其他几何质量,就要另行明确验收目标。不同目的不宜共用一句“已转NURBS”作为完成标准。
McNeel的说明还提醒,多面网格转换后可能产生很大的文件和内存负担。[2] 因而探索流程时适合保留原始版本,在副本或具有代表性的局部上核查结果,再决定后续建模路径;实际规模仍应通过自己的文件测试确认,不照搬固定倍数。
大量小面本身不是判断成功与否的唯一依据。先确认自己需要的是表示转换还是曲面重建,再看结果是否满足那个目标,才能解释为什么对象类型改变了,而原来的分面特征仍然存在。
信息来源
- Robert McNeel & Associates:MeshToNURB — Rhino 8 for Mac
- Robert McNeel & Associates / McNeel Wiki:The MeshToNurb Command
本文基于上述公开资料整理,未使用来源页面的图片、视频或嵌入媒体。