公差分析是光学设计最后也是最重要的一部分。本文我们介绍Codev的公差分析功能。Codev官方帮助文档关于公差分析单独开了一章,内容很多,我们这里针对Wavefront Differential Tolerancing (TOR)中的MTF/RMS波前误差进行详细介绍。
从工具栏 分析 -> 公差 -> MTF/RMS波前误差 进入公差分析界面(这俩进去是一样的)
“计算” 栏目如图所示:这里的两个选项:反转灵敏度(生成公差)和 当前公差灵敏度 是两种完全不同的公差评估方法。
这个公差分析的功能是:每个公差单独存在时,使得指定视场和频率的MTF下降目标值所允许的最大值。
RMS默认+0.01,MTF默认-0.01,即仅当某个面的某个公差单独存在时,指定视场频率的MTF下降0.01时,这个公差的数值(默认四舍五入到默认的小数点位数)。所以这一项叫做生成公差。
看 “公差极限” 这一栏,列出了默认情况下,每个公差的最小和最大值,和搜索允许的最大公差时的增量(公差类型非常多,帮助文档里搜索Tolerance Types and Descriptions自行查看,介绍的很详细)。
运行后会自动在 镜头数据管理器->表面属性->高级->公差 里为每个面设置计算的公差(覆盖原有的公差),这个曲线,简单理解,越靠左,下面数值越大越好。
这个就很直接,就是利用在镜头数据管理器->表面属性->高级->公差 里为每个面设置的公差水平,进行蒙特卡洛模拟,给出加工后系统的MTF预测水平。如果没在表面属性里面设置任何一个公差(任何一个表面任何一种公差,删除所有公差在命令行输入 DEL TOL SA),则会使用默认值(没查到这个默认值在哪),否则使用给定的公差,默认的公差里面有像面的Z轴位置作为补偿器。
在 检查->公差里可以批量设置
公差分析框架
INV 模式下,LIM type min max step的格式输入指定公差的搜索范围,任何没规定的,都按照默认值(学习阶段,建议把所有其他项都打出来,并且给1e-8,方便观察最基本的曲率厚度偏心倾斜这种公差对系统的影响,我也忘了当时为什么不直接给0,好像是会报错)
SNS模式下,公差设置要放在TOR前面,示例(更多的类型及介绍帮助文档里搜索Tolerance Types and Descriptions):
!type surf scale
DLT S1..4 V 0.01 !厚度,单位mm
公差分析的输出的介绍后续分享。帮助文档里搜索Description of TOR Output也能看。