如何将序列表面转化为非序列物体

这可能是有史以来干货最多的一篇技术文章。为什么呢,因为长……很长……很长……但是很关键,可以说应用场合特别特别多。看在知识的面子上,看在快要累吐血的小编的面子上,答应我,读完它,好吗……
如何将序列表面转化为非序列物体

概述

在OpticStudio中对序列光学系统进行优化、分析和公差分析后,可将其转换为非序列光学系统进行光机设计或杂散光分析。一旦表面被转换成非序列物体,就很容易插入CAD物体来表示支架、套筒或虹膜孔,并详细查看系统的光学部分和机械元件之间的相互作用。
本文使用的示例文件请从以下链接下载:


https://customers.zemax.com/ZMXLLC/media/Knowledge-Base/Attachments/11006_Article-Attachments.zip


引言

本文解释了如何手动将序列系统转换为非序列系统,以及如何使用转换至NSC组(Convert to NSC Group)工具自动进行转换。读完整篇文章会非常有利于学习这些内容, 但文中的每个部分也可以作为参考。


内容索引:

例1:将序列表面转换为非序列元件
为转换至混合模式准备文件
使用转换至非序列工具
从混合模式转换为非序列模式
插入非序列光源
插入探测器物体
非序列光线追迹
探测器查看器:衍射分析
例2:自动转换至非序列模式
例3:有限共轭系统的自动转换
例4:离轴系统的自动转换
总结

“转换至NSC组(Convert to NSC Group)”工具位于OpticStudio序列模式下的文件(File)选项卡中,它能够自动将序列表面转换为其等效的非序列物体。它可以将最常用的序列表面类型、 表面孔径和坐标间断转换为混合模式中的非序列元件组,或者直接转换为非序列模式下的非序列系统。



了解序列系统是如何转换为非序列物体,以及序列系统与非序列模式的哪些方面相关联是非常重要的。一些序列表面没有等效的非序列面,因此无法转换。不要假设这个功能可以完美地转换序列表面数据;在进行任何重要的分析之前,请仔细检查转换结果。本文中的第一个示例将解释如何手动将序列系统转换为非序列系统, 并包括对两个版本的文件进行比较的方法示例。其它示例展示了自动转换的工作原理,并解释了在转换期间所做的一些假设和更改。

请注意,这个转换工具的功能仍在更新,以支持更多的序列表面类型。有关当前所支持表面类型的最新信息,请参阅帮助系统中文件(File)选项卡> 转换至NSC组(Convert to NSC Group)。

示例1:将序列表面
转换为非序列元件

我们将通过一个示例来说明如何将序列表面转换为非序列元件。打开位于<…\Documents\Zemax\Samples\Sequential\Objectives>中的示例文件“Cooke 40 degree field.zmx”。 镜头数据编辑器(Lens Data Editor)和2D视图(2D Layout)如下图所示:

为转换至混合模式准备文件

我们将表面#1(第一个镜片的前表面)到表面#6(最后一个镜片的后表面)转换为等效的非序列元件。然后,我们将手动在当前序列模式下的像面(IMAGE)(表面#7)位置放置一个非序列探测器(Detector)物体。 我们还将在物空间中放置一个表示轴上光线的非序列光源(Source)。光源和探测器物体将帮助我们确认系统转换正确。

转换工具有一个选项可以将文件转换为非序列模式:


如果没有选择“将文件转换至非序列模式(Convert file to non-sequential mode)”,那么OpticStudio将在镜头数据编辑器(Lens Data Editor)中用一个非序列组件表面(Non-Sequential Component Surface)替换范围内的所有序列表面(Sequential Surfaces)。这个非序列元件表面包含一组转换后的非序列物体, 可以在非序列元件编辑器中访问这些物体。这就创建了一个“混合模式(Mixed Mode)”系统,即同时存在序列和非序列模式。

