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用于创建许多类型的用户定义实体:表面,对象,散射轮廓等。
02-23
元宵喜乐会乐研猜灯谜02-23 乐研
可逆加成-断裂链转移(RAFT)聚合反应的研究及应用进展02-23 乐研
开学活动之九龙闹春02-23 乐研
节能减排,从每一台仪器做起02-22 奥豪斯
【产品推荐】致癌物清单中的亚硝酸盐如何检测?02-22 食品安全的守护者
食品安全一周简讯02-22 食品安全的守护者
【2月26-27日 合肥】安徽省饲料与健康养殖行业协会换届大会02-22 食品安全的守护者
【2月29日 合肥】一起食安行合肥站研讨会02-22 食品安全的守护者
GB 5009.240伏马菌素新国标即将实施(含解决方案)02-22 食品安全的守护者
瑞士光源的DECTRIS PILATUS4 CdTe 1M探测器介绍02-22 北京优纳珂
直播预约 | 北京科技大学—刘金龙《拉曼光谱在碳材料中的应用》02-22 光电行业都会关注
实验 Tips丨液氮罐安全使用注意事项02-22 天美生化
【抽奖】阿拉丁灯照元宵,卡皮巴拉等你拿!02-22 aladdin
阿拉丁酸——化学世界的魔法师02-22 aladdin
【展会快讯】2024-Q1展会预览02-22 天美生化
【实验 Tips】液氮罐安全使用注意事项02-22 天美生化
天隆产品说|呼吸道病原知多少02-22
呼吸道感染反弹!流感样病例中80%以上为乙流02-22
小心“茶中毒”!曝光咖啡因含量测定全过程!02-22