五分钟上手
LensBench 有四个入口,背后是同一张命令表、同一份 .lens 文本:
| 入口 | 适合 | 启动 |
|---|---|---|
| 桌面端 | 改设计、看图核数、优化、复核签核 | 开始菜单里的 LensBench,或双击 .lens 文件 |
| 命令行 | 脚本、批处理、版本管理 | lb <命令>(安装目录里的 lb.exe) |
| MCP | 让你自己的 AI 客户端替你操作 | 桌面端「AI」面板一键写入配置,之后由 AI 客户端启动 |
| Python | 用脚本算自己要的量(像 MATLAB),通常让 AI 写 | 脚本放在设计旁边的 scripts/,结果在桌面端浏览器底下「脚本和产物」里看(见 在 Python 里用 LensBench) |
先按安装装好桌面端(命令行和 MCP 在同一个安装包里)。不想装,可以先在网页版里试。
桌面端
从开始菜单打开 LensBench,先进主页:从模板新建(单透镜 / Cooke 三片式 / 空白)、打开、导入 Zemax、参照设计、最近打开。 双击 .lens 文件直接打开它(命令行里 lb gui my.lens 同样)。

打开一个设计(下图是参照设计里的 Cooke 三片式):

- 中间是分析视图(默认先显示 3D 画布);下方「镜头数据」是 LDE 表格与
.lens文本(镜头 / 评价函数 / 验收 / 报告编排四个页签); 左侧是浏览器(设计大纲)和系统设置。表格、文本、浏览器、系统设置是同一段文本的几个视图:改任何一处,其余几处立即同步。 - 中间的分析视图有 30 页(3D、布局、点列图、光扇、MTF、场曲……),改动后在后台自动重算;新结果没回来时,图的右上角挂「过期」牌子。
- Ctrl+K 搜索全部命令,F1 打开文档;窗口底部的命令行(Ctrl+L)可以直接敲命令,写法与
lb相同、省略文件参数, 完整输出在右侧「终端」页。Ctrl+Z / Ctrl+Y 撤销、重做对各处都有效。
详见 GUI 指南。
命令行
命令行程序是安装目录里的 lb.exe:在安装目录里打开终端,或把安装目录加进 PATH。从模板新建一个 Cooke 三片式,看处方、一阶量和点列图:
lb new my.lens --template cooke
lb show my.lens # 处方表(LDE 视图)
lb paraxial my.lens # EFFL / BFL / F# / 入出瞳 / 总长(Zemax 口径)
lb spot my.lens # 点列图 RMS / GEO(µm)分析结果的最后一行是证据 id(如 证据 ev-4346c96cfa):由模型、引擎和取样参数决定,同一个设计重跑同一条分析得到同一个 id。在桌面端底部的命令行里敲 evidence <id>(输出在右侧「终端」页)、或让 AI 调 evidence 工具,可以查回算它用的命令与参数(证据登记在会话里,单独运行的 lb 不保留)。
修改设计的命令先加 --dry-run,看 diff 和改前改后的指标,确认后去掉 --dry-run 再执行一次。比如把最后一面的厚度改成近轴焦点 solve:
lb set my.lens 6 "T=solve(marginal_height,0)" --dry-runsurf 6: T=solve(marginal_height,0)(同时取消变量 T6)
预览(未写入):
…
-surf 6 R=-18.39533 T=42.20778
+surf 6 R=-18.39533 T=solve(marginal_height,0)
…
EFFL 50.0214 → 50.0214 BFL 42.4364 → 42.4364 FNO 5.00213 → 5.00213 TOTR 60.1767 → 60.4054文本里只改了那一个值(顺带从 var 行去掉 T6),注释和对齐都保留。再试几条:
lb plot my.lens spot --out spot.pdf # 出版级出图(带图框与证据 id),PNG / SVG / PDF
lb default-merit my.lens "spot centroid" # 默认评价函数(相当于 Zemax 的优化向导)
lb op-add my.lens "EFFL target=50" # 再加一条:焦距保持 50 mm
lb optimize my.lens --dry-run # 优化模板里的变量(var R1..R6 T6),先看结果
lb spec-add my.lens efl target=50mm tol=1% # 写一条验收规格(有量纲的值要带单位)
lb verify my.lens # 逐条验收(规范取样独立复算)
lb export-zmx my.lens my.zmx # 导出给 Zemax(旁边附一张 Zemax 里应看到的数的对照表)所有命令都支持 --json(结构化输出)。lb commands 列出全部命令,lb help surf 查 .lens 语法; 完整说明见 命令参考。
MCP:让 AI 来操作
MCP 服务器随桌面端装好,由 AI 客户端在后台启动。最简单的配法:桌面端功能区右端点「AI」,选客户端,「写入配置文件」 (见安装「MCP」一节)。命令行里同样能配——启动命令带 --root <项目目录>,AI 只能读写这个目录里的文件:
lb mcp-config # 列出 Claude Code / Claude Desktop / Cursor / Cherry Studio / Trae 的配置片段
lb mcp-config --client claude-code --write # 写进当前目录的 .mcp.json(先备份原文件,不动其他服务器)各客户端的差异(超时、进度、工具数上限)见原生 AI。配好后直接说:
打开 my.lens,把最后一面的厚度改成近轴焦点 solve,看看总长变了多少。
AI 会调用 open → set(dry_run=true) 给你看 diff 和指标变化 → 你确认后才正式执行;报数时附证据 id,可以追到那次计算。
下一步
- GUI 指南
- .lens 指南:从零写一个镜头
- 评价函数与优化
- 出图指南:图型、图框与证据、验收规格
- 报告素材包:写报告用的图、表与结论一次导出
- 在 Python 里用 LensBench
- 从 Zemax 过来:Zemax → LensBench 对照