2. 光学设计基础
好,咱们正式开始动手了。
这一章的目标很简单——在 Code V 里新建一个镜头文件,把初始结构敲进去,然后保存起来。说白了,就是学会“开张”和“存档”。
我刚开始带新人时,发现很多人卡在第一步:软件打开了,界面也看到了,但不知道从哪里下手。嗯,别急,咱们一步步来。
2.1 新建镜头文件
打开 Code V,你会看到一个主窗口。最顶上有个菜单栏,找到 File → New,或者直接按快捷键 Ctrl+N。
我个人习惯用快捷键,快。但第一次用,点菜单也行。
新建之后,系统会弹出一个对话框,问你要不要保存当前文件。第一次用,直接点“No”就行。然后你就看到一个空白的镜头数据表——这就是咱们的“画布”。
2.2 输入初始结构参数
咱们用一个最简单的例子:单片透镜。焦距 100 mm,F 数 5,视场角 10°。
在镜头数据表里,你需要填三样东西:曲率半径(Radius)、厚度(Thickness)、玻璃(Glass)。
2.2.1 曲率半径
曲率半径决定了透镜表面的弯曲程度。正值表示球心在面右侧,负值在左侧。
举个例子:第一面曲率半径 50 mm,第二面曲率半径 -100 mm。你就在对应行输入 50 和 -100。
2.2.2 厚度
厚度是当前面到下一个面的距离。注意,这个距离是沿着光轴量的。
对于单片透镜,第一面到第二面的厚度就是透镜的中心厚度。比如 5 mm。
2.2.3 玻璃
玻璃材料决定了折射率和色散。Code V 里可以直接输入玻璃牌号,比如 BK7 或 F2。
我建议初学者先用 BK7,这材料常见、稳定,数据也好查。
好了,咱们把参数填进去。看下面的表格:
| 面序号 | 面类型 | 曲率半径 (mm) | 厚度 (mm) | 玻璃 |
|---|---|---|---|---|
| 0 | 物面 | Infinity | Infinity | — |
| 1 | 光阑 (STO) | 50.0 | 5.0 | BK7 |
| 2 | 像面 | -100.0 | 95.0 | — |
注意:第 0 面(物面)的曲率半径和厚度都填 Infinity,表示无限远。第 2 面(像面)的厚度是透镜后表面到像面的距离,这里我留了 95 mm,凑个总长 100 mm。
2.3 保存与打开镜头文件
参数输完了,赶紧保存。我吃过亏——有一次调了一下午的参数,突然断电,全没了。从那以后,我每改一个参数就按一次 Ctrl+S。
2.3.1 保存文件
点击 File → Save As,或者按 Ctrl+Shift+S。Code V 的默认文件扩展名是 .len。
我建议文件名用英文,别用中文或特殊符号。比如 single_lens.len。为什么?因为有些旧版本对中文路径支持不好,容易报错。
2.3.2 打开文件
下次要用,直接 File → Open,或者 Ctrl+O,找到你的 .len 文件,双击打开。
打开后,所有参数都在,和保存时一模一样。你可以继续修改、优化。
2.4 知识结构图
下面这张图帮你理清本章的核心逻辑:
2.5 避坑指南
我总结几个新手容易踩的坑:
- 曲率半径符号搞反:正负号决定了透镜的弯向。如果不确定,先画个草图,标出球心位置。
- 厚度输成负值:厚度一般是正值,除非是反射镜系统。输成负值,光线会反向传播,结果完全不对。
- 玻璃名称拼错:Code V 对玻璃名称大小写不敏感,但拼写必须准确。比如 BK7 不能写成 BK07 或 BK-7。
- 忘记保存:这个不用我多说了吧?我曾经连续工作 3 小时没保存,然后软件崩溃……嗯,从那以后我养成了“每改必存”的习惯。
2.6 小结
这一章的内容其实就三件事:新建、输入、保存。看起来简单,但这是所有光学设计的基础。
你想想看,如果连文件都不会建,参数都不会输,后面那些高大上的优化、公差分析根本无从谈起。
所以,别嫌简单。打开 Code V,照着上面的表格敲一遍。然后保存,再打开,确认参数没丢。这一步走稳了,后面就顺了。