1.3 Matlab与Zemax间通信的研究现状
二、 研究方案
前面说过,Zemax允许其他应用使用汇编语言来作为客户程序访问Zemax。事实上,Zemax是内置DDE服务器的,即,在打开Zemax软件时,也就打开了DDE服务器,只需客户程序发出通信请求即可实现通信。那么在这里,我们将Zemax作为服务程序, Matlab作为客户程序。
2.1 Zemax作为服务程序
在《Zemax Manual》的“Zemax Extensions”这一章节中介绍了Zemax允许与其他Windows应用程序建立通信的特性。也就是说,某应用程序可以使用Zemax来追踪通过透镜的光线,然后该程序会获得Zemax的数据进行进一步的分析和计算。有三种联系紧密的方法可以实现用来拓展Zemax的这一功能:
(1) 设计一独立的Windows程序来建立与Zemax的通信链接,从而取得Zemax可提供的关于透镜的信息;
(2) 一独立程序可以做对用户“隐藏”的分析,产生的数据信息将显示在Zemax的图表或文本对话窗中,这种程序称为Zemax的一个“扩展部分”。其功能与Zemax的“Extensions”菜单一样,并且,程序只有放在\Extend下才能为Zemax所用;
(3) 用独立程序计算Zemax可优化的数据,该模式下,这个程序称为“User Defined Operand”(用户自定义操作数)或UDO。与(2)类似,只有将该程序放在\UDO目录下,Zemax才能运行该程序。
在这一章中我们还可以看到Zemax支持的DDE下的许多功能,每一函数被称为一个“item”。这里需要注意两个函数:pushlens和GetRefresh.
GetRefresh:这个函数是拷贝Zemax的LDE(镜头数据编辑器)中的数据到服务器存储用的副本中。更新镜头数据,意着Zemax将重新计算光瞳位置、折射率等数据。如果透镜数据可以更新,那么Zemax会给出返回值0,否则,返回-1。
Pushlens:与上面的GetRefresh函数相反,是将上载到服务程序储存器的透镜送入LDE(镜头数据编辑器)。这一操作需要使用者运行Zemax程序获得程序的许可方能接受。在更新这个新放入的这个透镜文件后,如果得到一个不为0的返回值,则更新失败,如果得到-999,那么说明这个镜头不能放入到LDE中。
- 上一篇:Matlab转炉末段光谱与碳含量模型研究
- 下一篇:ARM嵌入式系统数据采集传输系统研究+源程序
-
-
-
-
-
-
-
上市公司股权结构对经营绩效的影响研究
g-C3N4光催化剂的制备和光催化性能研究
高警觉工作人群的元情绪...
巴金《激流三部曲》高觉新的悲剧命运
现代简约美式风格在室内家装中的运用
江苏省某高中学生体质现状的调查研究
NFC协议物理层的软件实现+文献综述
C++最短路径算法研究和程序设计
浅析中国古代宗法制度
中国传统元素在游戏角色...