在混合模式系统中,光线在非序列元件组的外部按序列追迹,但在非序列元件组内部可能遵循非序列路径。序列光线可以从输入端口(Entrance Port)进入非序列元件,也可以从其输出端口(Exit Port)离开非序列组件。

“光阑面(Stop Surface)”的概念只适用于序列光线追迹。这是因为在连续的光线追迹中,光线的目标是填充入瞳(Entrance Pupil), 入瞳是光阑面在物体空间中所成的像。因此,只有序列表面可被设置为系统的光阑。光阑面必须在所设计系统中的非序列部分之前。

在库克三片式透镜(Cooke Triplet)的例子中,光阑面嵌入在系统中。因此,要将其转换为混合模式下的系统,我们需要在希望转换为非序列物体的第一个透镜之前插入一个虚拟面,再将当前光阑移动到虚拟面上。

此外,在转换为非序列设计之前,所有的半直径(Semi-Diameter)都应该是固定的(在半口径旁边用“U”表示)。这个文件中半口径的值已经固定,但是稍后我们将做另一个例子,展示如何固定半口径。

要移动库克三片式透镜文件中的光阑面,首先要在当前表面#1之前插入一个新表面。


您可以通过双击表面类型(Surface Type),或者使用表面属性(Surface Properties)标题栏中的向下箭头来扩展新虚拟面的表面属性。勾选表面 1属性中的“使此表面为光阑(Make Surface Stop)”:



