凡亿教育-小文
凡事用心,一起进步
打开APP
公司名片
凡亿专栏 | ZEMAX软件技术应用教程:DDE与ZOS-API
ZEMAX软件技术应用教程:DDE与ZOS-API

本文将概述DDE扩展(DDE Extensions)与ZOS-API之间的区别,并提供顺利地从DDE扩展过渡到ZOS-API的帮助。

作者 Sandrine Auriol

简介

与ZOS-API一样,DDE扩展可以建立Windows程序与OpticStudio的通信链接,并可以使其他程序从OpticStudio中获取镜头数据。

DDE扩展和OpticStudio

DDE扩展可以通过在OpticStudio界面中点击:编程 (Programming>扩展程序列表 (Extension List) 打开:

DDE

DDE扩展已经被ZOS-API所取代。有关更多信息,请点击:编程 (Programming选项卡>关于扩展 (About Extensions) >简介 (Introduction (关于扩展) ,打开帮助文件查看。

DDE扩展和ZOS-API使用什么通信协议?

在使用DDE扩展时,应用程序和OpticStudio之间的通信是使用动态数据交换 (Dynamic Data ExchangeDDE) 完成的。DDE是Windows操作系统中定义的协议,用于在程序之间共享数据。微软已经通过更新的对象链接和嵌入( OLE )工具包取代了DDE协议,但是DDE仍然受到Office应用程序的支持。想要了解更多信息请查看链接: https://docs.microsoft.com/en-us/windows/desktop/dataxchg/about-dynamic-data-exchange

ZOS-API依赖于组件对象模型 ( Component Object Model, COM ) 接口。引用自: https://docs.microsoft.com/en-us/windows/desktop/com/component-object-model--com--portal: “COM是与平台无关的、分布式的、面向对象的系统,用于创建可以交互的二进制软件组件。COM是微软OLE(复合文档)和ActiveX(互联网驱动插件)技术的基础。”

ZOS-API根植于.NET库。根据用户对这两种语言的熟悉程度,可以选择使用COM或. NET语言进行API编程。https://docs.microsoft.com/en-us/windows/desktop/learnwin32/what-is-a-com-interface-

为什么用ZOS-API取代DDE  ?

DDE是一项早期应用的技术,微软不再推荐使用它。DDE很脆弱——任何单个应用程序都可能干扰到其他所有应用程序,甚至干扰微软自身的应用程序。除了关闭有问题的应用程序外,没有其他方法可以解决这个问题。此外,通过DDE很难进行复杂的通信,通常在使用时需要做大量的维护工作。

.NET是一种现代语言,使用.NET易于在应用程序之间传递任意数据,并且可用于面向对象的环境。这意味着可以将.NET存于类/属性/方法中,并且.NET以分层的方式管理API,而这两种方式在DDE中都很难或不可能实现。.NET使编程变得更简单、更高效,也使得通过ZOS-API使用所有OpticStudio功能成为可能。

过渡

从OpticStudio 15开始,DDE扩展就被弃用了。从该版本开始,没有再提供新的功能或问题修复。

强烈建议希望通过编写自己的应用程序来使用OpticStudio的用户使用ZOS-API,它是基于最新可用编程技术的更强大的工具。

为了帮助您完成从DDE到ZOS-API的转换,请参考文章:将DDE数据映射到ZOS-API方法。

常见问题解答如何使用ZOS-API中的“PushLens”?

DDE扩展中,“PushLens”将获取当前服务器内存中加载的镜头,并将其放在镜头数据编辑器( Lens Data Editor )中。

在ZOS-API可完成如下操作:

  • 交互扩展 ( Interactive Extension 模式下,镜头数据编辑器会自动更新。

  • 在已编译的ZOS-API扩展中作为可执行文件。

在系统发生更改时,用户可以选择自动更新OpticStudio用户界面,也可以选择禁止更改,任何时候都可以从扩展中修改这个设置。默认情况下,ZOS-API扩展在当前打开的镜头文件上执行,但是用户也可以选择在临时系统上工作,这不会影响主系统。

请参阅帮助文件中的“插件/扩展 ( Plug-In/Extension ”部分(通过点击:编程 ( Programming )选项卡>关于ZOS-API  (About the ZOS-API ) >插件/扩展 ( Plug-In/Extension 打开)。

如何在ZOS-API中使用“GetRefresh” ?

对于DDE扩展,“GetRefresh”使OpticStudio将所有镜头数据(波长、视场、编辑器等)复制到服务器的存储副本中。镜头随后更新,这意味着OpticStudio将重新计算所有光瞳位置、求解和折射率数据。

在ZOS- API中,通过访问类属性(例如:ILDERow类)和检索镜头数据来手动从ZOS到应用程序中检索镜头数据。

 

Ansys Zemax国内可靠代理商



  光研科技南京有限公司是国内可靠的光学软件和仪器光电供应商,提供企业定制化上门培训服务,承接各类光学设计项目,并有一系列自主编写出版的光学设计书籍。公司拥有一支高素质、高水平、实战经验丰富的管理,销售以及研发团队,从成立到现在已经为广大企业,研究所以及高校提供了很多优秀的产品和服务,是光电圈内值得信赖的企业。追光逐梦,研以致用!以用户的需求为起点,为客户提供有价值的光学产品和服务一直都是光研科技南京有限公司的宗旨。

 


  AnsysZemax光学软件咨询与订购联系方式

       联系人:南京光研   徐保平

  手机号:15051861513

  微信号:13627124798

 

       您也可以扫一扫下面的二维码直接咨询

 


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表凡亿课堂立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。
相关阅读
进入分区查看更多精彩内容>
精彩评论

暂无评论