附件下载
文章附件简介
OpticStudio中有将近400个操作数,几乎可以将任何感兴趣的值作为目标,包括SINE,PROD,SQRT等数学操作数,可以定义详尽的评价函数。有时所需的值需要进行复杂的计算,但是无法在评价函数编辑器中执行。在这种情况下,可以使用优化操作数ZPLM执行宏来确定操作数的值。运行宏,并使用OPTRETURN关键字将值返回给评价函数。ZPLM操作数
ZPLM 操作数包含六个参数: Mac#, Data, Hx, Hy, Px, PyMac#是OpticStudio应该执行的宏的编号。应将与ZPLM操作数一起使用的宏另存为ZPLnn.zpl,其中,00 ≤ nn ≤ 99。
例如,ZPLM调用宏ZPL03.zpl时,Mac#应该为3。
Data是由宏计算出来的数据值。单个宏中最多可以计算51个数据值 (0 ≤ Data ≤ 50)。 为了提高效率,仅当Data = 0时才执行宏;否则,将使用来自先前宏调用的数据(即Data = 0,至少需要调用一次)。
Hx, Hy, Px, 和 Py 是可以传递给宏以用于计算的值,它们不一定必须是归一化的视场/光瞳坐标:

ZPLM 示例:质心约束
在某些光学系统(瞄准镜,双筒望远镜,安装在三脚架上的照相机等)中,质心是要考虑的重要的机械因素。假设我们正在设计瞄准镜,其中一个约束条件是使系统平衡。这意味着,质心(CM)应该位于前组元件和后组元件之间的中间位置。加载示例文件: <Documents>\Zemax\Samples\Sequential\Afocal\Afocal Riflescope.zmx
所有透镜均旋转对称
所有材料为均匀介质
每个透镜的质心都位于顶点的中间(严格来说,这仅适用于曲率相等且符号相反的透镜)
表面1是全局坐标参考(GCRS)
每个元件的全局位置
每个元件的质量
系统总长(前透镜至后透镜)
GLCZ() 函数返回表面的全局z坐标
OPEV() 函数使用TMAS优化操作数提取元件的质量
GETSYSTEMDATA 关键字返回总光路长度(表面1到像面)
OPTRETURN 关键字将数据返回到宏
ZPLM 宏代码
可在文章附件中找到“质心”宏,如下所示:
评价函数中的 ZPLM
在评价函数中,添加 Mac#= 1,Data= 0 的ZPLM操作数,这将运行宏并返回系统的质心。
Hx = 镜筒质心到系统中心的距离
Hy = 镜筒质量

