ZEMAX | 使用ZOS-API交互擴(kuò)展連接Python與OpticStudio


本文演示了如何使用Python通過交互擴(kuò)展(Interactive Extension)連接到ZOS-API。一旦連接到OpticStudio,交互擴(kuò)展就可以執(zhí)行自定義擴(kuò)展能夠執(zhí)行的任何任務(wù),并且OpticStudio界面將交互式地顯示該任務(wù)的結(jié)果。

作者 Sandrine Auriol

附件下載

(聯(lián)系工作人員領(lǐng)取文章附件)

簡介

交互擴(kuò)展模式幾乎與自定義擴(kuò)展(User Extension)相同,除了交互擴(kuò)展不必是獨立的可執(zhí)行文件。交互擴(kuò)展可以從腳本環(huán)境(如:Matlab或Python)進(jìn)行連接,在這些腳本環(huán)境中沒有可使OpticStudio啟動的已編譯可執(zhí)行文件。

交互擴(kuò)展從外部腳本環(huán)境交互地控制OpticStudio界面。本文將解釋如何將OpticStudio與交互擴(kuò)展連接起來。

創(chuàng)建交互擴(kuò)展腳本

要創(chuàng)建連接到交互擴(kuò)展的編程模板,請單擊:編程(Programming) > Python >交互擴(kuò)展(Interactive Extension)

ZEMAX | 使用ZOS-API交互擴(kuò)展連接Python與OpticStudio的圖1

將該腳本放置在ZOS-API項目文件夾:..\Documents\Zemax\ZOS-API Projects\PythonZOSConnection 中。

如果創(chuàng)建了多個交互擴(kuò)展,那么文件名將按順序編號。

軟件將在文件所在位置打開文件選項(File Explorer)

ZEMAX | 使用ZOS-API交互擴(kuò)展連接Python與OpticStudio的圖2

連接到交互擴(kuò)展

要啟動交互擴(kuò)展,請單擊“編程(Programming) >交互擴(kuò)展(Interactive Extension)”。

ZEMAX | 使用ZOS-API交互擴(kuò)展連接Python與OpticStudio的圖3

將打開對話框窗口,OpticStudio將等待外部應(yīng)用程序(在本例中是Python)連接。

ZEMAX | 使用ZOS-API交互擴(kuò)展連接Python與OpticStudio的圖4

對話框顯示OpticStudio運(yùn)行實例的實例ID,Python在運(yùn)行多個實例時可以連接到OpticStudio的特定實例。

下一步取決于所使用的集成開發(fā)環(huán)境(Integrated Development Environment ,IDE)。

IDLE(Python自帶的原生IDE)

  • 右鍵單擊腳本文件

  • 選擇“集成開發(fā)環(huán)境編輯器中編輯 ( Edit in the IDLE )”、“使用集成開發(fā)環(huán)境編輯器編輯 ( Edit with IDLE )”Python版本

ZEMAX | 使用ZOS-API交互擴(kuò)展連接Python與OpticStudio的圖5

  • 運(yùn)行代碼

ZEMAX | 使用ZOS-API交互擴(kuò)展連接Python與OpticStudio的圖6

  • 互擴(kuò)展的狀態(tài)顯示擴(kuò)展已連接。

ZEMAX | 使用ZOS-API交互擴(kuò)展連接Python與OpticStudio的圖7

  • 現(xiàn)在可以在 Python 命令窗口中執(zhí)行單個命令。
    例如,可以加載示例文件:

ZEMAX | 使用ZOS-API交互擴(kuò)展連接Python與OpticStudio的圖8

  • OpticStudio 打開的實例將顯示加載的文件,Python命令窗口將在文件成功加載時返回布爾值“True”。

ZEMAX | 使用ZOS-API交互擴(kuò)展連接Python與OpticStudio的圖9

ZEMAX | 使用ZOS-API交互擴(kuò)展連接Python與OpticStudio的圖10

  • 一旦執(zhí)行命令,shell中顯示 “>>>” 意味著它已經(jīng)為處理新的命令做好了準(zhǔn)備。

PyCharm IDE:

  • 在 PyCharm 中打開PythonZOSConnectionX.py的代碼。

  • 點擊右鍵選擇“在控制臺運(yùn)行文件(Run File in Console)”:

ZEMAX | 使用ZOS-API交互擴(kuò)展連接Python與OpticStudio的圖11

  • 控制臺窗口將指示連接的狀態(tài),然后在控制臺中執(zhí)行各個命令。

