3、Zemax 文件规范:.zmx 的保存、结构树命名与注释

Zemax 文件,说白了就是 .zmx 后缀的那个文件。很多新手设计师觉得它就是个“存一下、打开用”的东西,没什么好讲究的。但我做了这么多年光学设计,见过太多因为文件混乱导致的惨案——改错版本、找不到原始结构、甚至把客户给的参考文件直接覆盖了原稿。

嗯,这一章我们就来聊聊,怎么把 .zmx 文件管得清清楚楚。

3.1 文件保存规范:别让“版本”变成“废纸”

我个人习惯,每个设计项目至少保留三个层级的文件版本:

  • 原始稿(Raw):从专利或初始计算直接导入的 .zmx,不做任何优化,只做结构确认。
  • 迭代稿(Iter):每次重大优化或结构调整后另存为,文件名带日期或序号。
  • 交付稿(Final):最终确认可生产的版本,文件名带“_Final”或“_Release”。

我在项目中遇到过最头疼的情况:一个同事把“最终版”改了又改,文件名全是“最终版_v3_final_真的最终版.zmx”。你想想看,这种文件谁敢用?

我的命名规则建议:
项目代号_镜头类型_版本号_日期.zmx
例如:PROJ_A_Telephoto_v2.1_20250315.zmx

3.2 结构树命名规范:让每个面都有“身份证”

打开 Zemax 的结构树,如果看到一堆“面 1、面 2、面 3……”,我基本可以判断这个设计师还没入门。结构树命名,说白了就是给每个光学面一个清晰的身份标签。

面序号 推荐命名 说明
0 OBJ 物面,固定命名
1 L1_S1 第一片透镜的第一个面
2 L1_S2 第一片透镜的第二个面
3 STO 光阑面,固定命名
4 L2_S1 第二片透镜的第一个面
5 L2_S2 第二片透镜的第二个面
… … …
N IMA 像面,固定命名

为什么要这么干?有一次我接手一个老项目,结构树里全是“面 5、面 6、面 7”,我根本分不清哪个是胶合面、哪个是空气间隔。后来我花了整整一天,对着图纸一个一个核对。从那以后,我给自己定了个规矩:每个面命名不超过 8 个字符,但必须能一眼看出它属于哪片透镜。

核心原则:
- 物面、像面、光阑面使用固定命名(OBJ、IMA、STO)
- 透镜面使用“透镜编号_面序号”格式(L1_S1、L2_S2)
- 非球面、衍射面等特殊面在命名后加后缀(如 L3_S1_Aspheric)

3.3 注释规范:写给未来的自己看

Zemax 的注释功能,很多人根本不用。但我告诉你,注释是设计文件里最值钱的部分。为什么?因为三个月后你再看自己的文件,大概率会忘记当初为什么选这个曲率、为什么用这个玻璃。

我一般在以下位置加注释:

  • 评价函数编辑器:每个操作数后面加注释,说明这个约束的目的。比如“TOTR 控制总长不超过 120mm”。
  • 多重结构编辑器:每个结构组加注释,说明对应的工作条件。比如“Zoom Position 1: Wide Angle”。
  • 镜头数据编辑器:在关键面(如非球面、胶合面)的“注释”列写清楚材料牌号或特殊工艺要求。
我曾经踩过的坑:
有一次优化一个变焦镜头,我在多重结构里加了 5 个变焦位置,但没写注释。两周后回来继续优化,完全想不起每个位置对应什么焦距。最后只能重新测量一遍,白白浪费了半天时间。从那以后,我强制自己在每个结构组的第一行写注释。

3.4 知识结构图:Zemax 文件规范全景

下面这张图,是我自己总结的 Zemax 文件规范核心框架。你可以把它打印出来贴在工位上。

Zemax 文件规范知识结构图 Zemax 文件规范全景图 文件保存规范 结构树命名规范 注释规范 原始稿 (Raw) 迭代稿 (Iter) 交付稿 (Final) 固定命名 (OBJ/STO/IMA) 透镜命名 (L1_S1 / L2_S2) 评价函数注释 多重结构注释 镜头数据注释 核心原则总结 1. 文件保存:原始稿 → 迭代稿 → 交付稿,版本号清晰可追溯 2. 结构树命名:每个面都有唯一标识,一眼识别透镜归属 3. 注释规范:关键位置写清楚“为什么”,方便自己和他人理解

3.5 避坑指南:我踩过的那些雷

最后,分享几个我亲身经历过的教训:

  • 不要用中文路径和文件名:Zemax 对中文支持不稳定,我曾经因为文件名带中文导致宏脚本读取失败,排查了整整一上午。
  • 保存前检查“单位”和“波长”:有一次我保存文件时用的是毫米,同事打开时默认是英寸,结果整个镜头尺寸全错了。现在我在文件注释第一行就写“单位:mm”。
  • 定期清理临时文件:Zemax 会自动生成 .ZDA、.CFG 等临时文件。我习惯每周五下班前清理一次,保持工作目录清爽。
我的小习惯:
每次保存 .zmx 文件前,按 Ctrl+Shift+S 另存为一个新版本。这样即使改错了,也能随时回退到上一个版本。别问我怎么知道的——问就是血的教训。