第四章 三维建模基础:基本几何体与布尔运算
各位好,我是你们这门课的老朋友。今天咱们进入真正动手的环节——三维建模。
说实话,LightTools 的建模能力,在光学软件里算是相当能打的。它不像某些软件那样只给几个基本体,而是提供了一套完整的实体建模工具。你想想看,一个照明系统,从最简单的 LED 透镜到复杂的车灯光学结构,本质上都是由这些基本几何体拼凑、切割出来的。
我个人习惯,在开始任何项目前,都会先在脑子里把光学系统拆解成几个基本形状。这一步做好了,后面建模就顺了。
4.1 基本几何体:从方块到棱镜
LightTools 的几何体创建,集中在工具栏的「创建」菜单下。咱们一个一个来过。
4.1.1 方块(Box)
方块是最常用的基础体。它本质上是一个六面体,但 LightTools 允许你单独控制每个面的属性。
- 创建方式:点击「创建」→「实体」→「方块」,或者直接用快捷键
Ctrl+B。 - 参数设置:长、宽、高,以及位置坐标。我建议你养成习惯,把第一个方块的中心放在原点 (0,0,0),这样后续定位方便。
- 应用场景:做 LED 芯片的衬底、简单的挡光板、或者作为布尔运算的切割工具。
4.1.2 球体(Sphere)
球体在照明设计中用得不多,但在接收器建模和某些特殊光源模拟里很常见。
- 创建方式:「创建」→「实体」→「球体」。
- 关键参数:半径、起始/终止角度。你可以只创建半个球体,或者一个球冠。
- 注意:球体在光线追迹时,曲面计算量比平面大。如果只是为了做接收器,我建议用「球体接收器」而非实体球体,效率更高。
4.1.3 圆柱(Cylinder)
圆柱是透镜建模的基础。无论是平凸透镜还是双凸透镜,都是从圆柱胚料开始的。
- 创建方式:「创建」→「实体」→「圆柱」。
- 参数:半径、高度、起始角度。你可以创建完整的圆柱,也可以只创建一段弧柱。
- 我的经验:做透镜时,我通常先创建一个半径合适的圆柱,然后用布尔运算切出透镜曲面。这样比直接画曲面要快得多。
4.1.4 棱镜(Prism)
棱镜在 LightTools 里其实是一个多面体工具。你可以定义任意多边形底面,然后拉伸成体。
- 创建方式:「创建」→「实体」→「棱镜」。
- 核心操作:先定义底面顶点坐标,再指定拉伸高度。
- 避坑指南:我曾经犯过一个错误——顶点顺序搞反了,结果法线方向朝内,光线全部被吸收。记住,顶点按逆时针顺序排列,法线朝外。
方块 → 衬底、支架、挡板
球体 → 接收器、特殊光源
圆柱 → 透镜胚料、导光柱
棱镜 → 自由形状、光路转折结构
4.2 布尔运算:把简单变成复杂
基本几何体就像乐高积木的单块。布尔运算就是把这些单块拼成复杂结构的方法。
LightTools 提供三种布尔运算:合并、相减、相交。位置在「修改」→「布尔运算」下。
| 运算类型 | 操作 | 结果 | 典型应用 |
|---|---|---|---|
| 合并(Union) | A + B | 两个实体合为一个 | 把透镜和支架合并成一个零件 |
| 相减(Subtract) | A - B | 从A中挖掉B的部分 | 在方块上挖孔、切出透镜曲面 |
| 相交(Intersect) | A ∩ B | 只保留重叠部分 | 创建复杂截面的光阑 |
4.2.1 合并操作
合并是最简单的。选中两个实体,点击「合并」,它们就变成一个整体了。
- 注意:合并后的实体,内部交界面会被自动移除。光线穿过时不会发生折射或反射。
- 我的习惯:如果两个零件材质不同,我建议不要合并。分开建模,然后在系统树里把它们「分组」,这样后期修改材质更方便。
4.2.2 相减操作
相减是布尔运算里最常用的。比如你要在方块上挖一个圆柱孔:
1. 创建一个方块(目标体)
2. 创建一个圆柱(工具体)
3. 选中方块,再选中圆柱
4. 点击「相减」
嗯,这里有个坑。我曾经在做一个散热器模型时,想挖一排通风孔。结果因为圆柱和方块没有完全穿透,只挖了一半深度,光线追迹时出现了奇怪的漏光。所以,工具体一定要完全穿透目标体,否则会留下薄壁。
4.2.3 相交操作
相交用得少,但很巧妙。比如你要创建一个六边形截面的光阑:
- 创建一个圆柱(外轮廓)
- 创建一个六边形棱柱(内轮廓)
- 用圆柱减去六边形棱柱?不对,这样得到的是圆环带六边形孔。
- 正确做法:创建一个六边形棱柱,再创建一个圆柱,然后「相交」,得到的就是六边形截面的柱体。
4.3 知识体系:三维建模核心逻辑
下面这张图,是我自己总结的三维建模流程。你看一眼,心里就有谱了。
你看,整个流程很清晰:从四个基本几何体出发,通过布尔运算组合、切割、相交,最终得到你需要的复杂光学结构。说白了,这就是 LightTools 建模的底层逻辑。
4.4 实战案例:做一个简单的透镜组
光说不练假把式。咱们来做一个简单的平凸透镜。
- 创建圆柱:半径 10mm,高度 5mm,中心在原点。
- 创建球体:半径 20mm,中心在 (0,0,15)。这个球体将作为切割工具。
- 布尔相减:用圆柱减去球体。注意,球体要完全穿透圆柱的上表面。
- 检查结果:你现在应该得到一个平凸透镜——底面是平面,顶面是球面。
- 设置材质:给透镜赋予 PMMA 或 BK7 材质。
嗯,这个例子虽然简单,但包含了三维建模的全部核心操作。你掌握了这个,后面做复杂系统就只是重复和组合了。
4.5 常见问题与避坑
- 布尔运算失败:两个实体刚好相切时,布尔运算容易报错。稍微移动一下工具体的位置,让它们有明确的交集或差集。
- 法线方向错误:棱镜的顶点顺序搞反了。检查方法:在「视图」→「显示法线」里打开法线显示,朝外的就是对的。
- 模型太大:布尔运算后,模型文件会变大。我建议在最终确定前,先复制一份原始体,然后「合并」所有零件,这样文件体积会小很多。
- 光线追迹异常:如果光线在某个面上突然消失,很可能是那个面有微小的缝隙。用「检查几何体」工具跑一遍,它能自动修复大部分问题。