ZEMAX | 使用ZOS-API交互擴(kuò)展連接Python與OpticStudio的圖12

右側(cè)窗格顯示項目可用的變量。

這意味著在使用交互擴(kuò)展時存在“語法提示 ( Intellisense )”。

ZEMAX | 使用ZOS-API交互擴(kuò)展連接Python與OpticStudio的圖13

Python也可以執(zhí)行代碼塊。例如,打開附件,附件中的腳本摘錄自示例文件:" \Zemax\ZOS-API Sample Code\Python\PythonStandalone_01_new_file_and_quickfocus.py "。連接到ZOS-API的代碼行已被刪除。

選擇腳本。點擊右鍵并選擇“控制臺執(zhí)行代碼(Execute Selection in Console)”。

ZEMAX | 使用ZOS-API交互擴(kuò)展連接Python與OpticStudio的圖14

OpticStudio 顯示新創(chuàng)建的文件。

ZEMAX | 使用ZOS-API交互擴(kuò)展連接Python與OpticStudio的圖15

控制臺顯示新的變量:

ZEMAX | 使用ZOS-API交互擴(kuò)展連接Python與OpticStudio的圖16

終止連接

可以通過單擊“交互擴(kuò)展”對話框中的“終止(Terminate)”來終止連接。

ZEMAX | 使用ZOS-API交互擴(kuò)展連接Python與OpticStudio的圖17

或者在Python命令窗口中運(yùn)行CloseApplication方法。

ZEMAX | 使用ZOS-API交互擴(kuò)展連接Python與OpticStudio的圖18


ZEMAX | 使用ZOS-API交互擴(kuò)展連接Python與OpticStudio的圖19

ZEMAX | 使用ZOS-API交互擴(kuò)展連接Python與OpticStudio的圖20

點擊圖片查看培訓(xùn)詳情


相關(guān)閱讀 - 編程

ZEMAX | 在MATLAB中使用ZOS-API的技巧

ZEMAX | 了解 ZOS-API 的主要接口——MATLAB

ZEMAX | 使用 ZPL 宏進(jìn)行優(yōu)化:ZPLM 操作數(shù)

ZEMAX | 如何編寫 ZPL 宏:計算環(huán)帶垂軸色差

ZEMAX | ZOS-API、ZPL 和 DLL 之間的區(qū)別

ZEMAX  | 如何使用 ZOS-API 創(chuàng)建飛行時間自定義分析

ZEMAX | 如何使用 ZPL 創(chuàng)建用戶自定義求解



歡迎掃碼添加宇熠工作人員微信,

進(jìn)入 zemax 微信交流群。

一起來學(xué)習(xí)光學(xué)設(shè)計吧!

ZEMAX | 使用ZOS-API交互擴(kuò)展連接Python與OpticStudio的圖21

掃碼邀您入群


如果您對產(chǎn)品感興趣,或需要技術(shù)支持,歡迎致電垂詢!

電話:027-87878386

郵箱:market@ueotek.com

關(guān)注武漢宇熠視頻號 查看更多精彩視頻 


ZEMAX | 使用ZOS-API交互擴(kuò)展連接Python與OpticStudio的圖22
ZEMAX | 使用ZOS-API交互擴(kuò)展連接Python與OpticStudio的圖23

武漢宇熠科技是 ZEMAX 中國區(qū)官方指定代理商,提供 ZEMAX 光學(xué)設(shè)計軟件的培訓(xùn)、銷售、技術(shù)支持、二次開發(fā)、解決方案及 ZEMAX 軟件相關(guān)全方位定制服務(wù)。有關(guān) ZEMAX ,您可以點擊文末“閱讀原文”了解更多信息,或致電垂詢武漢宇熠工作人員:

銷售熱線:027-87878386

咨詢郵箱:sales@ueotek.com

ZEMAX | 使用ZOS-API交互擴(kuò)展連接Python與OpticStudio的圖24
ZEMAX | 使用ZOS-API交互擴(kuò)展連接Python與OpticStudio的圖25


ZEMAX | 使用ZOS-API交互擴(kuò)展連接Python與OpticStudio的圖26

ZEMAX | 使用ZOS-API交互擴(kuò)展連接Python與OpticStudio的圖27


??點擊閱讀原文咨詢產(chǎn)品或技術(shù)支持。

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

TOP