Ansys Zemax光學(xué)設(shè)計軟件技術(shù)教程:如何編寫ZPL宏:計算環(huán)帶垂軸色差
瀏覽:2782 評論:1
本文介紹如何使用Zemax編程語言 (ZPL) 創(chuàng)建宏來計算和繪制用戶自定義的性能指標(biāo)。 在本示例中,系統(tǒng)的環(huán)帶垂軸色差 (Zonal Transverse Chromatic Aberration, ZTCA) 將被分析。在解釋了需要使用的基本算法之后,本文將描述如何將宏通用化以允許用戶進(jìn)行更加靈活的使用,包括用戶輸入和錯誤捕獲。作者 Alessandra Croce附件下載文章附件簡介假設(shè)我們要計算系統(tǒng)的環(huán)帶垂軸色差 (ZTCA)。ZTCA作為光瞳區(qū)域的函數(shù),定義為兩個波長在像平面上的光線高度差ZTCA = YF - YC基本算法如下:
初版宏的編寫對于此示例,我們將使用示例文件<Documents>\Zemax\Samples\Sequential\Objectives\ Doublet.zmx。將此文件加載到OpticStudio中,然后單擊“編程“ (Programming)...新建宏 ( New Macro)”: 輸入以下代碼,以根據(jù)之前描述的算法流程來計算環(huán)帶垂軸色差 (ZTCA) : 使用功能區(qū)上的第二個按鈕將宏另存至<Documents>\Zemax\Macros folder,命名為“ZTCA1.zpl“。 然后,從“編程 (The Programming tab) ”選項(xiàng)卡中,從“宏列表 (Macro List) ”下拉菜單中選擇已保存的宏,或者從“編輯/運(yùn)行 (Edit/Run) ”中選擇它,然后單擊“運(yùn)行 (Run) ”。 運(yùn)行宏時,將出現(xiàn)一個新的文本窗口,其中包含宏的輸出。在本示例中,輸出結(jié)果為環(huán)帶垂軸色差ZTCA,作為光瞳區(qū)域的函數(shù): 請注意,此宏文件需要基于許多假設(shè),確保宏能夠正常運(yùn)行:
運(yùn)行宏時,“ ZPL宏輸入 (ZPL Macro Input) ”窗口將出現(xiàn): IF 語句通過函數(shù) INTE() 測試numsteps是否為正整數(shù),該函數(shù)將會對數(shù)值進(jìn)行四舍五入。GOTO 命令OpticStudio使用指定的LABEL命令將程序跳至某一行(向前或向后)。在這種情況下,我們使其跳到程序的結(jié)尾: 盡管 END 在使用子例程時才被嚴(yán)格要求,但是使用它來指示宏的執(zhí)行在何處終止是一個良好的編程習(xí)慣。適應(yīng)不同的波長接下來,我們可以要求宏確定臨界波長(最小和最大),并將其用于光線追跡中。如果文件中僅定義了一個波長,我們也可以要求宏返回錯誤消息: 現(xiàn)在,用于光線追跡的波長是minwav和maxwav,因此在 FOR 循環(huán)中,將行:RAYTRACE 0, 0, 0, py, 1RAYTRACE 0, 0, 0, py, 3用以下兩行替換:RAYTRACE 0, 0, 0, py, minwavRAYTRACE 0, 0, 0, py, maxwav錯誤檢查最后,我們可以使用 RAYE() 檢查光線追跡期間的錯誤。 因此,代碼變?yōu)椋?img src="https://support.zemax.com/hc/article_attachments/1500007668961/KA-01953_11_ZTCA2error.png" alt='Ansys Zemax光學(xué)設(shè)計軟件技術(shù)教程:如何編寫ZPL宏:計算環(huán)帶垂軸色差的圖11' referrerpolicy='origin-when-cross-origin' />將宏另存為ZTCA2.ZPL并測試代碼正確性,確保您測試了每種錯誤情況:
繪制數(shù)據(jù)除了輸出數(shù)據(jù)外,我們還可以使用 PLOT 或 PLOT2D 關(guān)鍵字來繪制數(shù)據(jù)。 PLOT 支持一個自變量和一個因變量,而 PLOT2D 支持兩個自變量和一個因變量。這兩個關(guān)鍵字都允許用戶充分控制繪圖格式,例如:
![]() 光研科技南京有限公司是國內(nèi)可靠的Ansys Zemax光學(xué)設(shè)計軟件代理商!公司已經(jīng)為廣大企業(yè),研究所以及高校提供了很多優(yōu)秀的相關(guān)產(chǎn)品和服務(wù),在行業(yè)內(nèi)建立了值得信任的口碑。 ![]() |
技術(shù)鄰APP
工程師必備
工程師必備
- 項(xiàng)目客服
- 培訓(xùn)客服
- 平臺客服
TOP
1


輸入以下代碼,以根據(jù)之前描述的算法流程來計算環(huán)帶垂軸色差 (ZTCA) :
使用功能區(qū)上的第二個按鈕將宏另存至<Documents>\Zemax\Macros folder,命名為“ZTCA1.zpl“。
然后,從“編程 (The Programming tab) ”選項(xiàng)卡中,從“宏列表 (Macro List) ”下拉菜單中選擇已保存的宏,或者從“編輯/運(yùn)行 (Edit/Run) ”中選擇它,然后單擊“運(yùn)行 (Run) ”。
運(yùn)行宏時,將出現(xiàn)一個新的文本窗口,其中包含宏的輸出。在本示例中,輸出結(jié)果為環(huán)帶垂軸色差ZTCA,作為光瞳區(qū)域的函數(shù):
請注意,此宏文件需要基于許多假設(shè),確保宏能夠正常運(yùn)行:
運(yùn)行宏時,“ ZPL宏輸入 (ZPL Macro Input) ”窗口將出現(xiàn):
IF 語句通過函數(shù) INTE() 測試numsteps是否為正整數(shù),該函數(shù)將會對數(shù)值進(jìn)行四舍五入。GOTO 命令OpticStudio使用指定的LABEL命令將程序跳至某一行(向前或向后)。在這種情況下,我們使其跳到程序的結(jié)尾:
盡管 END 在使用子例程時才被嚴(yán)格要求,但是使用它來指示宏的執(zhí)行在何處終止是一個良好的編程習(xí)慣。
現(xiàn)在,用于光線追跡的波長是minwav和maxwav,因此在 FOR 循環(huán)中,將行:RAYTRACE 0, 0, 0, py, 1RAYTRACE 0, 0, 0, py, 3用以下兩行替換:RAYTRACE 0, 0, 0, py, minwavRAYTRACE 0, 0, 0, py, maxwav





















