4. 公差项设置与编辑
公差分析里最核心的东西,就是TOL操作数。说白了,它就是告诉Code V:“你要对哪个参数动手,怎么动,动多大。”我刚开始学的时候,看着那一堆TFRN、TIRX、TPAR,头都大了。后来一个个项目啃下来,才发现它们其实很有规律。
这一章,咱们就把最常用的几个TOL操作数掰开揉碎讲清楚。你掌握了它们,公差分析就算入门了。
4.1 TOL操作数家族概览
Code V的TOL操作数,按作用对象可以分为三大类:
- 面型公差:针对单个光学表面的参数,比如曲率半径、不规则度
- 元件公差:针对整个透镜或镜组的参数,比如厚度、偏心、倾斜
- 材料公差:针对玻璃材料的参数,比如折射率、阿贝数
我习惯把它们想象成“公差工具箱”。做投影镜头时,我主要用面型公差;做变焦系统时,元件公差用得更多。你根据系统类型选工具就行。
核心原则:每个TOL操作数只控制一个自由度。不要试图用一个操作数干两件事,那样公差分析结果会乱套。
4.2 面型公差操作数
TFRN —— 曲率半径公差
TFRN是最常用的操作数之一。它控制的是光学表面曲率半径的制造误差。
语法格式:
TFRN surf, delta_r, [comp]
参数说明:
| 参数 | 含义 | 典型值 |
|---|---|---|
| surf | 表面序号 | 3, 5, 10 |
| delta_r | 半径变化量(mm) | 0.01 ~ 0.1 |
| comp | 补偿面(可选) | 像面或最后一面 |
举个例子:
TFRN S3, 0.05, SI
这表示第3面的曲率半径允许变化±0.05mm,并且用像面位置(SI)来补偿。
我的经验:TFRN的delta_r值不要直接给加工公差。我一般先给一个宽松值(比如0.1mm),跑一遍灵敏度分析,再根据结果收紧。这样能避免一开始就卡死。
TFRX / TFRY —— X/Y方向曲率半径公差
这两个操作数专门用于柱面镜或变形非球面。TFRX控制X方向的曲率半径,TFRY控制Y方向的。
语法和TFRN完全一样:
TFRX surf, delta_rx, [comp]
TFRY surf, delta_ry, [comp]
我记得有一次做激光整形系统,用了柱面镜。一开始我只用了TFRN,结果公差分析死活过不去。后来发现柱面镜的X和Y方向公差要求完全不同——X方向要0.02mm,Y方向可以放到0.1mm。换成TFRX和TFRY后,问题就解决了。
注意:对于球面镜,不要用TFRX或TFRY。用了Code V会报错,因为球面没有方向性。我见过新手犯这个错,排查了半天。
TIRR —— 表面不规则度公差
TIRR控制的是光学表面偏离理想形状的程度。它用光圈数(fringe)来表示,1个光圈对应约0.55μm的PV值。
语法格式:
TIRR surf, fringes, [comp]
参数说明:
| 参数 | 含义 | 典型值 |
|---|---|---|
| surf | 表面序号 | 3, 5, 10 |
| fringes | 不规则度(光圈数) | 0.5 ~ 2.0 |
| comp | 补偿面(可选) | 像面或最后一面 |
举个例子:
TIRR S5, 1.0
这表示第5面的不规则度允许±1个光圈。
避坑指南:TIRR对系统波前的影响非常大。我曾经做过一个高分辨率投影镜头,TIRR从0.5光圈放到1.0光圈,MTF直接掉了15%。所以对成像质量要求高的系统,TIRR一定要收紧。
TIRX / TIRY —— X/Y方向不规则度公差
这两个操作数用于控制非旋转对称的不规则度。比如柱面镜或自由曲面,X和Y方向的不规则度可能不同。
语法和TIRR一样:
TIRX surf, fringes_x, [comp]
TIRY surf, fringes_y, [comp]
实际项目中,TIRX和TIRY用得不多。只有在自由曲面或特殊非球面系统中才会用到。我做了这么多年,也就用过两三次。
4.3 元件公差操作数
TPAR —— 平行平板厚度公差
TPAR控制的是平行平板(比如窗口片、滤光片)的厚度误差。它和TTHI的区别在于:TPAR只适用于平行平板,而TTHI适用于任何两个面之间的厚度。
语法格式:
TPAR surf1, surf2, delta_t, [comp]
参数说明:
| 参数 | 含义 | 典型值 |
|---|---|---|
| surf1 | 起始面 | 2 |
| surf2 | 终止面 | 3 |
| delta_t | 厚度变化量(mm) | 0.01 ~ 0.1 |
| comp | 补偿面(可选) | 像面或最后一面 |
举个例子:
TPAR S2, S3, 0.05, SI
这表示第2面到第3面之间的平行平板厚度允许变化±0.05mm,用像面位置补偿。
我的习惯:如果系统里有窗口片或分光棱镜,我优先用TPAR而不是TTHI。因为TPAR更符合实际加工情况——平行平板的厚度公差和透镜的厚度公差,制造工艺是不一样的。
TSPH —— 球面透镜厚度公差
TSPH控制的是球面透镜的中心厚度误差。它和TPAR的区别在于:TSPH考虑了透镜的曲率,而TPAR假设两面平行。
语法格式:
TSPH surf1, surf2, delta_t, [comp]
参数和TPAR一样,但应用场景不同:
| 操作数 | 适用场景 | 典型值 |
|---|---|---|
| TPAR | 平行平板、窗口片、滤光片 | 0.02 ~ 0.1mm |
| TSPH | 球面透镜、弯月透镜 | 0.01 ~ 0.05mm |
举个例子:
TSPH S3, S4, 0.03, SI
这表示第3面到第4面之间的透镜中心厚度允许变化±0.03mm。
注意:TSPH只适用于球面透镜。对于非球面透镜,要用TTHI。我刚开始做非球面系统时,用TSPH跑公差,结果和实际加工对不上。后来才发现非球面透镜的厚度公差应该用TTHI。
4.4 其他常用TOL操作数
除了上面这些,还有几个操作数也经常用到:
| 操作数 | 全称 | 控制参数 | 典型应用 |
|---|---|---|---|
| TTHI | 厚度公差 | 任意两个面之间的厚度 | 非球面透镜、空气间隔 |
| TEDX/TEDY | X/Y方向偏心公差 | 元件的横向偏移 | 透镜偏心、棱镜偏移 |
| TETX/TETY | X/Y方向倾斜公差 | 元件的角度倾斜 | 透镜倾斜、反射镜倾斜 |
| TIND | 折射率公差 | 玻璃折射率 | 材料批次差异 |
| TABB | 阿贝数公差 | 玻璃色散 | 材料色散差异 |
这些操作数我会在后面的章节详细讲。现在你只需要知道它们的存在就行。
4.5 TOL操作数使用流程
我总结了一个三步法,每次做公差分析都这么走:
- 选操作数:根据系统类型和元件类型,选择合适的TOL操作数
- 设初始值:给一个宽松的公差值,跑灵敏度分析
- 迭代收紧:根据灵敏度结果,逐步收紧关键公差
下面这张图展示了TOL操作数的分类和使用逻辑:
4.6 实战建议
最后,给你几个实战建议:
- 先跑灵敏度:不要一上来就做蒙特卡洛。先用灵敏度分析找出关键公差,再针对性地设TOL操作数
- 补偿面别乱设:补偿面一般选像面或最后一面。我见过有人把补偿面设在中间透镜上,结果公差分析结果完全不对
- 公差值要合理:别给0.001mm这种加工达不到的公差。先查一下你们合作的加工厂能做到什么精度
总结一下:TOL操作数是公差分析的“语言”。你选对了操作数,设对了参数,公差分析就成功了一半。这一章讲的TFRN、TIRR、TPAR、TSPH是最常用的四个,先把它们吃透。