
做照明光学设计的同行应该都清楚LightTools 在照明仿真领域基本相当于 Photoshop 在平面设计领域的地位。而菲涅尔透镜又是光学设计里绕不开的一个元件——投影照明、太阳能聚光、车灯透镜、舞台灯光哪哪都有它的身影。软件本身其实提供了菲涅尔透镜的快捷创建向导但快捷方式在标准模型下挺好用一旦碰上非标口径、异形环距、特定拔模角这类需求向导生成的模型往往就用不上了要么槽型不对要么生成的面片数多到跑一次追迹卡半天。所以我从几年前开始遇到菲涅尔透镜基本都是手动建模慢慢总结出一套能直接照抄的流程和技巧。这篇文章不绕弯子不讲泛泛的软件操作百科只讲我在 LightTools 里手动创建菲涅尔透镜时真正用过、真正踩过坑的 5 个实用技巧。每个技巧我都会尽可能把操作细节拆细参数该填什么、界面位置在哪里都会说到闭上眼睛都能找到的程度。1. 动手前的三分钟先搞清楚你的菲涅尔透镜由哪些面组成1.1 菲涅尔透镜的本质把厚透镜压缩成锯齿很多人第一次看到菲涅尔透镜的剖面图都会愣一下这不就是一圈一圈的锯齿吗其实原理不复杂。普通平凸透镜之所以厚是因为它需要用一整块材料把光线的偏折角度攒出来。菲涅尔透镜的思路是把透镜的连续曲面切成若干个同心环带每个环带保留原本在这个位置的表面曲率然后把它们压扁到同一个平面上。这样透镜的整体厚度大大降低但每个环带对光线的偏折作用基本不变。在 LightTools 里手动建模核心就是构建这些环带的剖面轮廓。每一圈齿有两个关键面一个是参与光学成像的有效光学面通常是个圆锥面或微曲面另一个是连接相邻齿的侧壁俗称非光学面。侧壁原则上不参与光线偏折但它真实存在于模具上建模时如果无视侧壁的存在仿真结果就会偏乐观实测永远对不上。1.2 LightTools 手动建模的最小单元旋转体剖面LightTools 是三维实体建模加光线追迹的软件你可以直接画一个三维透镜模型但菲涅尔透镜是回转对称结构最高效、最不容易出错的做法是先画一条二维剖面线然后围绕光轴旋转生成三维实体。这条剖面线沿径向从中心到边缘展开描绘的是透镜从光轴往外每一个环带的轮廓。所以你不需要把一圈一圈的齿在三维空间里逐个去画只需要在二维草图里把剖面线的台阶状轮廓画清楚再绕轴旋转一圈齿就全出来了。1.3 手动建模前必须确定的参数清单我一般在打开软件之前先把下面这张表填完。否则一边画一边查参数很容易画到一半发现口径不对前功尽弃。参数名称符号说明透镜口径D有效通光直径直接决定轮廓线总长度中心厚度t0光轴处的最小厚度决定透镜的机械强度焦距f设计目标焦距材料折射率n决定每个环带对应的表面斜率环距p相邻两圈齿尖的径向间距也叫齿距齿深d每圈齿的轴向高度差拔模角α侧壁与光轴的夹角影响脱模和杂散光中心区半径r0中心不刻齿的平滑区域半径这些参数里口径、焦距、材料折射率是设计输入环距和拔模角是你自己选的工艺参数而齿深则需要通过公式换算得到。这个换算是整个手动建模里最容易出错的一环下面第二个技巧专门讲它。1.4 为什么我不建议直接用内置菲涅尔向导LightTools 确实自带菲涅尔透镜快捷生成工具平时做快速验证、方案预研时我也偶尔用它。但如果你要做的透镜有以下任一特征内置向导就不太够用口径和焦距比例比较极端向导生成的面形不够准需要自定义拔模角或者做非对称侧壁透镜中心要留安装孔、避让槽等结构环距需要从内到外渐变而不是均布做出来的模型要直接对接模具设计面片数量需要可控内置向导生成的模型往往面片细化程度不可控追迹时计算量大而且一旦生成完毕后续想修改某一圈的齿深或拔模角几乎只能删掉重来。相比之下手动建出来的模型参数清清楚楚每一圈齿都能独立改后面做公差分析、模具设计都方便得多。2. 技巧一用平面轮廓线起手别上来就建实体2.1 为什么强调轮廓线起手我刚接触 LightTools 时犯过一个典型错误想直接通过三维特征模块建实体一圈一圈地拉伸、布尔求差。结果建到第三圈就后悔了因为每一圈之间的布尔运算特别容易产生碎面、重叠面轻则追迹时光线数量异常重则模型根本没法用于仿真。后来我换了个思路完全用平面剖面轮廓来构建。这样做有四个直接好处建模工作量小一条剖面线旋转几百圈齿一下就生成不用逐圈操作参数可追溯每段线的长度、角度就是齿深、拔模角改起来直观面数可控旋转生成的面片数你自己心里有数不会像向导那样生成几十万面片后续好继承这个剖面线本身就是一份设计文档改口径、改环距时只需调整局部线段2.2 具体操作步骤剖面线怎么画以 LightTools 9.x 版本的交互式建模模块为例操作逻辑如下新建一个草图工作平面选择 XZ 平面。菲涅尔透镜的旋转轴一般沿着 Z 轴所以剖面线放在 XZ 或 YZ 平面都行但我习惯 XZ。从光轴处开始先画中心区。中心区是一段水平线长度等于中心区半径 r0。如果你需要中心避让孔可以留一段向内延伸的结构后面旋转出来自然就是一个通孔。画第一圈齿。第一圈齿的起点是中心区末端的点从这个点开始先向上或向下画侧壁线段侧壁与水平方向的夹角就是拔模角 α然后画有效光学面这一段的斜率和方向由该环带对应的曲率决定最后回到下一个齿的起始点。重复上一步把整个口径内的所有齿都画完。注意有效光学面不是一条随便画的斜线它的斜率是有讲究的具体换算在第 3 节展开。最后在透镜边缘画上外轮廓的竖直边和底部水平线把剖面闭合。剖面线必须是闭合的旋转后才会生成实体。画的过程中LightTools 草图里的几何约束和尺寸标注最好充分利用起来。尤其是相邻齿之间的相对位置关系用约束锁定之后后期改环距只需要修改一个驱动尺寸其他齿会自动跟着变。2.3 轮廓线绘制时最容易翻车的两个细节第一个细节有效光学面是斜线还是曲线。如果你的菲涅尔透镜焦距很短、口径大单个环带上的曲面矢高差可能比较明显直接用直线代替曲面会产生聚焦误差。这种情况我会把有效光学面画成轻微弧线弧线的半径就是该环带中心处对应球面的曲率半径。LightTools 草图里可以直接约束圆弧半径不算麻烦。第二个细节齿尖和齿根不能交叉。手动绘制时相邻齿的侧壁和光学面如果没有约束好旋转之后会出现自交面或破面。我一般会在草图里检查所有线段的首尾连接状态确保是一个连续闭合环没有悬空端点。检查方法很简单选中轮廓确认它是一个整体而不是几条离散线段拼在一起。3. 技巧二环距和齿深的换算关系错一步后面全白干3.1 齿深不是随便定的它是一个几何计算问题菲涅尔透镜的齿深从光学本质上讲是相邻两个环带在原始透镜曲面上的矢高差。你可以想象有一块完整的平凸透镜表面是一个球面。现在拿一系列同心圆去切这个球面把每个圆环里的球面都压平到同一水平面透镜底面每个环带压平后与底面之间的高度差就是齿深。所以齿深的精确计算方式很简单对于半径为 R 的球面在半径 r 处的矢高为 $s(r) r^2 / (2R)$。第 i 个环带的内半径为 r_i外半径为 r_{i1}齿深就等于 $s(r_{i1}) - s(r_i)$。但在实际工程中几乎没有人用这个公式逐圈手算更常用的是简化公式。当环距 p 远小于口径和曲率半径时第 i 个环带的齿深可以近似为[ d_i \approx \frac{r_i \cdot p}{R} ]其中 r_i 是第 i 个环带的中心半径p 是环距R 是透镜表面的曲率半径。而曲率半径 R 和焦距 f、材料折射率 n 之间的关系是[ R (n - 1) \cdot f ]这两个式子组合起来就是你手动建模时全部的计算基础。3.2 一个实际算例看完你就有感觉了假设要设计一个口径 50mm、焦距 100mm 的 PMMA 菲涅尔透镜PMMA 折射率取 1.49。先算表面曲率半径[ R (1.49 - 1) \times 100 49 , \text{mm} ]取环距 p 2mm那么在半径 r 20mm 处的那一圈齿齿深约为[ d \frac{20 \times 2}{49} \approx 0.816 , \text{mm} ]而在 r 5mm 处的齿深只有[ d \frac{5 \times 2}{49} \approx 0.204 , \text{mm} ]可以看到越靠外圈齿深越大。如果环距不变齿深从内到外是线性增大的因为矢高变化率随半径增大而增大。这一点务必在草图中体现出来否则聚焦光斑一定不对。3.3 在 LightTools 里怎么精确输入这些尺寸手工在草图里一格一格填坐标对几十圈齿的模型来说太慢了而且容易出错。我一般用两个方法方法一是先用 Excel 计算出每一圈齿的内半径、外半径、齿深、拔模角偏移量然后在 LightTools 草图中通过点坐标方式导入。Excel 里每条线段直接输出端点的 X、Z 坐标复制生成一个坐标文件在草图里用导入点功能直接生成折线。这个方法适合大规模齿数建模比如 100 圈以上的透镜。方法二是针对齿数不多、只有十几二十圈的模型直接在草图里用尺寸标注驱动。画完第一条齿后给侧壁和光学面都标上尺寸后续齿通过复制和修改尺寸快速完成。虽然操作上麻烦一点但胜在直观而且以后想改参数直接双击尺寸改数就行。我自己常用的方式是两者结合先算坐标文件导入生成轮廓后再用尺寸标注抽查几个关键齿的参数确认导入无误。毕竟一旦某圈齿差 0.1mm 高度光线已经偏出去不少了。3.4 环距渐变的情况怎么处理有些透镜设计为了平衡齿深和加工难度会让环距从内到外渐变通常是内密外疏或者外密内疏。这时齿深公式里的 p 就不能当常数了要拿每一圈实际的环距代入。我在这种模型里会刻意在 Excel 里多设一列环距变化率把每一圈的 r_i 和 p_i 单独算避免手动输入几十个相似数据时看走眼。4. 技巧三拔模角决定效率与可加工性别忽视那面墙4.1 拔模角到底有什么用菲涅尔透镜的侧壁理论上最好完全垂直于底面这样能在最小口径占用下实现最大集光效率。但真实模具是上下开模的如果侧壁完全垂直脱模时个环带会被模具勾住轻则产品刮花重则直接碎掉。所以必须给侧壁留出斜度这个斜度就是拔模角。拔模角对仿真还有一个直接影响侧壁会截获一部分本来不该经过它的光线。如果拔模角取得过大从有效光学面边缘掠过的光线会撞到侧壁造成杂散光和效率损失。仿真时如果完全不管侧壁默认它是理想光滑且不参与光线交互的那算出来的效率一定会比实际偏高。4.2 拔模角该怎么选根据我自己的经验最小拔模角工艺上能做 0.5°左右常规量产建议不小于 1°。如果透镜尺寸比较大、齿深较深拔模角最好做到 2°~3°否则模具脱模阻力会比较大。但你需要知道拔模角并不是越大越好。拔模角每增大一点有效光学面的径向占比就少一点透镜的实际通光效率会降低。一个粗略的经验值直径 50mm 以下的透镜拔模角 1°~1.5°没啥问题直径 100mm 以上的透镜优先考虑 2°。4.3 LightTools 里的侧壁处理两种思路第一种在剖面线里直接画出侧壁线段。这也是我推荐的建模方式。草图里侧壁线从上一圈光学面的外端点向内下一圈光学面的内端点过渡线段与光轴的夹角就是拔模角。用 3.2 小节算出的齿深 d 和环距 p结合拔模角 α侧壁线的水平投影长度就是[ \Delta r d \cdot \tan(\alpha) ]这个值很小1° 拔模角、0.8mm 齿深时水平偏移量只有 0.014mm。很多人在草图里画剖面线时嫌这个数小图省事直接画成竖直的结果就是模型侧壁完全垂直。仿真光效率时问题不大但实际模具没法做。第二种建模时把侧壁单独设为吸收面或者郎伯散射面。模拟时真实侧壁并不是理想镜面光线打上去会变成杂散光或直接被吸收。在 LightTools 里你可以给侧壁单独指定表面属性让它更接近真实注塑件的侧壁状态。这个技巧在照明系统里尤其重要因为它直接影响光斑周围的杂散光评估。4.4 设置侧壁表面属性时我的习惯我会建两层几何一层是有效光学面指定为光学级表面比如透过率 92% 的 PMMA 表面一层是侧壁指定为漫反射或者吸收属性。具体选哪个看侧壁的粗糙度一般注塑成型的侧壁比较光滑但非光学级用漫反射属性比较接近实测如果表面有意做成磨砂也可以直接用吸收近似。这样建模虽然多了一步操作但从仿真到实测的吻合度会好很多。5. 技巧四中心区与边缘区的过渡处理别忽略这两个细节5.1 中心区不能刻齿不少新手画菲涅尔透镜剖面线时会从光轴直接开始画第一圈齿。这在几何上是可行的但工程上是错的。光轴附近球面矢高变化非常缓慢如果强行刻齿齿深会极小甚至小于加工精度极限。比如 50mm 口径、焦距 100mm 的透镜在半径 2mm 处的矢高差可能只有不到 0.03mm注塑模具根本做不出来做出去了齿尖也极易磨损断裂。所以我通常会在中心留一个半径 3mm~8mm 的平滑区域。这个区域的表面是原始球面或平面看设计需求。对于平凸型菲涅尔透镜中心区通常直接保留一段平面或者球面不加齿。LightTools 建模时只需要在草图最前面的水平线段长度上留够就行。中心区半径的选择有一个参照原则以该半径处的矢高差约等于设计环距下计算齿深的 1/3 为界限。比如环距 2mm当某半径处用公式算出的齿深小于 0.5mm 时就可以考虑把这一圈并入中心平滑区。5.2 边缘区的最后一圈齿怎么收尾边缘区的问题是另一个方向最后一圈齿的外侧如果没有收好会导致旋转生成的三维实体在边缘处出现尖角或薄壁。注塑件最忌讳的就是尖角薄壁因为应力集中。在剖面线中最后一圈有效光学面画完后不要直接一个尖锐端点结束要补一段竖直边或小圆角过渡到底面。竖直边的长度一般不小于 0.5mm具体看透镜的机械结构设计。这段竖直边旋转出来就是透镜的圆柱侧面是后续装配定位的重要基准面。5.3 剖面线闭合与旋转的正确姿势剖面线画完之后确认它是闭合的。然后选择旋转特征操作旋转轴必须与草图中的中心线完全重合。如果旋转轴选择有偏差哪怕 0.01mm旋转出来的实体都会不对称最终追迹光斑就是不理想。我建议在旋转之前先做一次轮廓检查。LightTools 草图里可以看到每个端点的连接状态确认没有重复线段和悬空端点。旋转之后立刻检查实体体积如果体积出现异常偏小或偏大说明轮廓有自交或重叠。5.4 分块建模的替代思路当透镜口径很大、齿数极多时一条剖面线旋转生成的实体通常没有问题。但如果你的透镜是矩形的或者带异形轮廓旋转建模就不适用了。这种情况下我的做法是先按圆形菲涅尔透镜建好模型再用矩形边界做布尔修剪或者用拉伸轮廓配合阵列特征逐圈构建。异形菲涅尔透镜的建模复杂度会显著上升尤其是四个角落区域的齿形过渡需要逐个环带处理工作量翻倍。如果不是必要我会优先建议产品设计改成圆形菲涅尔加外部遮光结构成本和仿真工作量都能省不少。6. 技巧五材料、表面属性和追迹设置这一步决定仿真准不准6.1 材料库不要顺手选默认LightTools 自带的材料库里确实有 PMMA、PC 这些常规光学塑料但不同厂家的牌号折射率有细微差别。如果你的设计最终要用于量产最好拿到实际材料的折射率数据在 LightTools 里自定义材料。我在做照明透镜时通常会把 PMMA 的折射率设为 1.49阿贝数设为 58PC 的折射率设为 1.586阿贝数设为 30。这些参数直接输入到自定义材料对话框中同时可以加上吸收系数。对于厚度只有几毫米的菲涅尔透镜吸收系数影响不大但做仿真习惯以后我会一直保留这个参数免得换个大尺寸透镜时忘了加。6.2 表面属性的关键是你设了几层LightTools 里光线遇到一个表面时会按照你指定的表面属性来分配透过、反射、吸收比例。很多新手在仿真菲涅尔透镜时只给整个实体设一个光学表面属性追迹出来的效率总是偏高。正确的做法是在模型树里分别选中菲涅尔齿面有效光学面和侧壁各给独立的表面属性。有效光学面用透过率 92% 到 94% 的透射属性侧壁按 4.3 节说的方法给漫反射或吸收属性。底部平面和外侧圆柱面根据实际结构设属性通常底部平面也是透射面外侧圆柱面可以设成全吸收模拟实际装配中被遮光结构包裹的状态。6.3 高斯分布光源设置的一个实际演示做菲涅尔透镜仿真时入射光源一般用平行光或者类平行光。真实光源比如 LED 加准直镜的出光不会是完全平行的都有一个角度分布最常见的近似就是高斯分布。热搜词里有人问lighttools 如何设置高斯分布这里我顺带演示一下。在 LightTools 里创建一个面光源或格点光源后在光源属性中把角度分布类型选为高斯然后设置半角宽度也叫 1/e² 半角或者 FWHM 角看软件版本表述。举个例子如果光源出射光束的角分布半角是 2°那高斯分布的标准差大概取 1.7°。具体操作是找到角度分布标签页把类型从均匀切换成高斯再把半角改成你要的值然后点击预览查看分布曲线是否符合预期。这个设置对菲涅尔透镜仿真非常重要因为真实照明系统的杂散光水平和边缘光斑形状很大程度上取决于入射光的角分布。平行光追迹只能看到理想结果高斯分布追迹才更接近实测。6.4 追迹参数的建议菲涅尔透镜的齿数通常几十上百每个齿面都是小尺寸曲面追迹时光线落在边缘的概率比平面模型高。我建议光线数量不要低于 100 万条如果做杂散光分析500 万到 1000 万条才能把侧壁的微小散射统计清楚。探测器方面在焦点位置放一个辐照度分析面网格尽量细化一般 200×200 网格起步。如果焦点处的峰值能量密度需要精确评估网格可以加到 500×500。计算时间和精度权衡下来200×200 到 300×300 是最常用的区间。7. 实测案例我经历的一次光全跑偏排查过程前面说的都是方法和参数最后讲一个我真实遇到过的故障案例帮大家理解手动建模时哪个环节最容易出错。7.1 现象描述有一次我建了一个口径 80mm、焦距 150mm 的菲涅尔透镜手动建模完成后追迹得到一个非常离谱的结果理论焦点位置应该是一个集中的小光斑实际上光斑中心发暗周围却有一圈亮环。给人的感觉是光线全都散开了但又不是乱散而是有规律地偏折。7.2 排查过程我先检查了光源和探测器设置确认不是高斯分布角度设得过大导致的。接着检查材料折射率我输入的是 1.56实际用的材料应该是 1.586差得不至于导致光斑完全散掉。最后我回到剖面线模型逐圈检查齿深。检查到第 15 圈齿时发现了问题这一圈的齿深我用的是上一圈的数据少了大约 0.12mm。0.12mm 看起来微乎其微但对每圈齿来说它相当于改变了这一圈光学面的斜率导致从这一圈出来的光线聚不到同一个焦点上所以在焦平面上形成了一个亮环而不是一个亮斑。7.3 根因与教训根因很简单我在复制草图线段时没有把齿深的驱动尺寸改成下一圈的数值LightTools 按默认约束把上一圈的齿深带过去了。这种错误靠肉眼在模型树里很难发现得回到草图逐圈看尺寸标注。后来我养成了一个习惯每画完一圈齿就随手标注齿深和环距全部画完后用尺寸表扫一眼确认每一圈的数值都是单调变化的。菲涅尔透镜的齿深从内到外必然是递增的环距不变时如果哪两圈数值一样或者突然变小一定是复制粘贴出了问题。7.4 快速验证模型正确性的三个简单方法排查过程也可以用来日常验证模型。我在新建完菲涅尔透镜模型后会做三个快速检查第一个是追迹一个理想的平行光看焦点位置是否和设计焦距一致。如果偏差超过 5%优先检查齿深换算。第二个是画一条过光轴的剖面线做一次二维截面上的手动光线追迹计算。取几圈特征齿用几何光学公式算一下出射光线的偏折方向跟软件追迹结果对比。这一步不需要太精确主要是确认数量级对得上。第三个是检查侧壁的杂散光占比。把所有侧壁设为吸收面追迹一次得到仅有效光学面的透过效率再把侧壁恢复为漫反射属性追迹一次比较两者的差异。如果侧壁造成的效率损失超过 5%说明拔模角或者环距设计可能需要优化。这三个方法组合起来基本能覆盖手动建模时的主要错误类型。我自己每次建完模型都会花十几分钟过一遍比后面反复返工省时间得多。手动创建菲涅尔透镜这件事说难不难说简单也不简单。掌握这五个技巧之后建出来的模型在几何精度和仿真可信度上都能稳定很多。最后再补充一句如果你刚开始接触手动建模不要急着追求几百圈齿的复杂模型先拿一个 20 圈齿的小口径透镜练手把拔模角、环距、齿深的换算关系和剖面线的绘制流程跑通了再逐步加大口径和齿数这样踩坑的成本最低。