在zemax高版本中提供了一个应用程序编程接口(ZOS-API),可以使用最新的软件技术连接和定制应用程序。虽然ZOS-API依赖于COM接口,但它基于于.NET库,因此可以使用C++(COM)或C#(.NET)、甚至是matlab和python,使用API进行编程。
在上述的几种语言中,又提供了四种模式:
1 独立模式:应用程序将启动OpticStudio的全新实例(其他模式取决于是否存在已打开的现有实例)。因此,在以这种模式启动应用程序之前,必须确保已经打开了1个或更少的OpticStudio实例(以保持在OpticStudio的许可限制范围内)。在这种模式下,OpticStudio实际上是作为一个服务器,没有用户界面。(不能打开两个文件,否侧超出上限报错)
2 用户扩展模式:允许构建类似于在DDE协议下编写的扩展的应用程序,用于进程间通信(有关更多详细信息,请参阅“关于扩展”一节)。提供了一个切换,用于确定在该模式下运行时,用户界面是否与程序中所做的更改保持最新。
3 用户操作数模式:链接到Merit函数编辑器中用户定义的操作数,该操作数使用UDOC操作数添加到编辑器中。该模式将不允许改变当前镜头系统或用户界面(即,在该模式中,只允许改变系统的副本)。在此模式下,无法访问文件中打开的分析列表,因为如果需要,始终可以运行分析的新实例。
4 用户分析模式:链接到单个分析窗口。此模式与用户操作数模式几乎相同,只是用于填充自定义分析的数据。数据使用OpticStudio中为大多数分析提供的现代图形显示。
这些模式通常可分为2类:1)完全控制(独立和用户扩展模式),其中用户通常对镜头设计和用户界面具有完全控制;2)有限访问(用户操作数和用户分析模式),在其中用户被锁定为使用现有镜头文件的副本。
对各种通信模式进行分类的另一种方法是基于应用程序连接到OpticStudio的方法。您的应用程序是独立的,将启动自己的OpticStudio副本(独立模式),或者OpticStudio已经在运行,并将调用您的应用软件(所有其他模式,我们称之为“固有”模式)。
请注意,当使用固有模式构建的应用程序编译为可执行(.exe)文件时,就像使用独立模式构建的程序一样,为了让OpticStudio使用固有模式应用程序,需要将.exe文件复制(或构建)到OpticStudio安装中的特定文件夹中。给定的文件夹名称将特定于您的个人安装;我们将把它称为{program}文件夹。文件必须包含在如下文件夹:
在用户扩展模式下构建的应用程序需要放在{program}\ZOS-API\Extensions文件夹中
以用户操作数模式构建的应用程序需要放在{program}\ZOS-API\Operands文件夹中
在用户分析模式下构建的应用程序需要放在{program}\ZOS-API\User Analysis文件夹中
一旦应用程序在4种可用模式中的1种模式下初始化了与OpticStudio的通信,就可以加载文件,更改系统设置,并可以从任何数量的分析中获得数据(详细信息如下)。注意,可以在4种可用通信模式中的任何一种模式下加载多个系统设计(即ZMX文件)。