技术贴|ZOS-API,ZPL和DLL之间的区别

2020-08-04 11:55:05, Optime 光谱时代(北京)科技有限公司



在OpticStudio中,“编程”选项卡使用户可以访问OpticStudio的编程功能,例如Zemax编程语言(ZPL),应用程序编程接口(ZOS-API)和动态链接库(DLL)。


每种编程方法都有其独特的特色。本文介绍了这三种编程功能的特征和差异。



1

ZOS-API和ZPL

之间的区别


ZOS-API和ZPL在许多方面有所不同,包括它们的语法,应用程序和运行时环境。以下各节将概述这两种编程方法,并详细描述这些差异。


2

什么是ZOS-API?



ZOS-API是为OpticStudio开发的应用程序编程接口,可用于连接和自定义应用程序。


尽管ZOS-API依赖于COM接口,但它植根于.NET库,因此可以使用任何可以访问API库的编程语言(例如C ++,C#,Python,MATLAB)来完成API的编程。


ZOS-API允许应用程序与打开的OpticStudio实例直接通信或将OpticStudio作为后台进程运行。


3

什么是ZPL?


Zemax编程语言(ZPL)是一种宏语言,允许用户直接在OpticStudio中编写自己的程序。


ZPL可以:

A.自动执行重复的键盘和鼠标操作

B.根据OpticStudio数据执行计算

C.以特定格式导出数据

D.生成数据的图形和文本列表



差异性:

ZOS-API和ZPL之间有一些基本区别。




界面:

ZPL宏是一个文本文件。可以在OpticStudio内的ZPL编辑器中创建和编辑它。ZPL宏不需要任何编程经验。


它们易于学习,并提供了执行一系列命令的强大工具。以下屏幕快照显示了ZPL编辑器中的ZPL宏。



ZOS-API应用程序是以可以访问API库的编程语言编写的。


ZOS-API积极支持四种编程语言:MATLAB,Python,C ++和C#。


以下屏幕截图显示了连接到ZOS-API的Matlab代码。





代码执行:


ZPL宏在OpticStudio图形用户界面(GUI)中运行。


要执行或编辑ZPL宏,请单击“ 编程... ZPL宏...编辑/运行”。





对于ZOS-API应用程序,执行取决于所使用的模式:


独立应用程序是一个外部可执行文件(.exe),它将启动OpticStudio的新实例作为后台进程。


在这种模式下,OpticStudio作为服务运行,没有用户界面。必须注意确保未达到OpticStudio实例的最大数量。


用户扩展或用户分析是从OpticStudio GUI中启动的,其行为分别类似于内置工具或分析功能。


可通过编程... ZOS-API.NET应用程序组...用户分析/扩展来访问它们。


交互式扩展是从“编程... ZOS-API.NET应用程序组...交互式扩展”启动的。它将外部ZOS-API应用程序连接到OpticStudio的现有实例。




句法:


ZPL是一种解释的“宏”或“脚本”语言,类似于具有光线跟踪功能的BASIC编程语言。


所有ZOS-API程序和扩展都使用外部编程语言(如C#,C ++,MATLAB或Python)编写。



资料存取与处理:


ZPL宏由存储在文本文件中的一系列命令组成。这些命令可以是变量(数字或字符串)的分配,使用关键字的调用函数或注释。


在ZPL中,所有数据访问和处理均基于定义的命令。在解释ZPL时,运行复杂的计算时,它可能比完全编译的代码要慢。

 

在ZOS-API中,数据访问和数据处理更加灵活和强大。


ZOS-API可以利用其他高级编程语言(例如MATLAB)的数值分析和矩阵计算功能。


互通性: 

无法通过ZOS-API调用ZPL,反之亦然。


比较表:


4

ZOS-API和DLL

之间的区别



什么是DLL?


动态链接库(DLL)是共享库。它是Windows程序,但不能像EXE程序一样直接运行。相反,它是由另一个程序OpticStudio调用的。


根据需要调用DLL,并在完成后将其关闭。由于仅在需要时才使用DLL,因此使DLL在内存方面效率更高。在OpticStudio中,指定并限制了发送到DLL的数据。


DLL的类型不同,例如用户定义的表面,用户定义的散布轮廓等。对于每种类型的DLL,可以在示例DLL的源代码中的{Zemax} / DLL下找到数据结构。



差异性


ZOS-API和DLL之间最一般的区别是客户端-服务器角色是相反的。


ZOS-API脚本是一个客户端,该客户端调用OpticStudio作为服务器来执行任务。ZOS-API脚本可以访问OpticStudio界面。


ZOS-API脚本可以访问和运行OpticStudio功能的几乎所有方面。API脚本还包含其他功能,例如批处理射线跟踪。

DLL充当服务器。


OpticStudio客户端从DLL发送和请求特定数据,然后将其返回给OpticStudio。OpticStudio负责数据交换。它限制了DLL的操作范围。




ZOS-API,ZPL宏和DLL都提供了与OpticStudio通信和/或自定义OpticStudio的强大方法。


ZPL不需要任何编程经验,并且可以自动化软件中的任务。ZOS-API可以与可以访问API库的任何编程语言一起使用。


它提供对几乎所有OpticStudio功能的访问,并可以利用其它高级编程语言的数值分析和矩阵计算功能。


DLL用于创建许多类型的用户定义实体:表面,对象,散射轮廓等。



  • 客服电话: 400-6699-117 转 1000
  • 京ICP备07018254号
  • 电信与信息服务业务经营许可证:京ICP证110310号
  • 京公网安备1101085018
  • 客服电话: 400-6699-117 转 1000
  • 京ICP备07018254号
  • 电信与信息服务业务经营许可证:京ICP证110310号
  • 京公网安备1101085018

Copyright ©2007-2024 ANTPEDIA, All Rights Reserved