ZEMAX軟件技術(shù)應(yīng)用教程:DDE與ZOS-API

本文將概述DDE擴展(DDE Extensions)與ZOS-API之間的區(qū)別,并提供順利地從DDE擴展過渡到ZOS-API的幫助。

作者 Sandrine Auriol

簡介

與ZOS-API一樣,DDE擴展可以建立Windows程序與OpticStudio的通信鏈接,并可以使其他程序從OpticStudio中獲取鏡頭數(shù)據(jù)。

ZEMAX軟件技術(shù)應(yīng)用教程:DDE與ZOS-API的圖1DDE擴展和OpticStudio

DDE擴展可以通過在OpticStudio界面中點擊:編程 (Programming) >擴展程序列表 (Extension List) 打開:

ZEMAX軟件技術(shù)應(yīng)用教程:DDE與ZOS-API的圖2

DDE擴展已經(jīng)被ZOS-API所取代。有關(guān)更多信息,請點擊:編程 (Programming) 選項卡>關(guān)于擴展 (About Extensions) >簡介 (Introduction ) (關(guān)于擴展) ,打開幫助文件查看。

ZEMAX軟件技術(shù)應(yīng)用教程:DDE與ZOS-API的圖3DDE擴展和ZOS-API使用什么通信協(xié)議?

在使用DDE擴展時,應(yīng)用程序和OpticStudio之間的通信是使用動態(tài)數(shù)據(jù)交換 (Dynamic Data Exchange,DDE) 完成的。DDE是Windows操作系統(tǒng)中定義的協(xié)議,用于在程序之間共享數(shù)據(jù)。微軟已經(jīng)通過更新的對象鏈接和嵌入( OLE )工具包取代了DDE協(xié)議,但是DDE仍然受到Office應(yīng)用程序的支持。想要了解更多信息請查看鏈接: 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是與平臺無關(guān)的、分布式的、面向?qū)ο蟮南到y(tǒng),用于創(chuàng)建可以交互的二進制軟件組件。COM是微軟OLE(復(fù)合文檔)和ActiveX(互聯(lián)網(wǎng)驅(qū)動插件)技術(shù)的基礎(chǔ)。”

ZOS-API根植于.NET庫。根據(jù)用戶對這兩種語言的熟悉程度,可以選擇使用COM或. NET語言進行API編程。https://docs.microsoft.com/en-us/windows/desktop/learnwin32/what-is-a-com-interface-

ZEMAX軟件技術(shù)應(yīng)用教程:DDE與ZOS-API的圖4為什么用ZOS-API取代DDE  ?

DDE是一項早期應(yīng)用的技術(shù),微軟不再推薦使用它。DDE很脆弱——任何單個應(yīng)用程序都可能干擾到其他所有應(yīng)用程序,甚至干擾微軟自身的應(yīng)用程序。除了關(guān)閉有問題的應(yīng)用程序外,沒有其他方法可以解決這個問題。此外,通過DDE很難進行復(fù)雜的通信,通常在使用時需要做大量的維護工作。

.NET是一種現(xiàn)代語言,使用.NET易于在應(yīng)用程序之間傳遞任意數(shù)據(jù),并且可用于面向?qū)ο蟮沫h(huán)境。這意味著可以將.NET存于類/屬性/方法中,并且.NET以分層的方式管理API,而這兩種方式在DDE中都很難或不可能實現(xiàn)。.NET使編程變得更簡單、更高效,也使得通過ZOS-API使用所有OpticStudio功能成為可能。

ZEMAX軟件技術(shù)應(yīng)用教程:DDE與ZOS-API的圖5過渡

從OpticStudio 15開始,DDE擴展就被棄用了。從該版本開始,沒有再提供新的功能或問題修復(fù)。

強烈建議希望通過編寫自己的應(yīng)用程序來使用OpticStudio的用戶使用ZOS-API,它是基于最新可用編程技術(shù)的更強大的工具。

為了幫助您完成從DDE到ZOS-API的轉(zhuǎn)換,請參考文章:將DDE數(shù)據(jù)映射到ZOS-API方法。

ZEMAX軟件技術(shù)應(yīng)用教程:DDE與ZOS-API的圖6常見問題解答

如何使用ZOS-API中的“PushLens”?

DDE擴展中,“PushLens”將獲取當前服務(wù)器內(nèi)存中加載的鏡頭,并將其放在鏡頭數(shù)據(jù)編輯器( Lens Data Editor )中。

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

  • 交互擴展 ( Interactive Extension ) 模式下,鏡頭數(shù)據(jù)編輯器會自動更新。

  • 在已編譯的ZOS-API擴展中作為可執(zhí)行文件。

在系統(tǒng)發(fā)生更改時,用戶可以選擇自動更新OpticStudio用戶界面,也可以選擇禁止更改,任何時候都可以從擴展中修改這個設(shè)置。默認情況下,ZOS-API擴展在當前打開的鏡頭文件上執(zhí)行,但是用戶也可以選擇在臨時系統(tǒng)上工作,這不會影響主系統(tǒng)。

請參閱幫助文件中的“插件/擴展 ( Plug-In/Extension ) ”部分(通過點擊:編程 ( Programming )選項卡>關(guān)于ZOS-API  (About the ZOS-API ) >插件/擴展 ( Plug-In/Extension ) 打開)。

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

對于DDE擴展,“GetRefresh”使OpticStudio將所有鏡頭數(shù)據(jù)(波長、視場、編輯器等)復(fù)制到服務(wù)器的存儲副本中。鏡頭隨后更新,這意味著OpticStudio將重新計算所有光瞳位置、求解和折射率數(shù)據(jù)。

在ZOS- API中,通過訪問類屬性(例如:ILDERow類)和檢索鏡頭數(shù)據(jù)來手動從ZOS到應(yīng)用程序中檢索鏡頭數(shù)據(jù)。

 

Ansys Zemax國內(nèi)可靠代理商



  光研科技南京有限公司是國內(nèi)可靠的光學軟件和儀器光電供應(yīng)商,提供企業(yè)定制化上門培訓服務(wù),承接各類光學設(shè)計項目,并有一系列自主編寫出版的光學設(shè)計書籍。公司擁有一支高素質(zhì)、高水平、實戰(zhàn)經(jīng)驗豐富的管理,銷售以及研發(fā)團隊,從成立到現(xiàn)在已經(jīng)為廣大企業(yè),研究所以及高校提供了很多優(yōu)秀的產(chǎn)品和服務(wù),是光電圈內(nèi)值得信賴的企業(yè)。追光逐夢,研以致用!以用戶的需求為起點,為客戶提供有價值的光學產(chǎn)品和服務(wù)一直都是光研科技南京有限公司的宗旨。

 


  AnsysZemax光學軟件咨詢與訂購聯(lián)系方式

       聯(lián)系人:南京光研   徐保平

  手機號:15051861513

  微信號:13627124798

 

       您也可以掃一掃下面的二維碼直接咨詢

 

ZEMAX軟件技術(shù)應(yīng)用教程:DDE與ZOS-API的圖7

登錄后免費查看全文
立即登錄
App下載
技術(shù)鄰APP
工程師必備
  • 項目客服
  • 培訓客服
  • 平臺客服

TOP