.lens 语法参考
入门与设计思路见 .lens 指南。本页逐条列出语句、参数及其对应的 Zemax 设置。
语句一览
| 语句 | 说明 | 对应 Zemax |
|---|---|---|
title | 镜头名称 | System Explorer › Title/Notes › Lens Title |
units | 镜头单位(当前只支持 mm) | System Explorer › Units › Lens Units |
aperture | 系统孔径 | System Explorer › Aperture(Aperture Type、Aperture Value、Telecentric Object Space) |
field | 视场点 | System Explorer › Fields(X/Y、Weight、VDX/VDY/VCX/VCY、Normalization) |
wave | 波长,默认单位 µm,也可写 550nm;用 * 标主波长(不标则第一个是主波长);可直接写谱线名:i h g F' F e d D C' C r s t | System Explorer › Wavelengths |
catalogs | 玻璃库查找顺序 | System Explorer › Material Catalogs |
agf | 加载 Zemax AGF 玻璃库(厂商官网可下载) | System Explorer › Material Catalogs(加载 .AGF) |
ray_aim | 光线瞄准:off = 不瞄准:光线射向近轴入瞳(Zemax Ray Aiming = Off);real = 实际光线迭代瞄准光阑,光阑大小按近轴定(相当于 Zemax Ray Aiming = Paraxial);robust = 同 real,更能容忍个别被挡的光线,适合大视场/广角;real_stop = 同 real,但光阑大小按实际边缘光线定:轴上视场的实际边缘光线在物方正好满足孔径(入瞳直径、物方 NA)(相当于 Zemax Ray Aiming = Real),适合光阑像差大的大孔径、广角系统 | System Explorer › Ray Aiming |
semi_margin | 半口径余量:自动半口径(没写 semi= 的面)先加百分比、再加长度,光阑面与物面不加(同 Zemax) | System Explorer › Aperture › Semi Diameter Margin(% 与 lens units) |
apodization | 光瞳切趾(同 Zemax):uniform 均匀(默认);gaussian G = 入瞳上振幅 exp(−G·ρ²)(G = 1 时边缘振幅降到 1/e、强度约 13 %);cosine_cubed = 点光源照平面的强度 cos³θ(tanθ = ρ·入瞳边缘的张角正切,只适合有限远的点光源) | System Explorer › Aperture › Apodization Type / Apodization Factor |
afocal | 无焦像方(同 Zemax 的 Afocal Image Space):像方光束名义上是平行光的系统(望远镜、扩束器、瞄准镜)按角度评价——点列图、光扇、RMS 弥散斑与 TRAX / TRAY / TRAR / TRAC / RSCE / RSCH、default spot 都是像方光线相对主光线(或质心)方向的角度差(像面局部坐标里方向余弦之差,单位 unit=,默认 mrad);波前(OPD、波前图、Zernike、RWCE / RWCH、Strehl)参考出瞳处垂直于主光线的平面波;FFT MTF 的频率按 cycles/mrad;场曲按屈光度(D)、畸变按像方主光线角的正切;近轴报告给角放大率,有效焦距、后截距、F/# 不适用 | System Explorer › Aperture › Afocal Image Space;Units › Afocal Mode Units |
surf | 一个面 = LDE 的一行 | Lens Data Editor 的一行 |
var | 优化变量(LDE 单元格上的 V 标记) | LDE 单元格的 Variable 求解类型 |
config | 多重结构的组态数(Zemax MCE 的列数),不写 = 单组态 | Multi-Configuration Editor(组态数) |
mc | 多重结构的一行(Zemax MCE 的一行):一个参数在各组态的值,个数等于 config 的组态数,第一个值是组态 1(应与 surf 等行上的值相同) | Multi-Configuration Editor 的一行(THIC / CRVT / CONN / GLSS / SDIA / PRAM / APMN / APMX / APDX / APDY / APER / YFIE / XFIE / FLWT / FVDX … / WAVE / WLWT / CWGT / TEMP / PRES) |
tol | 公差(Zemax TDE 的一行):种类 + 面号或范围 + 公差(±x 或 下限..上限,写单位) | Tolerance Data Editor 的一行(TRAD / TFRN / TTHI / TSDX / TSDY / TSTX / TSTY / TEDX / TEDY / TETX / TETY / TIND / TCON / TPAR;TWAV;STAT) |
comp | 公差分析的补偿器(Zemax 的 COMP):每项扰动后重新优化这些参数,写法同 var(R / T / K) | Tolerance Data Editor 的 COMP 行 |
op | 评价函数的一行(Zemax MFE 的一行) | Merit Function Editor 的一行 |
let | 评价函数里的中间量:let 名 = 表达式(MATLAB 风格:向量、区间 0:0.25:1、逐元素运算、max / mean / rms…,可直接调用操作数,如 RSCE(ring=3, Hy=h)) | MFE 里 weight = 0 的中间行(SUMM / DIFF … 的组合) |
view | 视图规格:某种图的取样与显示选项(同一图型可写多行,后写覆盖前面) | 分析窗口的 Settings(Zemax 存在 .CFG/.ZDA) |
pack | 报告素材包的规格:lb pack 导出哪些素材(图、表、确定性结论),每条带证据 id,清单写明含义、单位与文件 | (Zemax 无直接对应;Zemax 的报告是 Report Graphic / Prescription Data 这类单页) |
report | 报告设计(编排):一份报告 = 若干评估项,一行一项、按书写顺序,同名的 report 行合成一份报告 | (Zemax 无直接对应:相当于逐个打开分析窗口、做热分析(Make Thermal)、查玻璃数据表,再手工抄表对比) |
action | 动作设计(编排):一个动作 = 若干步改动,一行一步、按书写顺序在设计的副本上执行,同名的 action 行合成一个动作;不改当前设计 | (Zemax 无直接对应:相当于手工改 LDE 后做 Quick Focus / 优化,再另存一份对比) |
spec | 验收规格(与 op 分开:spec 是验收,op 是优化目标) | (Zemax 无直接对应;对应的操作数见各种类说明) |
default | 默认评价函数(Zemax 优化向导):spot = RMS 弥散斑,wave = RMS 波前,angular = RMS 角度像差(Zemax 的 Angular Radius:像方光线相对质心 / 主光线方向的方向余弦之差,单位同 afocal image 的 unit=,默认 mrad;无焦像方下 spot 也按角度,两者相同);参考 centroid / chief | Optimization Wizard |
title
镜头名称
语法:title "<名字>" 例:title "Cooke Triplet"
别名:system
对应 Zemax:System Explorer › Title/Notes › Lens Title
units
镜头单位(当前只支持 mm)
语法:units mm 例:units mm
对应 Zemax:System Explorer › Units › Lens Units
aperture
系统孔径。类型:EPD = 入瞳直径(Entrance Pupil Diameter),镜头单位;FNO = 像方 F 数(Image Space F/#);NA = 物方数值孔径(Object Space NA);float = 随光阑尺寸浮动(Float By Stop Size),取光阑面的 semi×2
语法:aperture <EPD|FNO|NA> <值> [telecentric] | aperture float [telecentric] 例:aperture NA 0.1 telecentric
对应 Zemax:System Explorer › Aperture(Aperture Type、Aperture Value、Telecentric Object Space)
物方远心:在 aperture 行末尾加 telecentric(Zemax 的 Telecentric Object Space)——主光线在物方平行于光轴,入瞳在无穷远。要求物距有限、视场不是角度、孔径用 NA 或 float(EPD、FNO 按入瞳直径定义,没有意义);光线瞄准不起作用(与 Zemax 一致)。光阑正好在前组的像方焦面上(真远心)时入瞳直径、入瞳位置记 inf,像方 F/# 不适用,其余近轴量照常。
field
视场点。类型:angle = 视场角(度),对应 Zemax Angle;object_height = 物高(镜头单位),对应 Zemax Object Height;paraxial_image_height = 近轴像高,对应 Zemax Paraxial Image Height;real_image_height = 实际像高,对应 Zemax Real Image Height。一行可列多个点;带 w=/vdx= 等参数时一行只能写一个点。所有 field 行类型必须一致。
语法:field <类型> <y | (x, y)>[, …] [w= vdx= vdy= vcx= vcy=] [norm=radial|rect] 例:field angle 0, 14, 20
对应 Zemax:System Explorer › Fields(X/Y、Weight、VDX/VDY/VCX/VCY、Normalization)
| 参数 | 说明 | 单位 | 例 | Zemax |
|---|---|---|---|---|
w | 视场权重(默认 1) | — | w=2 | Weight |
vdx | 渐晕偏心 X | — | vdx=0.1 | VDX |
vdy | 渐晕偏心 Y | — | vdy=0.1 | VDY |
vcx | 渐晕压缩 X | — | vcx=0.2 | VCX |
vcy | 渐晕压缩 Y | — | vcy=0.2 | VCY |
norm | 视场归一化(整个系统一个,写在任一 field 行上;默认 radial):radial = 径向(默认,Zemax Radial):Hx、Hy 都乘最大径向视场(离原点最远的视场点到原点的距离);rect = 矩形(Zemax Rectangular):Hx 乘各视场 |x| 的最大值、Hy 乘 |y| 的最大值;某个方向的视场全是 0 时借用另一个方向的最大值 | — | norm=rect | Normalization(Radial / Rectangular) |
归一化视场 (Hx, Hy) 是操作数(REAY、OPDC、RSCE…)、ray 命令和「沿 +y 到最大视场」的分析(场曲、RMS 随视场、相对照度…)用的视场坐标:Hy = 1 是 radial 的最大径向视场、rect 的最大 |y| 视场。各视场点本身的位置不随归一化变。norm= 不是某个视场点的参数,可以和多个视场点写在同一行。
wave
波长,默认单位 µm,也可写 550nm;用 * 标主波长(不标则第一个是主波长);可直接写谱线名:i h g F' F e d D C' C r s t。带 w= 时一行只能写一个波长。
语法:wave <λ | 谱线名>[*][, …] [w=] 例:wave F, d*, C
对应 Zemax:System Explorer › Wavelengths
| 参数 | 说明 | 单位 | 例 | Zemax |
|---|---|---|---|---|
w | 波长权重(默认 1) | — | w=2 | Weight |
catalogs
玻璃库查找顺序。不带厂商前缀的牌号只在这些库里精确查找,按顺序取第一个;同名出现在多家时会提示你写成 厂商:牌号 钉死。zmx 带来的带版本号的库名(CDGM-ZEMAX201806)有同名 AGF 就用它,没有时按该厂商的当前库查(牌号仍精确匹配,提示 W-CATALOG-VERSION)。默认:SCHOTT, OHARA, CDGM, HOYA, HIKARI, SUMITA
语法:catalogs <厂商>[, …] 例:catalogs SCHOTT, CDGM
对应 Zemax:System Explorer › Material Catalogs
agf
加载 Zemax AGF 玻璃库(厂商官网可下载)。指向文件:厂商名 = 文件名(如 SCHOTT.AGF → SCHOTT),牌号优先于内置库同名厂商,并且排在 catalogs 之前查找。指向目录(如本机 Zemax 的 Glasscat):目录里的全部厂商目录(含停产牌号)按 catalogs 的顺序查找,与 Zemax 的 GCAT 相同,同一厂商优先于内置数据。路径相对镜头文件所在目录。可写多行。
语法:agf "<文件或目录>" 例:agf "glass/SCHOTT.AGF"
对应 Zemax:System Explorer › Material Catalogs(加载 .AGF)
ray_aim
光线瞄准:off = 不瞄准:光线射向近轴入瞳(Zemax Ray Aiming = Off);real = 实际光线迭代瞄准光阑,光阑大小按近轴定(相当于 Zemax Ray Aiming = Paraxial);robust = 同 real,更能容忍个别被挡的光线,适合大视场/广角;real_stop = 同 real,但光阑大小按实际边缘光线定:轴上视场的实际边缘光线在物方正好满足孔径(入瞳直径、物方 NA)(相当于 Zemax Ray Aiming = Real),适合光阑像差大的大孔径、广角系统
语法:ray_aim <off|real|robust|real_stop> 例:ray_aim real
对应 Zemax:System Explorer › Ray Aiming
semi_margin
半口径余量:自动半口径(没写 semi= 的面)先加百分比、再加长度,光阑面与物面不加(同 Zemax)。边缘厚度、通光直径、布局图都按加过余量的半口径;不改变光线(浮动口径跟着变大,照样不挡这组光线)。
语法:semi_margin [<百分比>%] [<长度>] 例:semi_margin 1mm
对应 Zemax:System Explorer › Aperture › Semi Diameter Margin(% 与 lens units)
apodization
光瞳切趾(同 Zemax):uniform 均匀(默认);gaussian G = 入瞳上振幅 exp(−G·ρ²)(G = 1 时边缘振幅降到 1/e、强度约 13 %);cosine_cubed = 点光源照平面的强度 cos³θ(tanθ = ρ·入瞳边缘的张角正切,只适合有限远的点光源)。ρ 是归一化光瞳坐标。高斯求积的 RMS 操作数、默认评价函数、FFT / 惠更斯 PSF 与 MTF 都按它给光线加权;实际光线本身不变。
语法:apodization <uniform | gaussian <G> | cosine_cubed> 例:apodization gaussian 1
对应 Zemax:System Explorer › Aperture › Apodization Type / Apodization Factor
afocal
无焦像方(同 Zemax 的 Afocal Image Space):像方光束名义上是平行光的系统(望远镜、扩束器、瞄准镜)按角度评价——点列图、光扇、RMS 弥散斑与 TRAX / TRAY / TRAR / TRAC / RSCE / RSCH、default spot 都是像方光线相对主光线(或质心)方向的角度差(像面局部坐标里方向余弦之差,单位 unit=,默认 mrad);波前(OPD、波前图、Zernike、RWCE / RWCH、Strehl)参考出瞳处垂直于主光线的平面波;FFT MTF 的频率按 cycles/mrad;场曲按屈光度(D)、畸变按像方主光线角的正切;近轴报告给角放大率,有效焦距、后截距、F/# 不适用。按长度定义、换不成角度的分析(惠更斯 PSF / MTF、离焦、纵向像差、色焦移、相对照度、包围能量、图像仿真、网格畸变)在无焦像方下拒算。
语法:afocal image [unit=<urad|mrad|rad|arcsec|arcmin|deg>] 例:afocal image unit=arcsec
对应 Zemax:System Explorer › Aperture › Afocal Image Space;Units › Afocal Mode Units
| 参数 | 说明 | 单位 | 例 | Zemax |
|---|---|---|---|---|
unit | 角度像差的单位:urad / mrad / rad / arcsec / arcmin / deg(默认 mrad) | — | unit=urad | Afocal Mode Units |
只是评价方式,不改光线:光学系统、实际光线与 trace / ray 的输出都与不写时相同。default angular(Zemax 的 Angular Radius 准则)在无焦像方下与 default spot 相同。MTF 操作数(MTFT / MTFS / MTFA)与 GMTA 的 freq 按 cycles/mrad。
surf
一个面 = LDE 的一行。编号就是位置:第一个面必须是 OBJ(或 0),最后一个必须是 IMA;中间面写数字编号。光阑面加 stop 标记(或把编号写成 STO)。
语法:surf <OBJ | 编号 | STO | IMA> [stop] [key=value …] 例:surf 1 R=22.01359 T=3.25896 glass=SCHOTT:N-SK16
对应 Zemax:Lens Data Editor 的一行
| 参数 | 说明 | 单位 | 例 | Zemax |
|---|---|---|---|---|
type | 面型:standard、evenasph、oddasph、toroidal、tilted、paraxial、grating、binary2、zernike、zernike_fringe、coordbreak | — | type=evenasph | Surface Type |
R | 曲率半径(inf = 平面);也可写 solve(...) / pickup(...) | mm | R=-18.395 | Radius |
C | 曲率 = 1/R(和 R 二选一,仅输入用,规范化时转成 R) | — | C=0.05 | Curvature |
T | 到下一面的厚度;也可写 solve(...) / pickup(...) | mm | T=3.259 | Thickness |
glass | 面后介质:牌号 / 厂商:牌号 / MIRROR / AIR / model(nd, vd[, 色散模型]) / ideal(n) / file("路径");也可写 pickup(源面)(照搬源面的面后介质) | — | glass=SCHOTT:N-BK7 | Material(Glass Pickup:glass=pickup(2)) |
k | 二次曲面系数(conic);也可写 pickup(...) | — | k=-1 | Conic |
aN | 非球面 rᴺ 项系数,N 为幂次:a4= a6= …(evenasph 只许偶次;oddasph 任意);也可写 pickup(源面, scale=, offset=)(源面同一幂次的系数) | — | a4=1.2e-5 | Par 1..8(EVENASPH 的 Par1 = r² 项;参数的 Pickup) |
semi | 固定半口径(不写则自动;只是通光口径,不挡光——挡光用 aperture=);系统孔径 float 时光阑面必须给 | mm | semi=5 | Clear Semi-Dia(U 固定) |
aperture | 表面口径(挡光):circular(max) / circular(min, max) 圆形口径,obscuration(max) / obscuration(min, max) 圆形遮拦,rectangular(x 半宽, y 半宽) 矩形口径,float 浮动口径(按半口径挡光);口径偏心写 dx= dy=,如 circular(5, dy=-1) | mm | aperture=circular(5) | Surface Properties › Aperture(Aperture Type、Min/Max Radius、X/Y-Half Width、Aperture X/Y-Decenter) |
rx | 托里克面(type=toroidal)的旋转半径:XZ 截面的顶点曲率半径;inf(或 0)= 柱面 | mm | rx=50 | Par 1(TOROIDAL:Radius of Rotation) |
f | 理想薄透镜(type=paraxial)的焦距 | mm | f=50 | Par 1(PARAXIAL:Focal Length) |
opd_mode | 理想薄透镜(type=paraxial)的光程算法:0 = 按固定共轭(默认,入射无像差时任何视场都完善成像)、1 = 逐条光线积分实际相位(入射带像差时更准,慢) | — | opd_mode=1 | Par 2(PARAXIAL:OPD Mode) |
tanx | 倾斜平面(type=tilted)z = tanx·x + tany·y 的 x 斜率 | — | tanx=0.1 | Par 1(TILTSURF:X Tangent) |
tany | 倾斜平面(type=tilted)的 y 斜率 | — | tany=0.05 | Par 2(TILTSURF:Y Tangent) |
m | 衍射级次 M:衍射面(type=binary2,不写 = 1、不能是 0)与衍射光栅(type=grating,不写 = 1,0 级即镜面反射 / 直透) | — | m=-1 | Par 0(BINARY_2)/ Par 2(DGRATING):Diffract Order |
lines | 衍射光栅(type=grating)的线密度,必须写单位:lines=1200/mm 或 lines=1.2/um(Zemax 填每 µm 的线数) | 1/mm | lines=1200/mm | Par 1(DGRATING:Lines/µm) |
norm | 归一化半径 ρ = r / norm:衍射面(type=binary2)的相位、Zernike 矢高面(type=zernike / zernike_fringe)的Zernike 项;写了相位项 / Zernike 项就必须写 | mm | norm=10 | Extra Data 2(BINARY_2、SZERNSAG、FZERNSAG:Norm Radius) |
pN | 衍射面(type=binary2)的相位项系数(弧度),N 为 ρ 的偶数幂次:p2= p4= …(p2 即 Zemax 的 A1、p4 即 A2) | — | p2=-443.5 | Extra Data 3..(BINARY_2:Coeff on p^2、p^4 …) |
zN | Zernike 矢高面(type=zernike / zernike_fringe)第 N 项的系数,长度(默认 mm,可写 um 等单位):z1= z4= z11= …;zernike 按 Zernike Standard(Noll 序号、单位圆上 RMS = 1,与 lb zernike、ZERN 操作数同一套,最多 z231),zernike_fringe 按 Fringe 序号(不归一,最多 z37) | mm | z4=0.002 | Extra Data 3..(SZERNSAG / FZERNSAG:Zernike 1、2 …) |
zdx | Zernike 矢高面的 Zernike 部分沿 x 偏心(基底不偏心) | mm | zdx=0.5 | Par 9(Zernike Decenter X) |
zdy | Zernike 矢高面的 Zernike 部分沿 y 偏心 | mm | zdy=-0.5 | Par 10(Zernike Decenter Y) |
extrapolate | Zernike 矢高面在归一化半径之外(ρ > 1)是否照算 Zernike 项:1 = 照算(默认)、0 = 只有基底 | — | extrapolate=0 | Par 0(Extrapolate) |
comment | 面注释 | — | comment="front lens" | Comment |
dx | 坐标断点:沿当前 x 偏心(仅 type=coordbreak) | mm | dx=0.5 | Decenter X(Par 1) |
dy | 坐标断点:沿当前 y 偏心 | mm | dy=-1 | Decenter Y(Par 2) |
tx | 坐标断点:绕当前 x 轴倾斜(度) | ° | tx=45 | Tilt About X(Par 3) |
ty | 坐标断点:绕当前 y 轴倾斜(度) | ° | ty=10 | Tilt About Y(Par 4) |
tz | 坐标断点:绕当前 z 轴倾斜(度) | ° | tz=90 | Tilt About Z(Par 5) |
order | 坐标断点顺序:0 = 先偏心后倾斜(x→y→z);1 = 先倾斜(z→y→x)后偏心 | — | order=1 | Order(Par 6) |
solve 写法:T=solve(marginal_height, 0)、T=solve(chief_height, 0)、T=solve(focus)、T=solve(edge_thickness, 1.5, 12)(径向高度 12 处的边缘厚度 1.5;不写高度用本面的 semi)、T=solve(position, 120, 1)(第 1 面顶点到下一面顶点 120)、R=solve(marginal_angle, -0.1)、R=solve(chief_angle, 0)、R=solve(fnum, 5)、R=solve(aplanatic)、R=solve(concentric_surface, 5)(曲率中心在第 5 面顶点)、R=solve(concentric_radius, 3)(与第 3 面同心)。solve 在构建时算,不写回文本。pickup 写法:R=pickup(2, scale=-1)、T=pickup(3, offset=0.5)、k=pickup(1)、a4=pickup(2, scale=-1)、glass=pickup(2)(照搬第 2 面的面后介质)。
var
优化变量(LDE 单元格上的 V 标记)。R/T/K 可写成 R3、T6、K2;其他参数写成 参数@面号,如 a4@5;范围 R1..R6、a4@1..3。引用或范围后面可跟上下界 in 下界..上界(R、T 与 Zernike 系数 zN 是长度 mm,可写单位;K、aN 原值;半径的界两端要同号),优化时守界。
语法:var <引用> [in 下界..上界] […] 例:var R1 in 10..100 T6 in 30..50
对应 Zemax:LDE 单元格的 Variable 求解类型
config
多重结构的组态数(Zemax MCE 的列数),不写 = 单组态。每个组态是一个完整的设计:与组态 1 不同的参数写成 mc 行,surf / field / wave / aperture 行上的值就是组态 1 的(删掉 config 与 mc 行,设计回到组态 1)。
语法:config <组态数> 例:config 3
对应 Zemax:Multi-Configuration Editor(组态数)
mc
多重结构的一行(Zemax MCE 的一行):一个参数在各组态的值,个数等于 config 的组态数,第一个值是组态 1(应与 surf 等行上的值相同)。引用写法同 var:R4 / T4 / K4,其他面参数写成 参数@面号(glass@6 semi@3 a4@5 tx@4 …);视场写 field@序号(y)、field_x@ field_w@ field_vdx@ …,波长写 wave@序号、wave_w@;aperture 是系统孔径的值,weight 是组态权重;表面口径写 ap_min@面号 / ap_max@面号 / ap_dx@ / ap_dy@(面上要有 aperture=);temp / pres 是这个组态的系统温度、气压(玻璃折射率按厂商目录的热色散系数换算,设计本身是 20 °C、1 atm)。有 solve / pickup 的参数不能再由 mc 控制;由 mc 控制的 R / T / K / aN 可以标 var,每个组态的值各是一个变量(变焦间隔的优化),其他由 mc 控制的参数不能标 var。
语法:mc <引用> <值1>, <值2>, … 例:mc T4 24.353, 13.981, 5.753
对应 Zemax:Multi-Configuration Editor 的一行(THIC / CRVT / CONN / GLSS / SDIA / PRAM / APMN / APMX / APDX / APDY / APER / YFIE / XFIE / FLWT / FVDX … / WAVE / WLWT / CWGT / TEMP / PRES)
| 参数 | 说明 | 单位 | 例 | Zemax |
|---|---|---|---|---|
R面号 | 曲率半径(inf = 平面) | mm | R4 | CRVT(存曲率 1/R) |
T面号 | 到下一面的厚度(T0 = 物距,可为 inf) | mm | T4 | THIC |
K面号 | 二次曲面系数 | — | K4 | CONN |
glass@面号 | 面后介质(牌号 / MIRROR / AIR / model(nd, vd) …,同 surf 的 glass=) | — | glass@4 | GLSS |
semi@面号 | 固定半口径 | mm | semi@4 | SDIA |
rx@面号 | 托里克面的旋转半径 | mm | rx@4 | PRAM 1 |
f@面号 | 理想薄透镜的焦距 | mm | f@4 | PRAM 1 |
tanx@面号 | 倾斜平面的 x 斜率 | — | tanx@4 | PRAM 1 |
tany@面号 | 倾斜平面的 y 斜率 | — | tany@4 | PRAM 2 |
m@面号 | 衍射级次 | — | m@4 | PRAM 0 / PRAM 2 |
lines@面号 | 光栅线密度(写单位,如 1200/mm) | 1/mm | lines@4 | PRAM 1(每 µm) |
dx@面号 | 坐标断点 x 偏心 | mm | dx@4 | PRAM 1 |
dy@面号 | 坐标断点 y 偏心 | mm | dy@4 | PRAM 2 |
tx@面号 | 坐标断点绕 x 倾斜(度) | ° | tx@4 | PRAM 3 |
ty@面号 | 坐标断点绕 y 倾斜(度) | ° | ty@4 | PRAM 4 |
tz@面号 | 坐标断点绕 z 倾斜(度) | ° | tz@4 | PRAM 5 |
order@面号 | 坐标断点顺序 0 / 1 | — | order@4 | PRAM 6 |
ap_min@面号 | 表面口径的最小值:圆形口径 / 遮拦的内半径,矩形的 x 半宽(面上要写 aperture=) | mm | ap_min@4 | APMN |
ap_max@面号 | 表面口径的最大值:圆形口径 / 遮拦的外半径,矩形的 y 半宽 | mm | ap_max@4 | APMX |
ap_dx@面号 | 表面口径的 x 偏心 | mm | ap_dx@4 | APDX |
ap_dy@面号 | 表面口径的 y 偏心 | mm | ap_dy@4 | APDY |
aN@面号 | 非球面 rᴺ 项系数(evenasph / oddasph / toroidal / binary2) | — | a4@5 | PRAM |
field@序号 | 视场 y(角度 ° 或高度 mm,按 field 行的类型) | — | field@2 | YFIE |
field_x@序号 | 视场 x | — | field_x@2 | XFIE |
field_w@序号 | 视场权重 | — | field_w@2 | FLWT |
field_vdx@序号 | 渐晕偏心 X | — | field_vdx@2 | FVDX |
field_vdy@序号 | 渐晕偏心 Y | — | field_vdy@2 | FVDY |
field_vcx@序号 | 渐晕压缩 X | — | field_vcx@2 | FVCX |
field_vcy@序号 | 渐晕压缩 Y | — | field_vcy@2 | FVCY |
wave@序号 | 波长(µm,也可写 nm 或谱线名) | — | wave@2 | WAVE |
wave_w@序号 | 波长权重 | — | wave_w@2 | WLWT |
aperture | 系统孔径的值(类型不变:EPD / FNO / NA) | — | aperture | APER |
weight | 组态权重(多组态评价函数按它加权;默认都是 1) | — | weight | CWGT |
temp | 系统温度(如 20C,°C):这个组态里玻璃的折射率按厂商目录的热色散系数换算到这个温度(相对同温同压的空气);半径、厚度不随它变(要变就各写 mc 行);设计本身是 20 °C | °C | temp | TEMP |
pres | 气压(如 1atm;0 = 真空):同上,换算到这个气压;设计本身是 1 atm | atm | pres | PRES |
例:config 3 | mc T4 24.353, 13.981, 5.753 | mc glass@6 N-BK7, N-BK7, N-SF6 | mc field@3 20, 14, 7 | mc aperture 10, 12, 14 | mc tx@4 45, 50.02, 39.98 | mc ap_min@1 5, 4.45, 3.9 | mc temp 20C, 60C, -20C | mc pres 1atm, 1atm, 0atm
tol
公差(Zemax TDE 的一行):种类 + 面号或范围 + 公差(±x 或 下限..上限,写单位)。逐面类的范围是逐个面,元件类的范围是一个元件。另有 tol criterion(判据:rms_spot / rms_wave / mtf)与 tol test_wave(光圈数的测试波长)。MTF 判据写 tol criterion mtf freq=30/mm(频率必写、带单位),可加 field=all 或相对视场 0–1(取最接近的已定义视场)、dir=avg / T / S(子午弧矢平均 / 子午 / 弧矢)、min=0.3(蒙特卡洛的达标阈值:所选各视场都不低于它);口径是衍射 FFT MTF(复色,同 lb mtf),判据值是所选视场按视场权重的平均,越大越好。lb tolerance 做灵敏度分析:每项取上下限,重新优化补偿器后看判据变化;lb tolerance-inverse 按判据预算反求每项该收到多紧(可写回 tol 行);lb tolerance-default 按设计的结构生成一套默认公差(追加 tol 行)。蒙特卡洛的分布(Zemax STAT):tol stat normal / uniform / parabolic 是全部行的默认(不写 = normal,上下限 = ±2σ,截断在上下限内;normal 可加 sigma=3),某一行另指定就在行尾写 stat=uniform(或 stat=normal sigma=3);uniform 在上下限内均匀,parabolic 的概率密度 ∝ (x − 中点)²、越靠上下限越可能。种类:radius = 半径:mm(TRAD)、%(相对)或光圈数 fr(TFRN,按测试波长与通光半口径换算);thick = 厚度(mm),后面的面跟着移;sdecenter = 单面偏心,x 与 y 各一项(mm);stilt = 单面倾斜,绕 x 与绕 y 各一项(°),绕本面顶点;decenter = 元件偏心,x 与 y 各一项(mm);面号范围是一个元件;tilt = 元件倾斜,绕 x 与绕 y 各一项(°),绕元件第一面顶点;面号范围是一个元件;index = 面后玻璃的折射率偏差(绝对值,不写单位),各波长同加;abbe = 面后玻璃的阿贝数偏差(%),保持 n_d、按比例缩放色散;conic = 二次曲面系数的偏差(绝对值,不写单位);aN = 非球面 rᴺ 项系数的偏差(绝对值,按 mm 计、不写单位,同 surf 的 aN;如 tol a4 3 ±2e-7);面要是 evenasph / oddasph / toroidal(YZ 截面的 yᴺ 项)/ binary2 的基底,偶次面只有偶次项
语法:tol <种类> <面号 | a..b>[, …] <±公差 | 下限..上限> [stat=normal|uniform|parabolic] [sigma=n] | tol criterion <rms_spot|rms_wave> | tol criterion mtf freq=<频率> [field=all|0–1] [dir=avg|T|S] [min=阈值] | tol test_wave <λ> | tol stat <normal|uniform|parabolic> [sigma=n] 例:tol radius 1..6 ±2fr
对应 Zemax:Tolerance Data Editor 的一行(TRAD / TFRN / TTHI / TSDX / TSDY / TSTX / TSTY / TEDX / TEDY / TETX / TETY / TIND / TCON / TPAR;TWAV;STAT)
| 参数 | 说明 | 单位 | 例 | Zemax |
|---|---|---|---|---|
radius | 半径:mm(TRAD)、%(相对)或光圈数 fr(TFRN,按测试波长与通光半口径换算) | — | tol radius … | TRAD |
thick | 厚度(mm),后面的面跟着移 | — | tol thick … | TTHI |
sdecenter | 单面偏心,x 与 y 各一项(mm) | — | tol sdecenter … | TSDX / TSDY |
stilt | 单面倾斜,绕 x 与绕 y 各一项(°),绕本面顶点 | — | tol stilt … | TSTX / TSTY |
decenter | 元件偏心,x 与 y 各一项(mm);面号范围是一个元件 | — | tol decenter … | TEDX / TEDY |
tilt | 元件倾斜,绕 x 与绕 y 各一项(°),绕元件第一面顶点;面号范围是一个元件 | — | tol tilt … | TETX / TETY |
index | 面后玻璃的折射率偏差(绝对值,不写单位),各波长同加 | — | tol index … | TIND |
abbe | 面后玻璃的阿贝数偏差(%),保持 n_d、按比例缩放色散 | — | tol abbe … | TABB |
conic | 二次曲面系数的偏差(绝对值,不写单位) | — | tol conic … | TCON |
aN | 非球面 rᴺ 项系数的偏差(绝对值,按 mm 计、不写单位,同 surf 的 aN;如 tol a4 3 ±2e-7);面要是 evenasph / oddasph / toroidal(YZ 截面的 yᴺ 项)/ binary2 的基底,偶次面只有偶次项 | — | tol a4 … | TPAR |
stat | 蒙特卡洛的分布 normal(默认)/ uniform / parabolic:tol stat 是全部行的默认,行尾的 stat= 只管这一行 | — | tol stat uniform | STAT |
sigma | 正态分布的上下限对应几个 σ(1–10 的整数,默认 2) | — | tol stat normal sigma=3 | STAT 的 Int2 |
例:tol radius 1..6 ±2fr | tol radius 3 ±0.05mm | tol thick 1..5 ±0.02mm | tol decenter 1..2 ±0.01mm | tol tilt 1..2 ±0.02deg | tol stilt 4 -0.01..+0.03deg | tol conic 1, 3 ±0.01 | tol a4 2 ±2e-7 | tol thick 3 ±0.05mm stat=uniform | tol stat parabolic | tol criterion rms_wave | tol criterion mtf freq=30/mm field=1 dir=T min=0.2
comp
公差分析的补偿器(Zemax 的 COMP):每项扰动后重新优化这些参数,写法同 var(R / T / K)。不写 = 像面前那段厚度(后截距);comp none = 不补偿。
语法:comp <引用> […] | comp none 例:comp T6
对应 Zemax:Tolerance Data Editor 的 COMP 行
op
评价函数的一行(Zemax MFE 的一行)。操作数名照 Zemax;需要面号的可把面号/范围写成第一个位置参数;目标写 target=…(等于)或直接写不等式 <= / >=(只在越界时计入);目标可带单位(target=5um)。全部操作数见 docs/reference/operands.md。
语法:op <操作数> [面号|范围] [参数=值 …] [target=值 | <= 值 | >= 值] [weight=w] [name=名字] 例:op EFFL target=50
对应 Zemax:Merit Function Editor 的一行
| 参数 | 说明 | 单位 | 例 | Zemax |
|---|---|---|---|---|
target | 目标值(比较方式为 = 时) | — | target=50 | Target |
weight | 权重(默认 1;0 = 只计算不优化) | — | weight=2 | Weight |
name | 行名,供 EXPR 引用 | — | name=f | — |
config | 多重结构:只在这个组态上算;不写 = 每个组态都算(各算一行,按组态权重) | — | config=2 | CONF 行(其后的操作数属于该组态) |
wave / Hx / Hy / Px / Py / surf / ring / field / freq / expr … | 操作数自己的参数,见操作数参考 | — | wave=2 Hy=1 Py=1 | Int1 / Int2 / Hx / Hy / Px / Py |
例:op TOTR <= 62 | op MNCT 1..6 >= 1 | op REAY 7 Hy=1 Py=1 target=0 | op RSCE ring=3 Hy=1 target=5um
let
评价函数里的中间量:let 名 = 表达式(MATLAB 风格:向量、区间 0:0.25:1、逐元素运算、max / mean / rms…,可直接调用操作数,如 RSCE(ring=3, Hy=h))。别的 let 与 op EXPR 可以引用它;let 能引用 op 行的 name= 与别的 let,写在前后都行(按依赖求值,像电子表格),但不能循环引用。见 docs/optimization.md「表达式」。
语法:let <名字> = <表达式> 例:let h = 0:0.25:1
对应 Zemax:MFE 里 weight = 0 的中间行(SUMM / DIFF … 的组合)
例:let h = 0:0.25:1 | let r = RSCE(ring=3, Hy=h) | op EXPR expr="max(r)" <= 0.01 | let ratio = TOTR() / EFFL()
view
视图规格:某种图的取样与显示选项(同一图型可写多行,后写覆盖前面)。取样选项改变数据(证据 id 随之变),显示选项只改画法。有量纲的数值必须写单位。图型:layout(二维布局)、spot(点列图)、spot_density(点密度图)、encircled_energy(包围能量)、ensquared_energy(方框能量)、relative_illumination(相对照度)、fan(光扇图)、opd_fan(波像差扇)、mtf(MTF)、geometric_mtf(几何 MTF)、huygens_mtf(惠更斯 MTF)、field_map(全视场像质图)、glass_map(玻璃图)、sag(矢高表)、rms_field(RMS 随视场)、mtf_vs_field(MTF 随视场)、through_focus_mtf(离焦 MTF)、image_sim(图像仿真)、fieldcurv(场曲畸变)、grid_distortion(网格畸变)、longitudinal(纵向像差)、lateral_color(垂轴色差)、focal_shift(色焦移)、through_focus(离焦点列图)、seidel(Seidel 像差图)、footprint(足迹图)、wavefront(波前图)、zernike(Zernike 系数)、psf(PSF)、huygens_psf(惠更斯 PSF)
语法:view <图型> [选项=值 …] 例:view spot rings=8 ref=centroid box=100um
对应 Zemax:分析窗口的 Settings(Zemax 存在 .CFG/.ZDA)
| 参数 | 说明 | 单位 | 例 | Zemax |
|---|---|---|---|---|
layout: rays | [取样]每视场子午光线数 | — | view layout rays=… | |
layout: first | [取样]第一个显示的面(默认第 1 面) | — | view layout first=… | |
layout: last | [取样]最后一个显示的面(默认像面) | — | view layout last=… | |
layout: fold | [取样]压缩离群的大空气间隔(长于其余部分总长一半的间隔,画断开符号) | — | view layout fold=… | |
layout: color | [取样]光线着色:field 按视场(主波长)/ wave 按波长(每个波长各追一组,看色散) | — | view layout color=… | |
layout: numbers | [显示]标面号 | — | view layout numbers=… | |
layout: axes | [显示]显示坐标轴(默认用比例尺代替) | — | view layout axes=… | |
layout: configs | [取样]多重结构:current 只画当前组态 / all 各组态上下排开(同一 z 比例) | — | view layout configs=… | |
spot: rings | [取样]六角形采样环数 | — | view spot rings=… | |
spot: ref | [取样]参考点 | — | view spot ref=… | |
spot: airy | [显示]画艾里斑圆 | — | view spot airy=… | |
spot: box | [显示]方框边长(如 100um;默认按数据取整) | — | view spot box=… | |
spot_density: rays | [取样]光瞳每边采样数(分层抖动,rays × rays 落在圆内的约 78 %,每个波长都追) | — | view spot_density rays=… | |
spot_density: bins | [取样]密度网格每边格数 | — | view spot_density bins=… | |
spot_density: ref | [取样]参考点 | — | view spot_density ref=… | |
spot_density: box | [取样]方框边长(如 100um;默认包住各视场 99.5 % 能量) | — | view spot_density box=… | |
spot_density: scale | [显示]刻度:sqrt(默认,亮处不饱和、弱的弥散也看得见)/ linear / log(三个量级) | — | view spot_density scale=… | |
spot_density: norm | [显示]field = 每格按本视场峰值归一 / all = 各视场共用刻度(比能量集中程度) | — | view spot_density norm=… | |
spot_density: airy | [显示]画艾里斑圆 | — | view spot_density airy=… | |
encircled_energy: method | [取样]diffraction = 由 FFT PSF 积分(含衍射)/ geometric = 光线落点(不含衍射) | — | view encircled_energy method=… | |
encircled_energy: ref | [取样]圆心:chief = 主波长主光线像点 / centroid = 复色能量质心 | — | view encircled_energy ref=… | |
encircled_energy: wave | [取样]波长序号(0 = 全部波长按权重合成) | — | view encircled_energy wave=… | |
encircled_energy: sampling | [取样]衍射:光瞳采样(引擎按它取 FFT 网格);几何:光瞳每边 4 × sampling 个分层抖动采样点 | — | view encircled_energy sampling=… | |
encircled_energy: radius | [取样]横轴最大半径(如 30um;默认最差视场 90 % 能量半径 × 1.5,至少 3 个艾里半径) | — | view encircled_energy radius=… | |
encircled_energy: marks | [显示]标出各视场 80 % 能量半径 | — | view encircled_energy marks=… | |
ensquared_energy: method | [取样]diffraction = 由 FFT PSF 积分(含衍射)/ geometric = 光线落点(不含衍射) | — | view ensquared_energy method=… | |
ensquared_energy: ref | [取样]正方形中心:chief = 主波长主光线像点 / centroid = 复色能量质心 | — | view ensquared_energy ref=… | |
ensquared_energy: wave | [取样]波长序号(0 = 全部波长按权重合成) | — | view ensquared_energy wave=… | |
ensquared_energy: sampling | [取样]衍射:光瞳采样(引擎按它取 FFT 网格);几何:光瞳每边 4 × sampling 个分层抖动采样点 | — | view ensquared_energy sampling=… | |
ensquared_energy: half | [取样]横轴最大半宽(如 20um;默认最差视场 90 % 能量半宽 × 1.5,至少 3 个艾里半径) | — | view ensquared_energy half=… | |
ensquared_energy: marks | [显示]标出各视场 80 % 能量半宽 | — | view ensquared_energy marks=… | |
relative_illumination: num | [取样]视场采样点数(0 到最大视场) | — | view relative_illumination num=… | |
relative_illumination: rays | [取样]光瞳每边采样数(分层抖动,rays × rays 落在圆内的约 78 %) | — | view relative_illumination rays=… | |
relative_illumination: wave | [取样]波长序号(0 = 主波长) | — | view relative_illumination wave=… | |
relative_illumination: cos4 | [显示]画 cos⁴θ 参考线(角度视场) | — | view relative_illumination cos4=… | |
relative_illumination: vignetting | [显示]画透过的光瞳占比(几何渐晕) | — | view relative_illumination vignetting=… | |
fan: num | [取样]每条扇的采样点数 | — | view fan num=… | |
fan: scale | [显示]纵轴最大刻度(如 50um;默认按数据取整) | — | view fan scale=… | |
opd_fan: num | [取样]每条扇的采样点数 | — | view opd_fan num=… | |
opd_fan: scale | [显示]纵轴最大刻度(波长数) | — | view opd_fan scale=… | |
mtf: max_freq | [取样]曲线最高频率(如 100/mm;0 = 衍射截止频率) | — | view mtf max_freq=… | |
mtf: sampling | [取样]FFT 取样:auto = 自动(全部视场与波长的 FFT 窗口 ≥ 4 倍几何弥散斑直径的最小一档,128 / 256 / 512 / 1024;到 1024 还不够就提示取样不足);32–1024 的整数 = 固定取样(越大越准、越慢) | — | view mtf sampling=… | |
geometric_mtf: max_freq | [取样]曲线最高频率(如 100/mm;0 = 主波长的衍射截止频率) | — | view geometric_mtf max_freq=… | |
geometric_mtf: grid | [取样]光瞳方格每边的光线数(同 GMTA 操作数的 grid) | — | view geometric_mtf grid=… | |
geometric_mtf: wave | [取样]波长序号(0 = 全部波长按权重放进同一个光线分布) | — | view geometric_mtf wave=… | |
geometric_mtf: mult | [取样]乘衍射极限 MTF(Zemax 几何 MTF 的 Multiply by Diffraction Limit;关 = 与 GMTA 操作数相同) | — | view geometric_mtf mult=… | |
huygens_mtf: max_freq | [取样]曲线最高频率(如 100/mm;0 = 衍射截止频率) | — | view huygens_mtf max_freq=… | |
huygens_mtf: sampling | [取样]光瞳采样(sampling × sampling;越大越准、越慢) | — | view huygens_mtf sampling=… | |
field_map: data | [取样]spot = 复色 RMS 弥散斑半径(µm)/ wavefront = 复色 RMS 波前(λ) | — | view field_map data=… | |
field_map: ref | [取样]参考:centroid 质心 / chief 主光线 | — | view field_map ref=… | |
field_map: area | [取样]circle = 整个视场圆 / sensor = 内接的 3:2 传感器矩形(看角落) | — | view field_map area=… | |
field_map: n | [取样]网格每边点数(取奇数;sensor 时横向 × 1.5) | — | view field_map n=… | |
field_map: rings | [取样]高斯求积环数 | — | view field_map rings=… | |
field_map: arms | [取样]高斯求积臂数(0 = 自动) | — | view field_map arms=… | |
field_map: contours | [显示]画等值线并标数值 | — | view field_map contours=… | |
glass_map: catalogs | [取样]画哪些厂商目录:design = 本设计的 catalogs / all = 全部 | — | view glass_map catalogs=… | |
glass_map: labels | [显示]标出本设计玻璃的牌号 | — | view glass_map labels=… | |
sag: surface | [取样]面号(默认第一个非球面 / 二次曲面,没有就第 1 面) | — | view sag surface=… | |
sag: num | [取样]从顶点到半口径的采样点数 | — | view sag num=… | |
rms_field: data | [取样]spot = RMS 弥散斑半径(µm)/ wavefront = RMS 波前(波长) | — | view rms_field data=… | |
rms_field: ref | [取样]参考:centroid 质心(波前去倾斜)/ chief 主波长主光线(波前只去平移) | — | view rms_field ref=… | |
rms_field: num | [取样]视场采样点数(0 到最大视场) | — | view rms_field num=… | |
rms_field: rings | [取样]高斯求积环数 | — | view rms_field rings=… | |
rms_field: arms | [取样]高斯求积臂数(0 = 自动:2 × 环数,同 Zemax) | — | view rms_field arms=… | |
mtf_vs_field: f1 | [取样]第 1 个空间频率(如 30/mm;三个都不写 = 截止频率的 1/16、1/8、1/4 取整) | — | view mtf_vs_field f1=… | |
mtf_vs_field: f2 | [取样]第 2 个空间频率 | — | view mtf_vs_field f2=… | |
mtf_vs_field: f3 | [取样]第 3 个空间频率 | — | view mtf_vs_field f3=… | |
mtf_vs_field: num | [取样]视场采样点数(0 到最大视场) | — | view mtf_vs_field num=… | |
mtf_vs_field: sampling | [取样]FFT 取样:auto = 自动(这 num 个视场点、全部波长的 FFT 窗口 ≥ 4 倍几何弥散斑直径的最小一档,128 / 256 / 512 / 1024;到 1024 还不够就提示取样不足);32–1024 的整数 = 固定取样(越大越准、越慢) | — | view mtf_vs_field sampling=… | |
through_focus_mtf: freq | [取样]空间频率(如 30/mm;默认主波长截止频率的 1/8 取整) | — | view through_focus_mtf freq=… | |
through_focus_mtf: step | [取样]离焦步长(如 0.02mm;默认按 λF#² 取整) | — | view through_focus_mtf step=… | |
through_focus_mtf: steps | [取样]离焦位置个数(奇数,中间为像面) | — | view through_focus_mtf steps=… | |
image_sim: mode | [取样]patch = 某视场点附近一小块(看像差的模糊与彩边)/ full = 整个视场(看畸变与相对照度) | — | view image_sim mode=… | |
image_sim: pattern | [取样]测试图:star 西门子星 / grid 网格 / bars 条纹组 / checker 棋盘 | — | view image_sim pattern=… | |
image_sim: field | [取样]patch 中心的相对视场(0–1,沿 +y) | — | view image_sim field=… | |
image_sim: size | [取样]patch 边长(如 300um;默认取艾里直径 × 40 与弥散 RMS 半径 × 20 中大的) | — | view image_sim size=… | |
image_sim: pixels | [取样]输出每边像素 | — | view image_sim pixels=… | |
image_sim: sampling | [取样]PSF 的光瞳采样 | — | view image_sim sampling=… | |
image_sim: grid | [取样]full 模式沿 +y 算 PSF 的视场个数 | — | view image_sim grid=… | |
image_sim: show | [显示]both = 理想像与仿真像并排 / sim = 只看仿真像 | — | view image_sim show=… | |
fieldcurv: num | [取样]视场采样点数 | — | view fieldcurv num=… | |
fieldcurv: distortion | [取样]畸变的参考像高:ftan = f·tanθ(默认)/ ftheta = f·θ(f 为近轴焦距)/ cal_ftheta = 校准 f·θ(f 按最小二乘定,同 DISC 操作数);F-θ 两种只用于物在无穷远 | — | view fieldcurv distortion=… | |
grid_distortion: n | [取样]网格每边点数(奇数,中心在光轴上) | — | view grid_distortion n=… | |
grid_distortion: wave | [取样]波长序号(0 = 主波长) | — | view grid_distortion wave=… | |
grid_distortion: exaggerate | [显示]把实际网格相对理想网格的偏离放大几倍(畸变很小时看形状) | — | view grid_distortion exaggerate=… | |
longitudinal: num | [取样]光瞳采样点数 | — | view longitudinal num=… | |
lateral_color: num | [取样]视场采样点数 | — | view lateral_color num=… | |
lateral_color: airy | [显示]画 ±艾里半径参考线 | — | view lateral_color airy=… | |
focal_shift: num | [取样]波长采样点数 | — | view focal_shift num=… | |
focal_shift: wmin | [取样]波长下限(默认最短系统波长) | — | view focal_shift wmin=… | |
focal_shift: wmax | [取样]波长上限(默认最长系统波长) | — | view focal_shift wmax=… | |
through_focus: step | [取样]离焦步长(如 0.02mm;默认按 2λF#² 取整) | — | view through_focus step=… | |
through_focus: steps | [取样]离焦位置个数(奇数,中间为像面) | — | view through_focus steps=… | |
through_focus: rings | [取样]六角形采样环数 | — | view through_focus rings=… | |
seidel: unit | [显示]纵轴:mm = Seidel 系数 S1…S5、C1、C2;waves = 波像差系数 W040…(波长) | — | view seidel unit=… | |
footprint: surface | [取样]看哪个面(模型面号;all = 所有面一起看的小图阵列;默认第 1 面) | — | view footprint surface=… | |
footprint: rings | [取样]六角形采样环数(另加一圈光瞳边缘光线画轮廓) | — | view footprint rings=… | |
footprint: aperture | [显示]画本面通光口径圆 | — | view footprint aperture=… | |
wavefront: field | [取样]视场序号(1 起) | — | view wavefront field=… | |
wavefront: wave | [取样]波长序号(0 = 主波长) | — | view wavefront wave=… | |
wavefront: grid | [取样]光瞳采样网格每边点数(奇数时中心与 ±1 正好是格点) | — | view wavefront grid=… | |
wavefront: remove | [取样]去掉的项:none = 原样(参考主光线)/ piston = 平移 / tilt = 平移 + 倾斜 | — | view wavefront remove=… | |
wavefront: show | [显示]画哪些:both = 波前伪彩 + 干涉图 / map / fringes | — | view wavefront show=… | |
zernike: field | [取样]视场序号(1 起) | — | view zernike field=… | |
zernike: wave | [取样]波长序号(0 = 主波长) | — | view zernike wave=… | |
zernike: kind | [取样]fringe(Zemax Fringe,37 项、不归一)/ standard(Noll 序号与归一,系数 = 该项 RMS) | — | view zernike kind=… | |
zernike: terms | [取样]项数(Fringe ≤ 37,Standard ≤ 66) | — | view zernike terms=… | |
zernike: grid | [取样]光瞳采样网格每边点数 | — | view zernike grid=… | |
psf: field | [取样]视场序号(1 起) | — | view psf field=… | |
psf: wave | [取样]波长序号(0 = 全部波长按权重合成,即复色;k = 第 k 个波长) | — | view psf wave=… | |
psf: sampling | [取样]FFT 取样(引擎按它取光瞳采样与 FFT 网格;越大像素越细):auto = 自动(本视场、所选波长的 FFT 窗口 ≥ 4 倍几何弥散斑直径的最小一档,128 / 256 / 512;到 512 还不够就提示取样不足);32–1024 的整数 = 固定取样(越大越准、越慢) | — | view psf sampling=… | |
psf: span | [取样]显示窗口半宽(如 20um;默认包住 95 % 能量 × 1.3,至少 3 个艾里半径) | — | view psf span=… | |
psf: scale | [显示]刻度:linear / log(对数时伪彩看四个量级、剖面看五个量级,看旁瓣与弥散) | — | view psf scale=… | |
huygens_psf: field | [取样]视场序号(1 起) | — | view huygens_psf field=… | |
huygens_psf: wave | [取样]波长序号(0 = 全部波长按权重合成,即复色;k = 第 k 个波长) | — | view huygens_psf wave=… | |
huygens_psf: sampling | [取样]光瞳采样(sampling × sampling;越大越准、越慢,耗时 ∝ 采样² × 像素²) | — | view huygens_psf sampling=… | |
huygens_psf: pixels | [取样]像面网格边长(取奇数,主光线在中心像素) | — | view huygens_psf pixels=… | |
huygens_psf: delta | [取样]像素间距(如 0.2um;默认自动:窗口包住几何弥散 95 % 半径 × 1.3 加一个艾里半径) | — | view huygens_psf delta=… | |
huygens_psf: scale | [显示]刻度:linear / log | — | view huygens_psf scale=… |
pack
报告素材包的规格:lb pack 导出哪些素材(图、表、确定性结论),每条带证据 id,清单写明含义、单位与文件。可写多行,按出现顺序合并;不写就用默认集合(prescription paraxial layout spot spot_density fan mtf fieldcurv encircled_energy seidel verify manufacturing conclusions)。条目:表 prescription paraxial verify manufacturing;图型同 view;conclusions(确定性结论)
语法:pack <条目> [<条目> …] 例:pack prescription paraxial layout spot mtf verify conclusions
对应 Zemax:(Zemax 无直接对应;Zemax 的报告是 Report Graphic / Prescription Data 这类单页)
report
报告设计(编排):一份报告 = 若干评估项,一行一项、按书写顺序,同名的 report 行合成一份报告。lb report-run 在当前设计和各个动作(action)的结果上逐项评估,出改前 / 改后的对比汇总。不写就用默认报告(optics thermal weight material verify manufacturing)。不进模型哈希。评估项:optics = 光学;thermal = 热效应;weight = 重量;material = 材料;verify = 验收;manufacturing = 可制造性;tolerance = 公差
语法:report <名字> <评估项> [选项=值 …] 例:report 换玻璃 thermal temp=-20C..60C housing=aluminum
对应 Zemax:(Zemax 无直接对应:相当于逐个打开分析窗口、做热分析(Make Thermal)、查玻璃数据表,再手工抄表对比)
| 参数 | 说明 | 单位 | 例 | Zemax |
|---|---|---|---|---|
optics | 光学:一阶量(EFFL、BFL、F/#、总长)、各视场复色 RMS 弥散斑、同一频率的子午 / 弧矢 MTF、最大畸变、最大垂轴色差 | — | report 名字 optics | |
thermal | 热效应:温度范围内(镜片按自己玻璃的线膨胀系数、间隔按镜筒材料伸缩,折射率按厂商目录的热色散系数换算)的焦距漂移、热离焦(近轴焦点相对像面,与焦深 ±2λN² 比较,N 是近轴工作 F/#)、像面不动时的 RMS 与 MTF | — | report 名字 thermal | |
weight | 重量:各片玻璃的体积与质量(外径取两面半口径中较大的,小的一面按平面延伸,同 Zemax VOLU / TMAS),密度取厂商目录 | — | report 名字 weight | |
material | 材料:每种玻璃的 nd、vd、密度、线膨胀系数、dn/dT、ΔPgF、供货状态、相对价格与化学稳定性(厂商目录) | — | report 名字 material | |
verify | 验收:spec 逐条过 / 不过(同 lb verify,固定的规范取样) | — | report 名字 verify | |
manufacturing | 可制造性:各片的中心厚、边厚、通光直径;装夹违例与边厚过小 | — | report 名字 manufacturing | |
tolerance | 公差:按设计里的 tol 行做公差分析(同 lb tolerance,补偿器重新优化后算判据):灵敏度列出影响最大的几项与均方根合成的估计;蒙特卡洛给均值、标准差、分位数,写了 limit 再给良率;反求(同 lb tolerance-inverse)给每项按判据预算该收到多紧。tols= 可在设计的 tol 行之外补一套默认公差(同 lb tolerance-default)。算得慢,默认报告里没有,要写出来才算 | — | report 名字 tolerance | |
optics: freq | MTF 比较的空间频率(如 50/mm);默认 = 基线截止频率的 1/8 取整到 5 | — | report 名字 optics freq=… | |
thermal: temp | 温度范围,如 -20C..60C(°C) | — | report 名字 thermal temp=… | |
thermal: steps | 温度点数(含两端) | — | report 名字 thermal steps=… | |
thermal: ref | 名义温度(设计所在的温度,如 20C) | — | report 名字 thermal ref=… | |
thermal: housing | 镜筒材料(空气间隔按它伸缩):aluminum 铝合金 / steel 不锈钢 / brass 黄铜 / titanium 钛合金 / invar 殷钢 / none 间隔不变 | — | report 名字 thermal housing=… | |
thermal: pres | 气压(相对 1 atm;0 = 真空) | — | report 名字 thermal pres=… | |
thermal: freq | MTF 比较的空间频率(如 50/mm);默认 = 基线截止频率的 1/8 取整到 5 | — | report 名字 thermal freq=… | |
tolerance: mode | sensitivity 灵敏度(每项取上下限)/ montecarlo 蒙特卡洛(所有公差同时随机取值)/ inverse 反求(每项单独施加时判据变差 change、或到 limit 的公差,同 lb tolerance-inverse) | — | report 名字 tolerance mode=… | |
tolerance: trials | 蒙特卡洛的试验次数 | — | report 名字 tolerance trials=… | |
tolerance: seed | 蒙特卡洛的随机种子(种子相同结果相同) | — | report 名字 tolerance seed=… | |
tolerance: cycles | 每次优化补偿器的最大迭代轮数 | — | report 名字 tolerance cycles=… | |
tolerance: top | 灵敏度列出影响最大的几项;反求列出收得最紧的几项 | — | report 名字 tolerance top=… | |
tolerance: limit | 蒙特卡洛的良率判据上限,与判据同单位(RMS 弥散斑 µm、RMS 波前 λ);MTF 判据时是下限(MTF ≥ limit);写了才算良率(MTF 判据没写 limit、tol criterion 写了 min= 时给那个达标率)。反求时是判据的极限值(Inverse Limit) | — | report 名字 tolerance limit=… | |
tolerance: change | 反求(mode=inverse):每项单独施加时判据允许变差的量(Inverse Increment),与判据同单位;写了它就不看 limit | — | report 名字 tolerance change=… | |
tolerance: tols | 用哪套公差:design = 设计里的 tol 行;commercial 普通级(常规)/ precision 精密级(精密)/ high 高精密级 = 在设计已有的 tol 行之外补上这一档的默认公差(同 lb tolerance-default,只在副本上加,设计不动;设计里没有 tol 行时也能直接分析,报告里写明用了哪一档) | — | report 名字 tolerance tols=… |
例:report 换玻璃 optics freq=50/mm | report 换玻璃 thermal temp=-40C..70C steps=12 housing=titanium | report 换玻璃 weight | report 换玻璃 material
action
动作设计(编排):一个动作 = 若干步改动,一行一步、按书写顺序在设计的副本上执行,同名的 action 行合成一个动作;不改当前设计。lb report-run --actions 名字 看改前 / 改后的对比,lb action-run 名字 把改完的结果以补丁提出。不进模型哈希。步骤:set = 改某个面的参数(同 lb set);system = 替换系统设置语句(同 lb system);refocus = 重新对焦:像面前那段厚度调到 RMS 弥散斑最小(同 solve(focus),结果写成数);optimize = 按设计里的 var / op 局部优化(同 lb optimize --mode local)
语法:action <名字> <步骤> [参数 …] 例:action 换玻璃 set 3 glass=CDGM:H-ZF52A
对应 Zemax:(Zemax 无直接对应:相当于手工改 LDE 后做 Quick Focus / 优化,再另存一份对比)
| 参数 | 说明 | 单位 | 例 | Zemax |
|---|---|---|---|---|
set | 改某个面的参数(同 lb set) | — | set <面号> key=value …,如 set 3 glass=CDGM:H-ZF52A、set 4 T=5 | |
system | 替换系统设置语句(同 lb system) | — | system "<语句>",如 system "aperture FNO 4" | |
refocus | 重新对焦:像面前那段厚度调到 RMS 弥散斑最小(同 solve(focus),结果写成数) | — | refocus | |
optimize | 按设计里的 var / op 局部优化(同 lb optimize --mode local) | — | optimize [cycles=50] |
例:action 换玻璃 set 3 glass=CDGM:H-ZF52A | action 换玻璃 refocus | action 快一档 system "aperture FNO 4" | action 补像质 optimize cycles=30
spec
验收规格(与 op 分开:spec 是验收,op 是优化目标)。界限写 min= / max= / target= tol=;有量纲的数值必须写单位;像质类可按视场(相对 0–1 或 all)和方向(T / S / both)写;畸变默认取绝对值,带符号写 signed。lb verify 用固定的规范取样独立复算;出图时规格画在图上(过线绿、不过线红)。多重结构可按组态写:config=k 只在组态 k 上验,config=all 每个组态都验,不写 = 在当前组态上验;每个(规格, 组态)各判一次、每个组态各登记一份证据。种类:efl、fno、bfl、ttl、imh、cra、mtf、spot_rms、distortion、lateral_color、focal_shift、custom
语法:spec <种类> [freq= field= dir=] (min= | max= | target= tol=) [signed] [config=k | config=all] 例:spec efl target=50mm tol=1%
对应 Zemax:(Zemax 无直接对应;对应的操作数见各种类说明)
| 参数 | 说明 | 单位 | 例 | Zemax |
|---|---|---|---|---|
efl | 有效焦距(长度,写单位 mm/um) | mm | spec efl … | EFFL |
fno | 像方 F/#(近轴)(无量纲) | — | spec fno … | ISFN |
bfl | 后截距(末面 → 近轴焦点)(长度,写单位 mm/um) | mm | spec bfl … | —(System Data 的 BFL) |
ttl | 总长(第 1 面 → 像面)(长度,写单位 mm/um) | mm | spec ttl … | TOTR |
imh | 最大视场主光线像高(长度,写单位 mm/um) | mm | spec imh … | REAY(Hy=1,像面) |
cra | 像方主光线角(各视场的最大值)(角度,写 deg) | ° | spec cra … | RAID(像面) |
mtf | MTF(复色)(无量纲);可用 freq/field/dir | — | spec mtf … | MTFT / MTFS / MTFA |
spot_rms | 复色 RMS 弥散斑半径(参考主光线)(长度,写单位 mm/um);可用 field | mm | spec spot_rms … | RSCH |
distortion | 畸变(F-tanθ,默认取绝对值)(百分比,写 %);可用 signed | % | spec distortion … | DIMX |
lateral_color | 垂轴色差(最短与最长波长的主光线像高差,取最大)(长度,写单位 mm/um) | mm | spec lateral_color … | LACL |
focal_shift | 色焦移范围(波段内近轴焦点的最大差)(长度,写单位 mm/um) | mm | spec focal_shift … | AXCL(两端波长) |
custom | 自定义:表达式(MATLAB 风格,可调用操作数;结果是向量时每个元素都要过)(无量纲);可用 expr/label | — | spec custom … | (MFE 里操作数的组合,如 MAXX / ABSO / DIMX…) |
config | 多重结构:只在组态 k 上验(config=2),或每个组态都验(config=all);不写 = 当前组态(lb verify --config k 换当前组态)。各种类都可写 | — | config=2 | (相当于操作数的 CONF 行) |
例:spec efl target=50mm tol=1% | spec fno max=2.0 | spec ttl max=40mm | spec cra max=13deg | spec mtf freq=50/mm field=0.7 dir=T min=0.3 | spec spot_rms max=10um | spec distortion max=2% | spec efl target=70mm tol=1% config=2 | spec ttl max=60mm config=all
default
默认评价函数(Zemax 优化向导):spot = RMS 弥散斑,wave = RMS 波前,angular = RMS 角度像差(Zemax 的 Angular Radius:像方光线相对质心 / 主光线方向的方向余弦之差,单位同 afocal image 的 unit=,默认 mrad;无焦像方下 spot 也按角度,两者相同);参考 centroid / chief。展开成逐光线残差(高斯求积 rings × arms),覆盖全部视场和波长(按权重);可附带厚度边界约束。
语法:default <spot|wave|angular> [centroid|chief] [rings=3] [arms=6] [obscuration=0] [weight=1] [glass_min= glass_max= air_min= air_max= edge_glass_min= edge_air_min=] 例:default spot centroid rings=3 arms=6 glass_min=1 air_min=0.5
对应 Zemax:Optimization Wizard
| 参数 | 说明 | 单位 | 例 | Zemax |
|---|---|---|---|---|
rings | 高斯求积环数(1–20) | — | rings=3 | Rings |
arms | 每环的臂数(2–36) | — | arms=6 | Arms |
obscuration | 中心遮拦比 ε(0 ≤ ε < 1,光瞳半径的比例):求积环布在 ρ ∈ [ε, 1] 的环带里,卡塞格林等中心遮拦系统用(不填时环布满整个光瞳,被挡的节点去掉,环形光瞳上积分偏差约 3 %) | — | obscuration=0.33 | Obscuration |
weight | 整体权重 | — | weight=1 | — |
glass_min | 玻璃中心厚度下限(展开为 MNCG) | mm | glass_min=1 | Glass Min |
glass_max | 玻璃中心厚度上限(MXCG) | mm | glass_max=12 | Glass Max |
air_min | 空气中心厚度下限(MNCA) | mm | air_min=0.5 | Air Min |
air_max | 空气中心厚度上限(MXCA) | mm | air_max=100 | Air Max |
edge_glass_min | 玻璃边缘厚度下限(MNEG) | mm | edge_glass_min=0.5 | Glass Edge |
edge_air_min | 空气边缘厚度下限(MNEA) | mm | edge_air_min=0.2 | Air Edge |
面型
| type= | Zemax | 说明 |
|---|---|---|
standard | STANDARD | 标准面:球面/二次曲面(R、k) |
evenasph | EVENASPH | 偶次非球面:二次曲面 + a2 r² + a4 r⁴ + …(偶次幂) |
oddasph | ODDASPHE | 奇次非球面:二次曲面 + a1 r + a2 r² + a3 r³ + … |
toroidal | TOROIDAL | 托里克面:YZ 截面是二次曲线(R、k)加 a2 y² + a4 y⁴ + …(偶次),绕平行于 y 轴、离顶点 rx 的轴旋转而成;rx = inf 即柱面(只在 YZ 截面有光焦度) |
tilted | TILTSURF | 倾斜平面:z = tanx·x + tany·y(Zemax Tilted 面,X / Y Tangent);只有这个面倾斜,后面的面不受影响 |
paraxial | PARAXIAL | 理想薄透镜:焦距 f=;面本身是平面,物在无穷远时任何视场都完善成像(Zemax Paraxial) |
grating | DGRATING | 衍射光栅:标准面(R、k,可为反射镜)上刻线平行于局部 x 轴,线密度 lines=、级次 m=;光线按 n′·M′ = n·M + m·λ·lines 在 y 方向偏折(Zemax Diffraction Grating) |
binary2 | BINARY_2 | 二元面 2(衍射面):偶次非球面基底(R、k、a2 a4 …)上加相位 Φ = m·Σ pN·ρᴺ(弧度,N = 2、4 …,ρ = r / norm);光线按 n′·sinθ′ = n·sinθ + λ/(2π)·∂Φ/∂r 偏折,色散与波长成正比(Zemax Binary 2) |
zernike | SZERNSAG | Zernike 矢高面:偶次非球面基底(R、k、a2 … a16)加 Σ zN·Z_N(ρ, θ),Z_N 是 Zernike Standard 多项式(Noll 序号、单位圆上 RMS = 1,与 lb zernike、ZERN 操作数同一套),系数 zN 是长度(mm),ρ = r / norm,最多 z231(Zemax Zernike Standard Sag) |
zernike_fringe | FZERNSAG | Zernike Fringe 矢高面:同 zernike,多项式用 Fringe 序号(不归一,ρ = 1 处幅值为 1),最多 z37(Zemax Zernike Fringe Sag) |
coordbreak | COORDBRK | 坐标断点:order=0 时先沿当前 x/y 偏心 dx/dy,再依次绕当前 x、y、z 轴倾斜 tx/ty/tz(度);order=1 时顺序反过来(先倾斜 z→y→x,再偏心)。之后的面在新坐标系里排布;本面不追迹光线 |
solve
| 种类 | 挂在 | 含义 |
|---|---|---|
marginal_height | T | 边缘光线高度:调本面厚度,使下一面上的边缘光线高度 = 目标值(0 即近轴焦点) |
chief_height | T | 主光线高度:调本面厚度,使下一面上的主光线高度 = 目标值 |
focus | T | 最佳焦点:调像面前一面的厚度使 RMS 弥散斑最小(相当于一直开着 Quick Focus) |
marginal_angle | R | 边缘光线角度:调本面曲率,使出射边缘光线斜率 u'(全局 dy/dz)= 目标值;反射镜也可以 |
chief_angle | R | 主光线角度:调本面曲率,使出射主光线斜率(全局 dy/dz)= 目标值;反射镜也可以 |
fnum | R | F 数:调本面曲率,使边缘光线离开本面后会聚、|u'| = 1/(2F#)(光沿 +z 时 u' = -1/(2F#),奇数次反射后沿 -z 时取正);反射镜也可以 |
edge_thickness | T | 边缘厚度:调本面厚度,使径向高度 h 处的边缘厚度(本面厚度 + 下一面在 h 处的矢高 − 本面在 h 处的矢高,矢高沿 y 取)= 目标值;写成 solve(edge_thickness, 边缘厚度, h),不写 h 用本面的固定半口径 semi(Zemax Edge Thickness,径向高度 0 即用半口径) |
position | T | 位置:调本面厚度,使参考面顶点到下一面顶点的距离(其间各厚度之和)= 目标值;写成 solve(position, 长度, 参考面),参考面在本面之前或就是本面(Zemax Position) |
aplanatic | R | 齐明:调本面曲率,使边缘光线在本面满足 u'/n' = u/n(齐明点:这一面不产生球差、彗差、像散),c = −u·(n + n')/(n·y);只用于折射面(Zemax Aplanatic) |
concentric_surface | R | 与某面同心:调本面曲率,使本面的曲率中心落在参考面的顶点上(R = 参考面顶点 z − 本面顶点 z);写成 solve(concentric_surface, 参考面)(Zemax Concentric of Surface) |
concentric_radius | R | 与某半径同心:调本面曲率,使本面与参考面的曲率中心重合(R = 参考面的 R + 两顶点的距离;参考面是平面时本面也是平面);写成 solve(concentric_radius, 参考面)(Zemax Concentric with Radius) |
谱线名(可直接写在 wave 里)
| 名 | µm |
|---|---|
i | 0.365015 |
h | 0.404656 |
g | 0.435835 |
F' | 0.479991 |
F | 0.4861327 |
e | 0.546074 |
d | 0.5875618 |
D | 0.5892938 |
C' | 0.643847 |
C | 0.6562725 |
r | 0.706519 |
s | 0.85211 |
t | 1.01398 |
默认玻璃库顺序
SCHOTT, OHARA, CDGM, HOYA, HIKARI, SUMITA