简介这是一份面向三维建模零基础学习者的犀牛Rhinoceros入门教程文档适合工业设计、建筑设计、产品设计等专业的学生与从业者帮助其在短时间内建立对犀牛软件的系统认知并掌握基本建模操作。资源包内含1个doc文档压缩包约11.33MB内容以文字讲解配合大量插图为主结构清晰、便于按章节检索学习。教程从建模观念与3D软件分类讲起深入辨析Nurbs与Polygon的差异随后依次覆盖界面与基础操作、2D物体绘制与编辑、NURBS曲线原理、曲面构建与编辑、实体与网格、高级工具集、图层与2D辅助工具以及渲染设置并涉及G0、G1、G2连续性、放样、扫掠、布尔运算等关键知识点。目前已有172人学习适合希望以较低时间成本完成犀牛入门、为后续建模实践打基础的读者参考。1. 犀牛入门基础教程从零上手 NURBS 建模的第一份文档很多人第一次打开 Rhino 的界面时鼠标在四个视窗之间来回晃却不知道该先点哪里。这份《犀牛入门基础教程》就是冲着这个阶段来的——它把 NURBS 曲线、曲面生成、实体编辑这几条主线拆成可以照着点的步骤让完全没有参数化建模经验的人也能在短时间内把基本操作跑通。它适合工业设计、船舶外形、珠宝首饰、建筑表皮这类需要精确曲面的从业者也适合还在用多边形建模、想补上曲面精度这一课的人。文档里覆盖的命令行输入、视窗导航、图层管理、曲面连续性检查都是后面做犀牛船舶插件、犀牛切割实体、犀牛转版本这些操作绕不开的地基。先把这份文档吃透再去看插件和版本转换才不会在报错面前发懵。2. 犀牛界面与 NURBS 逻辑先搞懂视窗、命令行和曲线阶数2.1 四个视窗不是随便摆的Rhino 默认的 Top、Front、Right、Perspective 四个视窗对应的是三视图加透视图的经典工程表达。Top 视窗看的是 XY 平面Front 看 XZRight 看 YZPerspective 则是带透视的立体预览。新手最容易犯的错是在 Perspective 视窗里直接画二维线结果曲线落在了一个倾斜的平面上后面做拉伸时方向全歪。常见做法是二维轮廓一律在 Top 或 Front 里画画完再用命令把它移到目标平面。视窗导航靠鼠标右键拖拽旋转、中键平移、滚轮缩放。如果中键被系统占用可以在选项里把中键改成弹出菜单平移改用 Shift 加右键。这个设置一次就好后面所有建模都靠它。命令行是 Rhino 的灵魂。所有菜单点选的操作命令行里都有对应的英文命令。比如画直线是 Line画控制点曲线是 Curve生成曲面是 Loft 或 Sweep2。建议从第一天就养成看命令行的习惯因为后面用犀牛船舶插件时插件命令也是从这里输入的。2.2 NURBS 曲线阶数、控制点、节点NURBS 全称是非均匀有理 B 样条听起来吓人拆开看就三件事控制点决定形状走向节点决定参数分布阶数决定曲线光滑程度。Rhino 里最常用的是 3 阶曲线也就是每段由四个控制点影响。阶数越高曲线越顺但控制点离曲线越远局部调整越不直观。画一条曲线后按 F10 打开控制点拖动控制点就能改形状。这里有个血泪经验不要一上来就加很多控制点。控制点越多曲线越容易起波浪后面做曲面时连续性检查全是问题。正确做法是先用最少的控制点勾出大形再在需要局部调整的地方用 InsertControlPoint 加点。曲线连续性分 G0、G1、G2。G0 是位置相接G1 是切线方向一致G2 是曲率连续。做产品外观时主曲面之间至少要 G2否则高光会断。检查命令是 GCon选两条曲线就能看到连续性等级。2.3 从曲线到曲面常用生成命令与参数曲面生成命令里最常用的是 Loft、Sweep2、Revolve、ExtrudeCrv。Loft 是把多条曲线按顺序放样成面适合做船体、机身这类渐变外形。Sweep2 是双轨扫掠两条轨道线加一条截面线适合做管道、手柄。Revolve 是旋转成型画一条母线绕轴转一圈就是回转体。ExtrudeCrv 是拉伸注意它默认拉的是直线要沿曲线拉伸得用 ExtrudeCrvAlongCrv。以 Loft 为例操作步骤是先画好三条以上截面曲线输入 Loft按顺序选曲线回车确认。弹出的选项里Style 选 NormalRebuild 里的点数根据曲面精度要求填一般 20 到 50 之间。点数太少曲面会失真太多文件会变大且后续编辑卡顿。提示Loft 之前一定要用 Dir 命令检查曲线方向方向不一致会导致曲面扭曲。这是新手翻车率最高的地方。2.4 图层与物件属性别把所有东西堆在默认图层Rhino 的图层逻辑和 CAD 类似但更灵活。建议按「曲线」「曲面」「实体」「参考」「隐藏」分图层颜色也区分开。这样后面做犀牛切割实体时能快速选中要切割的对象不会误选参考线。物件属性里Name 字段建议给关键曲面命名比如 Hull_Surface、Deck_Curve。后面用插件或者转版本时命名规范的模型出问题概率低很多。材质可以先不管但图层和命名从第一天就要养成习惯。3. 实体建模与布尔运算从曲面到可切割实体的关键一步3.1 曲面和实体的区别Rhino 里曲面是开放的实体是封闭的。一个封闭的曲面集合就是一个实体。判断方法很简单选中物件看属性里是不是显示「封闭的多重曲面」。如果不是封闭的布尔运算会失败。把曲面变成实体的常用命令是 Cap 和 Join。Cap 是给平面开口封盖Join 是把多个曲面缝合成一个封闭体。但 Join 有个前提曲面边缘必须完全重合公差要在文档属性里设好。默认公差是 0.001 单位做船舶这种大尺度模型时公差可能要放到 0.01 甚至 0.1否则缝合永远失败。3.2 布尔运算的三种模式与失败排查布尔运算分并集、差集、交集。并集是把两个实体合成一个差集是用一个实体挖另一个交集是保留重叠部分。命令分别是 BooleanUnion、BooleanDifference、BooleanIntersection。布尔失败是 Rhino 里最常见的玄学问题。现象是命令行提示「布尔运算失败」原因通常有三个一是实体不封闭二是两个实体在运算区域有共面三是公差太小导致边缘没真正相交。解决办法先用 ShowEdges 检查外露边缘有外露边缘就说明不封闭共面问题可以把其中一个实体稍微移动 0.001 再运算公差问题去文档属性里调大。注意做犀牛切割实体之前一定先确认切割工具本身是封闭实体。用开放曲面去切十有八九失败。3.3 从曲面到实体的完整操作示例假设要做一个简单的船体分段实体步骤如下# 1. 画三条截面曲线 Curve # 在 Front 视窗画第一条 Curve # 复制并缩放得到第二、第三条 # 2. 放样成曲面 Loft # 依次选三条曲线回车 # Style 选 NormalRebuild 点数填 30 # 3. 检查曲面方向 Dir # 如果方向不一致点 Flip 翻转 # 4. 封盖两端 Cap # 选曲面两端开口回车 # 5. 检查是否封闭 ShowEdges # 选物件如果显示「封闭的多重曲面」则成功 # 6. 转成实体 Join # 全选曲面回车这段流程里Loft 的点数决定曲面精度Cap 负责封口Join 负责缝合。ShowEdges 是验证步骤不能省。如果 ShowEdges 显示有外露边缘说明还有开口需要回到 Cap 或 Join 补操作。3.4 实体编辑倒角、抽壳、偏移实体做完后常用编辑命令有 FilletEdge、Shell、OffsetSrf。FilletEdge 是边缘倒圆角选边后输入半径即可。Shell 是抽壳把实体变成薄壁件输入壁厚。OffsetSrf 是曲面偏移做板材厚度时用。倒角失败的原因通常是半径大于相邻面尺寸或者边缘不连续。解决办法是减小半径或者先对边缘做 MergeEdge 合并。抽壳失败多半是曲面曲率太大壁厚超过了最小曲率半径这时候只能减小壁厚或者换建模思路。4. 犀牛转版本与插件协同文件交换和船舶插件的避坑清单4.1 犀牛转版本的正确姿势Rhino 不同版本之间的文件格式有差异。高版本存的文件低版本打不开。常见做法是另存为低版本格式比如 Rhino 7 存成 Rhino 5 的 3dm。但要注意高版本的新功能物件在低版本里会丢失或变成网格。转版本之前先做三件事一是炸开所有 Block二是把 SubD 转成 NURBS三是检查有没有用到低版本不支持的材质和灯光。炸开 Block 用 ExplodeSubD 转 NURBS 用 ToNURBS。做完再另存能减少大部分兼容问题。如果是要发给加工厂建议同时导出 STEP 或 IGES。这两种格式跨软件兼容性好但会丢失图层和命名。导出前把关键曲面单独放一个图层导出时只选那个图层。4.2 犀牛船舶插件的加载与常见报错船舶插件通常以 rhp 或 rhi 格式分发。安装方法是把文件拖进 Rhino 视窗或者去插件管理器里手动加载。加载后命令行会多出插件专属命令比如船体生成、静水力计算、肋骨线生成。常见报错有两个一是「插件未签名」这是 Rhino 的安全机制去插件管理器里把「允许未签名插件」勾上即可二是「命令未找到」说明插件没加载成功检查文件路径有没有中文Rhino 对中文路径支持不好建议放在纯英文目录下。插件加载后建议先跑一个官方示例文件确认命令能正常执行。如果示例都报错大概率是版本不匹配去插件官网查支持的 Rhino 版本号。4.3 避坑清单犀牛入门阶段最容易翻车的五个点现象一曲线画完拉伸方向是歪的。原因在 Perspective 视窗里画了二维线曲线落在了倾斜平面。 解决二维轮廓一律在 Top 或 Front 视窗画画完用 RemapCPlane 移到目标平面。现象二Loft 出来的曲面扭曲成麻花。原因截面曲线方向不一致或者曲线起点没对齐。 解决Loft 之前用 Dir 检查方向用 CrvSeam 调整曲线接缝位置让所有截面起点对齐。现象三布尔运算永远失败。原因实体不封闭、共面、公差太小。 解决ShowEdges 查外露边缘共面就微移 0.001公差去文档属性调大。现象四犀牛转版本后模型变网格。原因高版本 SubD 或新功能物件在低版本里不支持。 解决转版本前用 ToNURBS 把 SubD 转成 NURBS炸开所有 Block。现象五船舶插件加载后命令找不到。原因插件路径含中文或者版本不匹配。 解决插件放纯英文目录确认插件支持的 Rhino 版本号。5. 进阶技巧用命令行脚本批量处理曲线与曲面5.1 为什么要在犀牛里用脚本Rhino 支持 RhinoScript 和 Python 两种脚本方式。Python 更通用Rhino 7 以后内置了 Python 3 引擎。脚本能做的事很多批量偏移曲线、批量检查曲面连续性、批量导出特定图层物件。做船舶插件时很多重复性的肋骨线生成、静水力表格输出都是用脚本跑的。我一般会在项目开始前写一个检查脚本把所有曲线的阶数、控制点数、连续性等级打印出来。这样能在建模早期发现隐患而不是等到布尔运算失败再回头查。5.2 一个批量检查曲线连续性的 Python 脚本# Rhino Python 脚本批量检查曲线连续性 import rhinoscriptsyntax as rs # 获取所有曲线物件 curves rs.ObjectsByType(4) # 4 是曲线类型编号 if not curves: print(没有找到曲线) else: for crv in curves: # 获取曲线阶数 degree rs.CurveDegree(crv) # 获取控制点数量 cp_count rs.CurvePointCount(crv) # 获取曲线长度 length rs.CurveLength(crv) # 打印信息 print(曲线 ID: {}, 阶数: {}, 控制点数: {}, 长度: {:.2f}.format( crv, degree, cp_count, length))这段脚本的逻辑是先按类型筛选出所有曲线然后逐个读取阶数、控制点数和长度。阶数低于 3 的曲线做曲面时容易起棱控制点数超过 20 的曲线容易起波浪。长度信息用来判断曲线尺度是否和模型整体匹配。运行方式是打开 Rhino Python 编辑器粘贴后按 F5。参数说明ObjectsByType 里的 4 代表曲线曲面是 8实体是 16。CurveDegree 返回的是曲线阶数CurvePointCount 返回控制点数量。这两个值结合看能快速判断曲线质量。5.3 用脚本批量导出 STEP 文件# 批量导出指定图层的物件为 STEP import rhinoscriptsyntax as rs # 设定要导出的图层名 layer_name Export # 设定导出目录 export_dir D:/rhino_export/ # 获取图层上的所有物件 objs rs.ObjectsByLayer(layer_name) if objs: # 选中物件 rs.SelectObjects(objs) # 导出为 STEP rs.Command(-_Export export_dir batch_export.stp _Enter) print(导出完成共 {} 个物件.format(len(objs))) else: print(图层 {} 上没有物件.format(layer_name))这段脚本把指定图层上的所有物件一次性导出成 STEP。关键参数是 layer_name 和 export_dir前者要和 Rhino 里的图层名完全一致后者要用正斜杠或双反斜杠。rs.Command 里的 -_Export 前面的减号表示不弹出对话框直接按命令行参数执行。5.4 脚本的边界与注意事项脚本不是万能的。Rhino Python 对 SubD 的支持有限很多 SubD 操作还是得手动。另外脚本执行前一定要保存文件因为脚本报错时可能导致 Rhino 卡死没保存就白做了。还有一个习惯脚本写完先在小范围测试比如只选三条曲线跑一遍确认输出符合预期再全量跑。我见过有人直接对上千个物件跑布尔运算脚本结果 Rhino 跑了半小时后崩溃文件也没保存。从那以后我每次跑批量脚本前都强制保存并且先拿十条数据试跑。希望这份文档和这些补充能帮你把犀牛的基础打牢后面做船舶插件、切割实体、转版本时少走点弯路。本文还有配套的精品资源点击获取