介绍 ZPL非常广泛,它{zd0}的优势是自动化枯燥或重复性的工作。例如,假定你要看一个复杂光学系统中,发光分布随一个或者多个元件倾角的关系。一些非序列光线追迹需要好几个小时来完成,这需要大量的时间来评估。没有ZPL,你不得不开始最初的光线追迹,等待它完成,保存数据,改变感兴趣元件倾角,再跑光线追迹程序,重复该元件每个倾角增量的过程。 文件概述和ZPL对话框打开 从打开例程文件“Twyman-Green_2.ZMX”开始(你可以从本文{zh1}一页下载)。注意:这个程序和ZEMAX> Samples>Non-Sequential>Ray Splitting文件夹下Twyman-Green.ZMX例程略有区别。 文件目前的状态是,测试面(Object 4)是xx校正的,得到的屏幕上的条纹图表示仅仅有球差。在这个演示中我们将看到,在我们轻微倾斜测试面时,探测屏上的是如何变化的。我们将通过在ZEMAX中构建一个简单的宏来自动化这个过程。 宏可以使用任何ASCII文本编辑器产生/编辑(例如NOTEPAD 编辑器)。有时候,从一个和你想完成的任务相近的宏开始,可能是最简单的方式。这样的话,你可以简单的在已有的宏上作必要的修改,以别的名称保存,而不必写全部的宏。 你可以从ZEMAX主菜单选择“Macros > Edit/Run ZPL macros…”,或者按F9。之后会弹出ZEMAX Programming Language 对话框,其中有ZEMAX > Macros文件夹下所有宏的列表。你可以选择已有的宏并执行它,或者你可以选择通过“Edit” 按钮去编辑它:选择 “Edit” 将在NOTEPAD中打开选择的宏。你可以编辑想要的文本,或者你可以删除全部宏,从一个新的屏幕开始。对于目前的演示,我们将开始一个全新的文本编辑器。在本文接下的几页里我们将使用文本编辑软件 。 书写并评价Twyman Green宏的每一行 在Twyman-Green干涉仪的例子中,一些选定的函数和关键字被用于自动化测试板的倾斜并讲条纹图保存为单独的文件。将如下文本敲入你的文本编辑器(或者你可以使用本文后已有的宏)。虽然ZEMAX宏语言不区分大小写,大写函数和关键字以帮助区分宏逻辑仍然是好习惯。EditPlus 2可以将代码的函数(蓝色),关键字(红黄)和字符串颜色显示......这使得宏更容易编写和读懂。
一旦宏被构建,你可以以任何文件名来保存宏。但是宏的扩展名必须是.ZPL。对于目前的例子合适的文件名是“Twyman-Green.ZPL”。 注意,ZPL宏必须保存在文件夹或者子文件夹便于它们被ZEMAX调用。或者可以在File > Preferences > Directories下设置宏的默认文件夹。将目前的宏以需要的文件名保存在合适的文件夹下。 宏可以两种方式之一执行。你若从ZEMAX主菜单中选择“Macros”,所有可用的宏被以字母顺序列于下拉菜单中。如果你的宏没有出现在列表中,试着通过选择“Refresh Macro List”来刷新宏列表。 如果刷新后宏还没有出现在该列表中,请再次检查你最近生成宏的目录和文件名。 如果你从该列表中选择宏,ZEMAX会自动执行该宏。或者,如同之前描述,你可以选择“Edit/Run ZPL Macros”来xxZEMAX Programming Language 对话框。 一旦选择了想要的宏,你可以通过对话框底部可用的按钮来执行或编辑该宏。 从ZEMAX里面执行Twyman Green宏。注意,该宏可能需要几分钟去完成非序列光线追迹。但问题在于,ZEMAX可以更大规模的替你完成重复的工作,让你去做更有意义的事情。 宏完成之后,查看文件保存的目录,产生了总共5个图元文件。每幅图像可以用于定性分析,在Twyman Green干涉仪中,干涉条纹是如何被测试面的倾斜影响的。 除了测试面倾角为0的情况,5个文件里面的4个展示如下: Four of the five files are shown below, excluding the nominal case in which the tilt of the test plate was zero.
ZEMAX编程语言为ZEMAX提供了很好的用户扩展。ZPL宏可用于处理任意多次工作,且在自动化一系列估值方面非常有用。ZPL的一些基本东西罗列如下:
References |