镜头数据编辑器将在新的虚拟面(#1)旁边显示“光阑(STOP)”,表示这是现在的光阑面。这意味着我们改变了光阑面,因此也改变了入瞳。因为序列模式下每个视场的光线都是填充进入瞳,你会注意到布局光线发生了变化:



在这个例子中,我们已经固定了透镜的半口径,所以透镜本身没有改变。因此,我们仍然可以正确地将透镜转换为非序列物体。 在进入下一步之前保存这个文件。为便于参考,将其另存为“Cooke 40°field_1.zmx”, 此文件存在于文章的附件中。

使用转换至非序列元件工具

现在已经准备好转换为混合模式的文件。从文件(File)选项卡中选择转换至NSC组工具。


现在,忽略加工支持(Production Tools)部分。选择表面 2 - 7,取消勾选除“忽略错误并尽可能多转换(Ignore errors and convert as much as possible)”外的所有设置:

非序列元件编辑器的标题栏表示对应于镜头数据编辑器中的哪个NSC表面:

点击OK,表面2到表面7将被转换为非序列元件表面类型:


我们现在有一个带输入和输出端口(Entrance and Exit Ports)的混合模式系统。有关使用带有端口的非序列元件表面的更多信息,请参见OpticStudio的联机帮助文件(Help Files)部分,位于设置选项卡(Setup)>编辑器组(Editors Group)>非序列元件编辑器 (Non-Sequential Component Editor)>非序列概述(Non-Sequential Overview)>如何使用带有端口的NSC(How to use NSC With Ports)。

您将注意到2D视图(2D Layout)现在是空白的,因为非序列元件是一个潜在的非对称3D系统。相反,在分析(Analyze)选项卡> 3D视图(3D Viewer)中打开一个三维布局图(3D layout):


如果您查看设置(Setup)选项卡,就会注意到界面中的序列模式(Sequential UI mode)按钮仍然被选中,但是非序列编辑器(Non-Sequential Editor)的按钮现在是启用的:


单击设置(Setup)选项卡> 编辑器(Editors)组件中的非序列模式(Non-Sequence)按钮,查看非序列元件编辑器。这个非序列元件编辑器对应于镜头数据编辑器中的非序列元件表面。它包含3个物体,表示序列模式文件中的2到7面:


在进入下一步之前保存此文件。为便于参考,将其保存为“Cooke 40°field_2.zmx”,在文章的附件中存在此文件。

从混合模式转至非序列模式

我们希望添加光源和探测物体物体,这在纯非序列系统中是最简单的。为此,我们将系统更改为非序列模式,这意味着镜头数据编辑器中的所有序列表面都将丢失,只保留非序列元件编辑器中的信息。

要做到这一点,请单击设置(Setup)选项卡下,模式(Mode)组中的“非序列模式(Non-Sequential)”按钮:


点击下面对话框中的“Yes”。


该文件被转换为非序列模式,镜头数据编辑器不再可用。非序列元件编辑器仍然包含相同的非序列元件,与序列模式中的库克三片式透镜文件中的镜头对应。

打开布局图查看非序列元件编辑器中的三个透镜。进入分析(Analyze)选项卡> 非序列3D视图(NSC 3D Layout):


透镜仍然存在,但是为了确认转换后的结果,我们需要插入一个非序列光源(Non-Sequential Source)和探测器。

插入非序列光源

序列系统的入瞳直径为10个透镜单位,物距为无穷远。要创建相同的轴上输入光束,我们可以在第一个透镜的左侧放置一个准直的、圆形非序列光源。

在非序列元件编辑器的任何地方插入新的一行:


双击非序列元件编辑器中的物体类型(Object Type),或者单击物体属性(Object Properties)标题栏旁边的向下箭头,打开物体属性。将类型(Category)更改为光源,并将类型设置为“椭圆光源(Source Ellipse)”:


在非序列元件编辑器中,为椭圆光源设置以下参数,并将其它参数保留为默认值。
Z位置(Z position)= -10(因为是准直的,所以只要在第一个透镜的左边,它在哪里并不重要)
阵列光线条数#(# Layout Rays)=10
分析光线条数# (# Analysis Rays)=100000
X半宽度(X half Width)= 5
Y半宽(Y half Width)= 5


更新3D视图,你会看到10条阵列光线。


接下来,为了显示100000条分析光线,我们需要添加一个探测器物体(Detector Object)。


插入探测器物体

为了保持与序列文件的一致性,我们需要将探测器物体放置在与序列像面相同的位置。 为了确定序列像面的位置,我们需要返回到序列文件的全局顶点数据(Global Vertex Data)。保存目前为止完成的内容,并打开“Cooke 40°field_1. zmx”文件。


在系统选项(System Explorer)中,将全局坐标参考面(Global Coordinate Reference Surface)更改为面1:


然后点击分析(Analyze)选项卡>报告( Reports)>分类数据报告( Prescription Data):


展开分类数据报告窗口的设置,并单击“清除选择(Clear All)”按钮。然后,检查表面8(像面)的全局顶点(Global Vertex)信息,我们可以看到其相对于全局坐标参考(即曲面1)的Z = 60.177。


打开这个文件后,点击分析(Analysis)选项卡>光线迹点(Rays & Spots) > 标准点列图(Standard Spot Diagram)。我们希望查看轴上结果,并可以在完成非序列系统之后将其作为参考。

展开点列图的设置,并进行以下更改:光线密度(Ray Density)= 40,样式(Pattern)设为杂乱(Dithered),视场(Field)= 1,勾选显示艾里斑(Show Airy Disk),并关闭使用标注(Use Symbols)。


点列图显示了像面上的光线密度,但没有z轴时表示辐照度的叠加。为了观察辐照度分布,我们可以使用几何图像分析(Geometric Image Analysis)。点击分析(Analysis)选项卡>扩展图像分析(Extended Scene Analysis) >几何图像分析。

展开几何图像分析的设置,并进行如下更改:视场尺寸(Field size)= 0,像面尺寸(Image size)= 0.02,光线X 1000(Rays X 1000) = 1000,显示(Show) = 伪彩色(False Color),像素数( # Pixels) = 200。


看看点列图下方的文本,您会注意到艾里斑半径(Airy Radius)只比RMS半径(RMS Radius)小2um。点击分析(Analysis)选项卡>点扩散函数( PSF) >惠更斯PSF(Huygens PSF) 可查看衍射极限。

展开惠更斯PSF的设置,做出如下更改:光瞳采样(Pupil Sampling)和像面采样(Image Sampling)均为 256x256,像面采样间距(Image Delta)= 0.078um,波长(Wavelength)= 2,显示为(Show As)= 伪彩色(False Color)。


一旦光源和探测器被添加到非序列文件中,我们就可以得到这些序列结果。点击文件(File)选项卡> 打开(Open),使用最近打开的文件列表返回到转换后的非序列文件。相对于镜头数据编辑器中的表面#1,序列像面(IMAGE)的Z = 60.177个单位。 在非序列文件中,物体#1(Object #1)位于Z = 0处,表面 #1(Surface #1)位于物体#1(Object #1)之前。因此,探测器物体(Detector Object)的Z位置应为+60.177。

在非序列元件编辑器的任意位置插入另一个物体。双击非序列元件编辑器中的物体类型(Object Type),或者单击物体属性(Object Properties)标题栏旁边的向下箭头,打开物体属性(Object Properties)。将分类(Category)项更改为探测器 (Detectors),并将类型(Type)设置为“矩形探测器(Detector Rectangle)”:


以下是“矩形探测器(Detector Rectangle)”物体的参数:
Z位置(Z position)= 60.177
X半宽(X half Width)= 0.01
Y半宽(Y half Width)= 0.01
X像元数(# X Pixels)= 100
Y像元数(# Y Pixels)= 100
更新NSC三维布局图(NSC 3D Layout)(点击工具栏图标中的蓝色双箭头),重置缩放(工具栏图标中的黑色圆圈和白色箭头)。你现在将看到椭圆光源发出的光线追迹到矩形探测器上的布局图:


非序列光线追迹

接下来,我们需要分析矩形探测器上的结果。为此,单击分析(Analyze)选项卡>探测器查看器(Detector Viewer)打开探测器查看器。 现在,探测器查看器将显示一个空白窗口。为了看到光能量落在矩形探测器上,我们需要从椭圆光源开始进行光线追迹。

从分析(Analyze)选项卡>光线追迹(Ray Trace)打开光线追迹控制(Ray Trace Control):


点击清除并追迹(Clear & Trace),以清除任何探测器数据,并开始光线追迹。OpticStudio将追迹100000条光线,这在编辑器中椭圆光源的参数“分析光线条数(# Analysis rays)”中指定。

光线追迹完成后,探测器查看器将显示辐照度分布。请注意,以下截图中的设置已经更改,以伪彩色(False Color)显示分析结果:


探测器查看器中显示的能量分布与上节中展示的序列模式下点列图和几何图像分析中的能量分布非常吻合。请参考之前的截图进行比较。

注意,序列几何图像分析中报告的“效率百分比(Percent efficiency)”和瓦特数(Watts)可能与非序列文件中报告的瓦特总数不同。这是因为在非序列文件中,光线可以通过多条非序列路径到达探测器,而在序列文件中,光线只能通过一条路径。要在非序列文件中仅模拟此路径,您需要使用过滤器字符串(use filter string) (详情可参见文章:https://customers.zemax.com/os/resources/learn/knowledgebase/how-to-identify-specific-rays-using-filter-strings),或在每个镜头周围添加环形吸收孔径。


探测器查看器:衍射分析

我们在矩形探测器上看到的结果可以与序列模式中的点列图和几何图像分析进行比较,但是所有这些分析都是使用几何光线进行的,忽略了衍射效应。 然而,我们也可以使用矩形探测器的参数“PSF模式波长(PSF Wave#)”,将序列模式中惠更斯PSF的衍射计算(可参阅文章https://customers.zemax.com/os/resources/learn/knowledgebase/what-is-a-point-spread-function.aspx)与类似的非序列计算进行比较。设置的“PSF模式波长”就相当于波长(在波长数据编辑器(Wavelength Data Editor)中定义)数量之一。设置后就会打开一种允许探测器在该波长处执行相干惠更斯PSF积分的特殊模式。入射到探测器上的每一束光线都被转换成一个局部平面波,照亮探测器上的每一个像素,平面波的相干振幅在所有像素上求和。得出点扩散函数(Point Spread Function),可与序列模式中的惠更斯PSF相比较。 要查看非序列文件中的惠更斯PSF,请为椭圆光源和矩形探测器设置以下参数:

光源

分析光线条数(# Analysis Rays):5000(减少光线条数可增加光线追迹速度)。
探测器
数据类型(Data Type):1
PSF模式波长(PSF Wave#):2
再次打开光线追迹控制(Ray Trace Control),并再次运行光线追迹。在探测器查看器中,将显示数据(Show Data)设置更改为相干照度(Coherent Irradiance):


如您所见,序列模式下的惠更斯PSF和非序列探测器显示了非常相似的结果。外环强度的微小差异只是由于追迹的光线条数不同造成的。



例2:自动转换至非序列模式

前面几节展示了如何手动将文件转换为混合模式系统,然后再转换为非序列文件。现在,我们将使用OpticStudio的内置工具来简化这个过程! 要演示如何使用这些工具,请在文件夹<…\Documents\Zemax\Samples\ sequence \ objective >中打开示例文件“Double Gauss 28 degree field .zmx”。 请注意,在系统选项(System Explorer)中,孔径类型(Aperture Type)为入瞳直径(Entrance Pupil Diameter),关闭光线瞄准(Ray Aiming)。此外,表面的半直径没有求解,这意味着它们会自动调整以使所有光线都能通过:


点击文件(File)选项卡> 转换为NSC组(Convert to NSC Group)。转换设置界面前有两个加工支持:


在本例中,我们将使用加工支持。点击锁定设计工具,开始进行转换:


将序列模式设计的系统转换为非序列系统通常需要几个步骤。系统的所有理想化输入都应转换为实际生产制造的输入。锁定设计工具自动转换是从打开光线瞄准开始的多步骤过程。光线瞄准是OpticStudio中的一种迭代光线追迹算法, 它可以在物方找到能够正确填充光阑面的光线。这确保了光线正确地追迹通过光阑面,并使表面的自动半直径调整到正确的尺寸。

锁定设计工具还将系统孔径更改为物理孔径大小。例如,在一个真实的系统中,光线并不知道它们需要从哪里开始才能使入瞳直径(Entrance Pupil Diameter)等于10毫米。用户可以指定入瞳直径等于10毫米,但这意味着OpticStudio会反复调整光阑面的直径,直到入瞳达到正确的尺寸。在一个真实的系统中,极限孔径是固定的,这决定了哪些光线通过系统。其它真实孔径设置包括“物方空间NA(Object Space NA)”或“物方锥角(Object Cone Angle)”。 有关更多信息,请参见OpticStudio的在线帮助文件的公差 (Tolerance)选项卡>加工支持(Production Tools Group)>锁定设计(Design Lockdown)部分。

类似地,锁定设计(Design Lockdown)工具将从使用基于像的视场点定义(如果正在使用)切换到基于物的定义。这是因为基于像的计算是迭代的,就像上面示例中入瞳直径的描述一样。

然后,锁定设计工具将所有半直径切换为固定孔径。这意味着虚拟面将转换为非序列文件中的环形面(Annulus),并保留每个表面的净孔径信息。 最后,根据用户要求,可以移除求解选项,并将厚度值四舍五入到合理的精度。同样,要获得更多信息,请参见OpticStudio的在线帮助文件的公差 (Tolerance)选项卡>加工支持(Production Tools Group)>锁定设计(Design Lockdown)部分。 使用上面截图中显示的锁定设计工具的设置,然后单击OK。这将创建一个名为“Double Gauss 28°field .zmx”的新文件。此文件包含在文章附件中以供参考。

接下来,点击特定光线生成器(Critical Rayset Generator):


特定光线生成器工具使用序列系统创建一组“临界”光线数据。这些光线为确保在转换为非序列模式时对系统所作的更改,或在非序列模式下所做的其它更改(例如添加元件以减少杂散光或添加光学挡板)是无害的提供了基础。 它创建了一个*.CRS文件,它可以通过特定光线比对(Critical Ray Tracer)在非序列模式下进行光线追迹,或用作光源文件。请注意,特定光线生成器只在OpticStudio的旗舰版中可用。

使用如上面的屏幕截图所示的特定光线生成器中的默认设置,然后单击OK,您将返回到转换至NSC组窗口。 将转换至NSC组(Convert to NSC Group)中的所有选项都设为选中状态,单击OK。这将创建一个名为“Double Gauss 28°field-PROD-NONSEQ.zmx”的新文件。此文件包含在文章附件中以供参考。


转换完成后新文件将自动打开,查看非序列元件编辑器。不只使用标准透镜(Standard Lens)物体代替镜头数据编辑器(Lens Data editor)中的标准面(Standard),还设有光源物体(Source Objects)和探测器物体(Detector Objects):


将视场数据编辑器(Field Data Editor)中的每个序列视场转换为等效的非序列椭圆光源。 此外,利用点列图分析方法计算了每个序列视场在像面上的质心位置。然后,在这些质心位置插入矩形探测器,我们可以看到对应于每个视场的注释。 这是一个平面成像的聚焦系统,所以每个视场点的矩形探测器位于同一个XY平面。这些矩形探测器很小,并且在X和Y方向分开,所以矩形探测器不会重叠,这对于大多数聚焦系统来说都是正确的设置。 然而,在某些系统中,矩形探测器可能更大,或者距离更接近,因此它们可能会重叠。如果发生这种情况,那么将遵循嵌套规则,一些探测器可能无法看到所有光线。在这种情况下,我们需要手动调整探测器的位置,使它们之间的距离大于系统选项(System Explorer)中的“胶合距离(Glue Distance)”。 打开分析(Analyze)选项卡>光线追迹(Ray Trace),使用默认设置运行一次光线追迹(Ray Trace) (打开忽略错误(Ignore Errors))。打开探测器查看器,查看每个视场的分析结果:



上面的截图还显示了序列文件的分析结果以进行比较。 探测器查看器中的结果看起来是正确的,但是我们也可以运行特定光线比对来确认转换成功。这将使用序列文件中特定光线生成器创建的光线文件。点击分析(Analysis)选项卡> 特定光线比对(Critical Ray Tracer):


从上面的报告中可以看出,100%的光线都是通过系统完全追迹的,每条光线的位置和方向余弦都在目标值的默认公差范围内。


例3:有限共轭系统的自动转换

之前的例子展示了如何转换物面在无穷远的序列模式文件。有限共轭系统是点对点成像,所以OpticStudio会添加额外的物体用以测试成像质量。为了具体展示,请您打开根目录<…\Documents\Zemax\Samples\Sequential\Image Simulation>中的Example 2, Double Gauss Experimental Arrangement.ZMX文件。 点击文件(File)选项卡>转换至NSC组(Convert to NSC Group)>锁定设计 (Design Lockdown),按下图设置。


设置完成后的文件包含在本文附件中。 检查转换至NSC组(Convert to NSC Group) 窗口中的所有选项,点击OK。转换完成后的文件也包含在本文附件中。


您将注意到在转换后的文件中,代表视场点的椭圆光源之前会出现DLL光源(Source DLL)和幻灯片(Slide)物体。此外,还出现了一个颜色探测器 (Detector Color),为防止嵌套,这个探测器被放在矩形探测器之后。DLL光源、幻灯片物体和颜色探测器能用来评价系统成像质量。 DLL光源和幻灯片物体的尺寸是由序列模式中物面的半径定义的。颜色探测器的尺寸是根据序列模式中全视场的点列图分析默认定义的。 备注为“Lambertian_Overfill” 的DLL光源,将以朗伯散射过量填满序列模式系统的第一个孔径,来模拟一个真实光源。为了使非序列光线追迹的效率最大化,DLL光源的尺寸需与幻灯片物体的尺寸匹配。 为了评价成像效果,我们需要从DLL光源这个全视场光源追迹光线,在非序列元件编辑器中做如下更改

把每个椭圆光源的阵列光线条数和分析光线条数都设为0。
把DLL光源的阵列光线条数设置为30,分析光线条数设置为1000000。
非序列3D布局图结果如下:


在上图中,不同的颜色表示不同的分段(Segment #),并且显示光线箭头(Fletch Rays) ,你会注意到光线从整个光源区域出射,而不是从一个点出射。并且,第一个孔径被光线填满。点击分析 (Analyze) > 光线追迹 (Ray Trace),并使用默认设置,点击清除并追迹 (Clear & Trace) 按钮,打开探测器查看器并进行设置,使它显示颜色探测器的结果:


上图分别用伪彩色(False Color)和真彩色(True Color)展示了颜色探测器的分析结果,你会发现这些条形在角落的位置变得模糊了。为了进一步研究,我们可以提高探测器的像素数量,并增加DLL光源的分析光线条数。 观察真彩色结果,你会发现颜色接近白色,这是因为序列模式文件中包含多个可见光波长,所以DLL将自动设置波长为0.44到0.64um的5800K的黑体光谱。


如果序列模式中仅含一个波长,或含有可见光谱外的波长,颜色探测器的光谱将被设置为序列模式的系统波长。

例4:离轴系统的自动转换

之前的例子展示的是如何利用转换至NSC组工具自动将一个轴上系统转换为非序列模式。本例将展示具有孔径偏移的离轴系统如何自动转换。 在Zemax根目录下<\Samples\Sequential\Tilted systems & prisms>打开示例文件OAP using Chebyshev Polynomial surface.zmx。作以下调整: 在坐标断点面后插入一个新表面。
将新表面设置为光阑 (表面属性 (Surface Properties)>类型 (Type)>使此表面为光阑 (Make Surface Stop))。 在系统设置 (System Explorer)>系统孔径 (Aperture)中,把孔径值设置为50mm。


如果我们没有进行上述操作,则会出现两个问题。第一,当锁定设计工具打开时,入射光线的位置和方向会发生显著变化。这是因为锁定设计工具会打开光线瞄准,使光线填满离轴切比雪夫多项式光阑面。如果光阑面在轴上,则光线瞄准不会使入射光线发生显著变化。第二,切比雪夫多项式表面的矩形孔径会挡住特定光线生成器中追迹的一些光线,故我们把孔径设置为50mm以便所有的追迹光线都能透过系统,这会为我们使用特定光线生成器、比较序列模式光线与非序列模式光线提供便利。 之后,点击切比雪夫多项式面,打开表面属性 (Surface Properties)>绘图 (Draw)设置。把镜面基底 (Mirror Substrate) 改为“平 (Flat)”,并添加一个5mm的厚度。


这样,我们就做好了把这个文件转换为非序列模式的准备。


打开文件 (File)> 转换至NSC组 (Convert to NSC Group) 工具,运行锁定设计工具和特定光线生成器。然后点击OK将文件转化为非序列模式。下图为转换完成后的系统:


序列模式中的表面1和表面2被转换为了非序列模式下的环形面 (Annulus) 物体,位置改换到了非序列元件编辑器中的第3、4行。 事实上,这些物体在本例中是不需要的(甚至物体3还会挡住离轴抛物面 (OAP) 反射的光线)。所以,我们选中物体后右键,选择忽略并隐藏物体 (Ignore and Hide Object)。


然后,运行特定光线生成器确认转换正确。


看上去转换成功了,现在,让我们观察一下序列模式的离轴抛物面镜 (OAP) 是如何转换为非序列物体的。物体6-10定义了离轴抛物面镜 (OAP) 的各项参数。


非序列模式中没有序列模式里切比雪夫表面的等效物体,所以它被一个网格矢高表面 (Grid Sag Surface) 代替。抛物面镜的后表面被标准面(Standard Surface)物体7代替,透镜的前后表面通过组合透镜
(Compound Lens) 物体8组合,偏心的孔径也是通过该物体和一个矩形物体的布尔运算实现的。OAP镜的位置和属性由原生布尔 (Boolean Native) 物体10定义。

大多数序列表面自动转换为等效的非序列表面(可在用户手册中查看OpticStudio支持自动转换的表面类型),其它面则被转换为网格矢高表面物体,就像本例中那样。矢高表面是自动取样的,并且会在用户数据文件夹<…\Zemax\Objects\Grid Files>中生成一个.GRD文件。像OAP前后表面这样成对的序列模式表面,如果在非序列模式中没有等效替换的物体,则会被转换成非序列模式组合透镜物体的参考物体。例如,如果一片透镜前表面是偶次非球面 (Even Asphere surface) 或表面是扩展多项式 (Extended Polynomial) 表面,那么这片透镜也会被转化为组合透镜物体。但如果一片透镜前表面是偶次非球面 (Even Asphere surface),后表面是标准面则透镜将被转换为非序列模式中的偶次非球面透镜 (Even Asphere Lens) 物体。 如本例,当镜面基底厚度大于0时,转换工具将把序列模式基底厚度复制给非序列组合透镜物体厚度。如果镜面基底像本例那样是平的,则镜子的后表面将会以一个平的标准面物体代替。如果镜面基底是弯曲的,则后表面的物体类型将与前表面保持一致。
对于序列模式中代表透镜前表面和后表面的成对表面,以及定义了基底厚度的反射镜,它们前表面的孔径也会在后表面上生效。如果前表面具有轴上圆形或矩形孔径,孔径值会被拷贝到非序列组合透镜物体的参数中去。如果一个表面具有偏心孔径,如本例中的偏心矩形孔径,则除了组合透镜物体,转换器还会添加一个圆柱体 (Cylinder Volume) 物体或矩形体 (Rectangular Volume) ,和原生布尔物体共同作用,将透镜裁剪成特定的形状。

总结

本文展示的例子旨在阐明如何将纯序列模式文件转化为混合模式和非序列模式。转换一经完成,我们就能在非序列模式中设计机械支架、导入CAD零件(https://customers.zemax.com/os/resources/learn/knowledgebase/how-to-use-the-partlink-object)、进行照明仿真或者进行杂散光分析(https://customers.zemax.com/os/resources/learn/knowledgebase/how-to-perform-stray-light-analysis)。 第一个例子展示了如何手动调整序列模式文件,为将其转换为其它模式做好准备。以及如何从混合模式转换为纯非序列模式。我们还讨论了验证转换成功的几种方法,包括参考序列模式中的点列图分析、几何图像分析、惠更斯PSF分析等。还有为了观察非序列矩形探测器上的衍射结果,我们需要使用“PSF波数”参数。 随后的例子展示了如何使用名为“转换至NSC组”的自动转换工具。锁定设计工具能自动为转换做好准备,特定光线生成器工具能够创建一个参考光线,用于验证转换后的非序列模式系统的有效性。序列模式向非序列模式的转换会在转换后的系统中自动添加椭圆光源物体和矩形探测器物体,来模拟序列模式中不同位置的视场点和对应的点列图分析。 第三个例子展示了有限共轭会聚系统,自动转换工具还会插入DLL光源物体、幻灯片物体和颜色探测器。这些添加的物体可以用来模拟非序列系统的成像性能。 请注意,转换后的系统应仔细检查,以保证转换的有效性。转换工具能将大部分常见的表面正确转换,但仍有一些表面不支持。 具体信息请参阅用户手册中文件 (File)>转换文件 (Convert Group)> 转换至NSC组 (Convert to NSC Group) 部分。