
无论使用哪个建模软件,视图控制、图元显隐、图元筛选都是基础且重要的功能,极大地影响整体建模效率。Rhino是Nurbs建模的代表软件,因此曲线、曲面的相关命令组合,也决定了曲面建模的效率。所以下面会着重按这几点来组织常用的操作组合。
一、视图缩放
Rhino最常用的视图缩放,是“缩放至最大范围”和“缩放至选取物件”,前者可以快速地将视图最大化,后者可以快速地将视野定位到选中的物件。
二、图元显隐
快速地控制控制图元的显示和隐藏,一种做法是点击图层的“灯泡”,来切换该图层上所有物件的显隐,这种操作和CAD的图层操作一致,但比CAD方便。前提也是建模有良好的图层划分习惯,搭配使用,哪怕纯手工切换也是效率极高的。
第二种做法就是使用hide(隐藏选中图元)、isolate(隔离显示选中图元)、show(重新显示所有隐藏图元)这三个命令来切换。通常先用selLayer、selCrv、selSrf等进行快速选取,再使用hide、isolate命令来隐藏、只显示选中物件。这个是我个人使用频率最高的操作组合之一。
第三种做法就是手工点击Rhino自带的“可见性”工具栏里的“灯泡”,熟练使用有奇效:
三、图元筛选
快速筛选然后选中特定的图元集合,Rhino也有很多方式可以实现。
Rhino基础的选择操作符合“shift加选,Ctrl减选”的规则。
第一种做法,是点击选中(一个或多个)图层,然后右键弹出选项的“选取物件”,可以选中该图层上的所有物件,需要和良好的图层划分习惯搭配使用。
第二种做法,是直接使用“SelXXX”系列命令,效率最快,比如selCrv、selSrf、selText(选择视图显示的所有曲线、曲面、文字)等。这一系列命令都非常好记,因为都是“Sel+某个物件类型的英文简写”的构词组合,Sel代表选择Select。常用的如下:
selPt:选择所有点
selCrv:选择所有曲线
selSrf :选择所有曲面
selPolySrf:选择所有多重曲面
selClosedPolySrf:选择所有闭合的多重曲面
selMesh:选择所有网格
selLayer:根据已选物体的图层,选取对应图层上所有的物件
selColor: 根据已选物体的颜色,选取具备该颜色的所有物件
selText:选择所有文本(文字+数字等)
selBlockInstance:选择所有的块实例
selHatch:选择所有的填充,通常结合DupBorder来生成填充边界线
selDuplicate:选取模型中重复的物件(清理重叠在一起的物件前,先使用该命令)
这一组命令直接锤爆Revit的渣渣过滤器,使用Revit筛选一组图元的过程,足够让我们在Rhino中反复“横跳”很多次了。
第三种做法,是第二种做法的手工慢速版本。“SelXXX”系列命令对应Rhino的“选取”工具栏,可以直接手工点击其中的图标。
四、Nurbs建模
Nurbs建模,这里翻译一下就是“曲线和曲面互相倒腾转化的建模过程”。在不使用SubD细分建模的限定下,传统手工建模中,控制曲面的本质就是控制对应的曲线,曲线的形态和质量决定了曲面的形态和质量。
从曲线生成曲面
通过曲线生成曲面的常用命令是Loft、Sweep1(单轨扫掠)、Sweep2(双轨扫掠),操作的关键是先把曲线rebuild(重建)形成相同阶数、控制点数量,再来成面。
Patch无法作为精确建模来用,所以在方案阶段常用,在施工图深化阶段就几乎不用了。
ExtrudeCrv(拉伸成面)也常用。
Networksrf命令是通过拾取U、V两个方向的结构线来成面,可以理解为Sweep2的升级版本,只是在UV方向都允许更多数量的曲线,该命令很少用。
从曲面提取曲线
dupBorder :复制Brep的边界轮廓线;
dupEdge :复制Brep上选定的边缘线;
extractIsocurve:提取曲面上的U、V结构线;
这三个命令基本就涵盖了曲面上获取曲线的操作,都很常用。
曲线到曲面上
Project:把曲线沿特定方向投影到曲面上
Pull:把曲线拉到曲面上,前提是曲线已经很靠近曲面,否则效果不理想。
曲面和曲面衔接
一般不用BlendSrf直接混接曲面,而是通过BlendCrv命令画出辅助的过渡曲线,再生成过渡曲面,这种方式能更精准地控制、调整曲面形态。
常用命令组合流可以是:DupEdge(复制边缘)——Split(打断曲线,断点位置直接影响整个结果)——BlendCrv(曲线断点之间自动生成衔接过渡曲线,可以在过程中手工调节)——Rebuild(根据需要重建部分曲线)——Sweep2(双轨扫掠成面)。
曲线、曲面相交
直接使用Intersect和IntersectTwoSets命令
Intersect :求交集,选中的n个物体会两两求交集
IntersectTwoSets:选中的第一组物件和第二组物件去求交集,通常先用group命令成组,方便重复选取,并控制生成结果的图层。
五、布尔运算
Rhino没有真正的实体(Solid)的概念,闭合多重曲面实际是中空的。实体需要界定一个物件的内与外,Rhino是通过物件的法线方向来定义内与外,这样即使是开放的多重曲面也有“内外”,并且会随法线反转而改变内与外。这个知识点可以解释为什么同样的形状在布尔运算后,常常得不到想要的结果。其实改变其中某些物件的法线方向就可以得到想要的结果了。
唯一常用需要掌握的命令是BooleanDifference:布尔差集运算。
BooleanUnion:布尔并集运算,用得相对少。
六、快捷键
Rhino跟设置有关的内容面板,可以通过Options命令打开,该命令直接弹出下图的东西,rhino的各种基础设置都可以在这找。
单位和视图可能会用得到。这里主要强调别名,就是原始命令的别名,自定义的快捷键!整个快捷键列表可以根据自己的习惯进行修改,还可以导出给别人用,也可以导入别人的。快捷键的使用可以让整个效率提升很多倍,甚至建模全程直接输入命令,不需要逐个寻找点击菜单栏。
七、其他的一些常用命令
第一组,简单常用组,和CAD非常接近,但比CAD好用。
(1)trim、copy、rotate、scale(以及scale1D、 scale2D )、extend(以及extendSrf)、offset(以及offsetSrf)、mirror;
(2)fitCrv(拟合曲线)+rebuild、simplifyCrv 简化曲线
(3)dir 显示物件方向、flip(翻转物件方向)
(4)crvSeam 显示并调整曲线的起始接缝点
第二组,阵列组,包括Array(矩形阵列)、arrayLinear(沿直线阵列、线性阵列)、arrayPolar(环形阵列)。
第三组,变动组,setPt极其重要常用的命令,类似cad的坐标归零(假如只勾选“设置Z”),经常用来调整物件标高,也可以起到拍平物件的作用(但和投影物件至平面的作用有差异)。
setPt就是把物件的控制点全部对齐到某一个Z值(也可以是X、Y值)。
另外orient(定向)、align(对齐)可以考虑掌握。