
發布
注冊
/
登錄矢高分析的案例
Ansys Zemax | NSC 非序列矢高圖用戶分析
本文介紹如何使用 NSC 矢高圖用戶分析功能在非序列模式下測量和顯示對象的矢高。了解此功能的基礎知識,包括如何設置復雜 CAD 零件的文件以獲取特定面的矢高值。(聯系我們獲取文章附件)
介紹
OptocStudio 的序列模式具有表面矢高分析功能,該功能將表面從局部頂點的矢高或 z 位置變化顯示為表面上 x 和 y 位置的函數。非序列模式沒有提供相同功能的內置分析,但該軟件確實具有強大的應用程序編程接口(API),允許用戶編寫自己的自定義分析功能。本文將展示如何使用 API 構建的用戶分析來計算非序列對象的表面矢高。它還將討論用于創建自定義用戶分析的內部計算和一些技術。
NSC 矢高計算
NSC 矢高用戶分析執行幾個步驟來計算非序列模式下給定對象面的矢高值:
· 在內存中創建系統的臨時副本
· 除選定對象外的所有對象都設置為忽略
· 所選對象的材質被移除,以可能考慮對象的背面
· 系統中放置單個源光線
· · 默認情況下,源光線放置在 (0, 0, -50) 的 XYZ 處,指向 (0, 0, 1) 的 LMN,但這些值可以高級設置(屏幕右下角)中更改
· · 然后將矩形數組應用于對應于采樣和寬度的源
· 執行光線追跡并保存 ZRD 文件
· X_HITFACE 濾鏡字符串應用于光線追跡,以僅獲取所需面的 Z 值
· Z 中的偏移量應用于 ZRD 文件,以嘗試將頂點處的矢高歸零
· · 自動計算標準鏡頭、雙標志性澤尼克表面、偶數非球面透鏡、奇數非球面透鏡和環形透鏡的 Z 偏移
· · 可以手動更改 Z 偏移以考慮任何其他類型的曲面
計算結果是一維(線)/二維(假彩色)圖或文本輸出,可以在“設置”窗口中選擇。
展開 Ansys Zemax | 表面不規則度的公差分析
同時,公差分析過程中,OpticStudio會忽略Zernike多項式的第一項,因此Min#的最小值為2。
本例中我們先將MAX# 和MIN#設置為2和9。
打開Tolerance > Tolerancing,按如下步驟進行公差分析:
點擊OK進行公差分析,公差分析報告如下圖所示:
表面不規則度分析
打開保存的蒙特卡洛分析文件(本例中我們只保存了一個計算結果,當然我們也可保存所有計算結果)。注意觀察此時表面2的面型已經變為Zernike Standard Sag surface。
打開表面矢高分析圖并選擇表面2:Analysis > Surface > Sag
如果我們將MAX#設置為27,重新進行公差分析。再次打開表面矢高分析圖,可以看到相似的結果,但是產生了更多的“凹凸”。
Zernike多項式次數可以控制表面波峰和波谷(凹凸)的頻率。
這是很重要的一點:當我們把表面平滑度從 λ/5 減小到 λ/10 、λ/20、 λ/50時,RMS表面偏差減小了,但是表面“凹凸”頻率增大了。也就是說當表面平滑度為λ/5,其表面不規則度的空間頻率小,當表面平滑度為λ/50時,其表面不規則度的空間頻率大。
表面的光學性能不僅僅取決于RMS幅值還取決于表面不規則度的空間頻率。我們可以舉例說明這一點,我們可以舉一個簡單的例子。
系統中表面2在Y方向上有一個周期性的結構。在保持振幅不變的情況下,當周期結構的頻率增加時,從3D Layout圖中就可以看到兩者的差異。
當然,OpticStudio 中也可以使用公差操作數TEXI指定PTV(Peak to Valley)公差,兩種使用方法類似,但目前我們推薦使用TEZI指定RMS公差分析表面不規則度。
展開 Ansys Zemax | 表面不規則度的公差分析
打開公差數據編輯器( Tolerance Data Editor ),按照下圖數據設置公差:
Surf : 進行不規則度分析的表面編號;
MAX# / MIN# :Zernike多項式最高階/最低階次數。
一般情況下,如果MAX#數值較小,那么表面不規則度的頻率就會降低,表面凹凸就不明顯,反之,如果MAX#數值較大,那么表面不規則度的頻率就會升高,表面凹凸劇烈(下面我們會詳細討論)。
MAX#數值的選擇需要根據實際生產的零件而定,使其能夠與實際生產過程匹配。同時,公差分析過程中,OpticStudio會忽略Zernike多項式的第一項,因此Min#的最小值為2。
本例中我們先將MAX# 和MIN#設置為2和9。
打開Tolerance > Tolerancing,按如下步驟進行公差分析:
點擊OK進行公差分析,公差分析報告如下圖所示:
表面不規則度分析
打開保存的蒙特卡洛分析文件(本例中我們只保存了一個計算結果,當然我們也可保存所有計算結果)。注意觀察此時表面2的面型已經變為Zernike Standard Sag surface。
打開表面矢高分析圖并選擇表面2:Analysis > Surface > Sag
如果我們將MAX#設置為27,重新進行公差分析。再次打開表面矢高分析圖,可以看到相似的結果,但是產生了更多的“凹凸”。
展開 Ansys Zemax | 設計抬頭顯示器時要使用哪些工具 – 第一部分
一種解決方法是測量CAD零件的矢高,然后使用序列網格矢高表面對其進行建模。通過這種方式,系統保持在純序列模式,OpticStudio可以將網格矢高表面轉換為非球面類型表面??稍?Optimize…Convert Asphere Type 下找到對應轉換工具。
將風擋玻璃轉換為網格矢高表面:
非序列模式下的矢高分析是ZOS-API的擴展,用于測量CAD零件的矢高。
該分析使用探測光源光線并記錄該探測光線擊中NSC物體的位置。文件“HUD_windshield_sag.zar”可以在文章頂部下載。它包含風擋玻璃CAD零件和資源。
風擋玻璃的X和Y尺寸需要在NSC矢高圖中進行設置??梢越剖褂孟鄼C視圖結合活動光標位置讀取需要設置的X-Y:
可以為NSC矢高工具輸入以下設置:
在設置中,您可以:
?取消勾選“移除XY傾斜”。NSC矢高不會將NSC物體的傾斜設置為0。
?勾選“保留保存的文件”,將.zmx和.zrd文件保存到當前文件夾。
NSC矢高圖以偽彩色顯示。如果在“設置”下,“顯示”選項設置為“文本”,則它也可以顯示為文本列表。然后可以保存此文本輸出并將其轉換為正確的數據格式.DAT,該數據可以用于網格矢高表面。為了簡單起見,本示例中風擋玻璃采用擴展多項式曲面進行建模。
定位所有元件
這是一個表示所有元件位置的示意圖:
可以利用以下實用工具將表面進行放置:
?坐標間斷-返回:坐標間斷面可以通過坐標返回來定義表面傾斜和偏心情況,可以在以下位置找到:Surface Properties…Tilt/Decenter。
展開 
設計抬頭顯示器時要使用哪些 OpticStudio 工具 – 第一部分
一種解決方法是測量CAD零件的矢高,然后使用序列網格矢高表面對其進行建模。通過這種方式,系統保持在純序列模式,OpticStudio可以將網格矢高表面轉換為非球面類型表面??稍?Optimize...Convert Asphere Type 下找到對應轉換工具。
將風擋玻璃轉換為網格矢高表面:
非序列模式下的矢高分析是ZOS-API的擴展,用于測量CAD零件的矢高。有關詳細信息,請參閱題為 "NSC矢高圖用戶自定義分析"。(https://support.zemax.com/hc/zh-cn/articles/1500005489041)
該分析使用探測光源光線并記錄該探測光線擊中NSC物體的位置。文件“HUD_windshield_sag.zar”可以在文章頂部下載。它包含風擋玻璃CAD零件和資源。
風擋玻璃的X和Y尺寸需要在NSC矢高圖中進行設置??梢越剖褂孟鄼C視圖結合活動光標位置讀取需要設置的X-Y:
可以為NSC矢高工具輸入以下設置:
在設置中,您可以:
?取消勾選“移除XY傾斜”。NSC矢高不會將NSC物體的傾斜設置為0。
?勾選“保留保存的文件”,將.zmx和.zrd文件保存到當前文件夾。
NSC矢高圖以偽彩色顯示。如果在“設置”下,“顯示”選項設置為“文本”,則它也可以顯示為文本列表。然后可以保存此文本輸出并將其轉換為正確的數據格式.DAT,該數據可以用于網格矢高表面。為了簡單起見,本示例中風擋玻璃采用擴展多項式曲面進行建模。
展開 ZEMAX軟件技術應用教程:如何創建ZOS-API自定義擴展將切比雪夫多項式轉換為擴展多項式
點擊:分析 ( Analyze )> 波前( Wavefront ),打開波前圖 ( Wavefront Map )。使用波前圖來比較轉換前后的結果。開始時,波前圖顯示均方根值為1.7423波數,PV值為6.9820波數。
點擊:編程 ( Programming )>自定義擴展 ( User Extensions )創建新的擴展。
運行擴展,計算擴展多項式系數:
顯示運行擴展后的指標:
然后在切比雪夫多項式表面之后添加兩個新的表面:擴展多項式和包含矢高差的網格矢高表面。
在波前圖上,轉換后的結果為:RMS為1.7423波數,PV為6.9820波數。轉換后運行正常!
關于自定義擴展的相關信息:速度、設置和其他技巧
UserExtension 是否可以改變文件選項,使軟件在每個系數轉換后不保存文件?
不可以。
目前無法從自定義擴展中更改文件選項。當運行用戶自定義擴展,即轉換系數,如果通過點擊:配置選項 ( Project Preferences ) > 常規( General ) > 撤銷 ( Undo ),將撤銷設置為“磁盤多步存儲 ( Disk Multi-Step ) ”,OpticStudio將保存每一步的轉換。因此,每次修改新系數(超過200次)時,軟件都會保存UNDO文件,這會降低執行速度。惟一的解決方法是在運行擴展之前手動更改該設置。
有什么方法可以加快 UserExtension 的運行速度嗎?
有!
將 IZOSAPI_Application.ShowChangesInUI 設置為“false”。這不會影響撤消行為,但是會使擴展運行得更快,例如:調用矢高分析,但并不顯示分析結果。
展開 ZEMAX | 如何創建ZOS-API自定義擴展將切比雪夫多項式轉換為擴展多項式
點擊:分析 ( Analyze )> 波前( Wavefront ),打開波前圖 ( Wavefront Map )。使用波前圖來比較轉換前后的結果。開始時,波前圖顯示均方根值為1.7423波數,PV值為6.9820波數。
點擊:編程 ( Programming )>自定義擴展 ( User Extensions )創建新的擴展。
運行擴展,計算擴展多項式系數:
顯示運行擴展后的指標:
然后在切比雪夫多項式表面之后添加兩個新的表面:擴展多項式和包含矢高差的網格矢高表面。
在波前圖上,轉換后的結果為:RMS為1.7423波數,PV為6.9820波數。轉換后運行正常!
關于自定義擴展的相關信息:速度、設置和其他技巧
UserExtension 是否可以改變文件選項,使軟件在每個系數轉換后不保存文件?
不可以。
目前無法從自定義擴展中更改文件選項。當運行用戶自定義擴展,即轉換系數,如果通過點擊:配置選項 ( Project Preferences ) > 常規( General ) > 撤銷 ( Undo ),將撤銷設置為“磁盤多步存儲 ( Disk Multi-Step ) ”,OpticStudio將保存每一步的轉換。因此,每次修改新系數(超過200次)時,軟件都會保存UNDO文件,這會降低執行速度。惟一的解決方法是在運行擴展之前手動更改該設置。
有什么方法可以加快 UserExtension 的運行速度嗎?
有!
將 IZOSAPI_Application.ShowChangesInUI 設置為“false”。這不會影響撤消行為,但是會使擴展運行得更快,例如:調用矢高分析,但并不顯示分析結果。
展開 Ansys Zemax STAR 模塊:集成化光學系統模擬整體解決方案
將數值數據應用至表面
STAR 功能:擬合評估
? 不同于使用 Zernike 多項式往往需要使用高階項系數進行形變擬合,全新的 STAR 模塊將使用以下數據擬合算法完成對表面的擬合:
‐ 將 2D 表面形變轉換為非均勻網格矢高數據
‐ 將 3D 溫度分布情況轉換為非均勻折射率分布數據
‐ 可以避免 Zernike 擬合精度不足導致的殘余誤差
? 控制每個 FEA 數據集與其關聯的表面的數值擬合設置,可視化 FEA 數據集與其數值擬合之間的差異
FEA 數據對系統性能產生的影響
? STAR 模塊可以使用所有的 OpticStudio 分析功能進行系統性能分析
? 簡單載入 FEA 數據后,即可使用 OpticStudio 中的工具觀察和分析這部分性能影響
? 系統及成像性能分析:表面矢高、點列圖、波前差、圖像模擬分析等
Zemax 集成化光學系統設計:高能激光系統示例
高能激光系統
? 在 OpticStudio 序列模式中設計和優化高能激光系統的光學部分
? 通過 OpticsBuilder將光學設計便捷地導入至 CAD 平臺中并進行光機械封裝和分析
? 結合 FEA 分析工具得到的具體熱形變和結構分析數據,通過 STAR 模塊展現系統的整體性能情況
? Zemax 軟件集合可以幫助您:
- 多種實用功能幫助您完成高斯光束傳播模擬
展開 Ansys Zemax | 大功率激光系統的 STOP 分析(五)
當啟用STAR數據后,我們可以檢查分析窗口,以查看FEA數據對系統性能的影響,如波前圖(Wavefront Map)、點列圖(Spot Diagram)、矢高圖(Sag Map)等分析。
通過 ZOS-API 將 FEA 數據導入到 STAR,并開展光學性能分析
我們已經演示了如何方便地將 FEA 數據手動導入到 STAR。另一種方法是使用 STAR-API 的功能實現這個流程的自動化。當需要分析多個 FEA 數據集時,這種做法特別有用。在本節中,我們將演示如何使用 Matlab 腳本為 FEA 模擬的多個時步加載 FEA 數據。腳本 “TransientAnalysis.m” 將包含在文章附件中。
代碼中所包含的函數
將在代碼中創建以下六種函數,并且在下方提供了對應的講解。
ListFiles():將數據文件夾作為輸入字符串變量,該函數將讀取數據文件夾中的文件名,并根據命名規則識別表面編號以及數據文件是形變文件還是溫度文件。輸出項是一個結構 Data 和一個整數型文件數,即文件夾中的文件數量。
RemoveAllFEA():該函數將允許從當前系統中刪除所有導入的 FEA 數據。它將檢查是否為每個表面導入了溫度或形變數據集,然后卸載那些已導入的數據。
展開 Ansys Zemax | 在 OpticStudio 中將干涉儀數據附加到光學表面 – 第二部分
最后,在網格矢高凹面鏡周圍使用一對坐標中斷,并將 Tilt About Z 參數設置為 180 度,以考慮表面的正確方向。此時,通過干涉測量法對凹面進行測量的雙通道系統應如下所示。
我們可以根據表面矢高圖驗證反射鏡的形狀。與凸面鏡情況類似,為了分析表面矢高形狀,從當前矢高輪廓中移除基底半徑,以僅關注較小的制造誤差。正如預期的那樣,根據測量值,Surface Sag 圖在表面中心顯示一個谷值。
為了仔細檢查數值結果,我們可以使用 Wavefront Map 分析。由于它是一個雙通模型,我們預計峰谷 (0.306 waves) 和 RMS (0.063 waves) 波前誤差值將與傳輸中報告的測量結果相比翻倍。
正如預期的那樣,在雙通仿真設置中,峰谷 (0.6106 waves) 和 RMS (0.1250 waves) 波前誤差的數值是干涉測量的兩倍,其中結果以透射形式報告。同樣在這個鏡像案例中,與 Zygo 結果相比,波前映射似乎是倒置的,但是由于 OpticStudio 中的波前誤差定義,使用主光線和光瞳光線之間的光程差,這種倒置是意料之中的。
根據這個凹面鏡的實驗,我們可以得出結論,OpticStudio 生成了 YYY.DAT 數據文件可以直接附加到表面模型,但是為了在繪圖上正確渲染數據,鏡面需要繞 Z 軸旋轉 180 度。一旦完成,定性和定量結果都與測量數據非常吻合。
展開 ARtrix HUD 工具箱 2021.9 版本發布
后續用戶可以進行風擋玻璃平滑性分析、矢高采集、草圖繪制及初始結構智能創建等工作。
4.風擋玻璃支持測量數據導入
以前版本風擋玻璃支持(STEP,IGS,SAT)等格式的輸入,新版本擴充對STL格式的支持,STL格式可以支持儀器的實測數據導入。
5.新增自動背光耦合分析
在Tools菜單FileConversion(逆向光路向正向光路轉換)功能右側,新增Backlight Coupling分析:當用戶完成序列光路系統設計,開始背光設計前期,需要確定背光耦合的光型分布,以最大化的利用光效。該分析工具可以直觀的給出光型分布及定量數據(笛卡爾及極坐標形式),方便后續背光設計或者選擇合適的PGU擴散膜。
背光耦合光型分析:
6.新增道路視點融合檢查
在Sketch草圖菜單的智能草圖下方,新增道路融合覆蓋檢查Road Check功能,輸入駕駛員距路面的高度信息(Road Height)可以一鍵式直觀檢查視野遠近覆蓋等信息。
展開 
ZEMAX光學設計軟件技術教程:OpticStudio 中的復合表面
結合 TIRR、TEXI 和 TEZI 操作數進行公差分析
在公差分析方面而言,上面的討論中我們知道可以使用復合表面的 Composite 屬性設置手動添加不規則度和公差。
此外,復合表面擴展了現有 TIRR、TEXI 和 TEZI 操作數的功能,以前這三個操作數只能用于對以下表面進行公差分析:
圖 12. 之前TIRR、TEXI和TEZI僅用于有限的表面類型
現在得益于復合表面,任何可以成為復合基面的表面類型都可以使用這三個操作數來執行公差分析請注意,TIRR、TEXI 和 TEZI 的擴展功能不包括對離軸孔徑的支持)。
對于符合條件的表面類型,TIRR 操作數將使用不規則面作為復合表面對這些表面進行公差分析;TEXI 操作數將使用 Zernike Fringe 矢高面作為復合表面對這些表面進行公差分析;TEZI 操作數將使用 Zernike 標準矢高面作為復合表面對這些表面的公差進行分析。
我們以圖 13 所示的手機鏡頭設計為例。
圖 13. 手機鏡頭系統示例
公差數據編輯器(TDE)填充了手機鏡頭表面 3 和 4 的 TEZI 操作數。之前 TEZI 不能直接與 Q 型非球面一起使用,但現在您可以直接在 TDE 中進行設置并使用以下公差功能,如圖 14 所示。
圖 14.在Q型非球面上使用 TEZI 操作數進行公差分析
當我們運行公差分析并保存蒙特卡羅文件時,您可以輕松檢查公差結果。
圖 15. 蒙特卡羅分析設置
我們還可以打開一個蒙特卡羅隨機文件來驗證并更好地了解操作數如何向表面添加不規則度。如圖 16 所示,Q 型非球面上增加了一個復合組件面,該表面帶有 TDE 中指定的 Zernike 標準矢高擾動項。
圖 16.
展開 Ansys Zemax OpticStudio 2023 R1 版本說明
1.6 NSC 表面矢高(支持于所有版本)
通過非序列模式輕松分析任何復雜表面的形狀,以確保其可制造性。
OpticStudio中的這一新內置分析使用非序列光線追跡來計算在非序列元件編輯器(NSCE)中定義物體的指定面矢高值情況。
用于矢高計算的光線可以在布局圖選項卡中可視化,這大大有助于分析的故障排查設置。
此分析的設置包括“保持物體傾斜 (Keep Object Tilts)”復選框,該復選框允許保留對象的原始x和y傾斜。如果選中此框,則在計算矢高時,分析將考慮物體的傾斜,如果未選中此框將忽略這些傾斜。
該分析還允許用戶移除基底半徑、最佳擬合球面、基底矢高、平均矢高或最小矢高情況。平均矢高和最小矢高允許移除Piston或將矢高圖固定到最低矢高值。
1.7 導出 SPEOS 透鏡系統工具更新(支持于所有版本)
增加的功能包括跳過系統反轉、多重結構選項和傳感器圖可視化。
新版本中添加的功能包括在手動翻轉系統的計算過程中跳過自動翻轉步驟的能力,以及從多重結構系統導出特定結構的能力。用戶界面中還添加了在Speos Exporter輸出設置中保存特定參數的功能,可以保存的參數包括畸變、可變入瞳位置、銳度損失、景深和分辨率。
添加了新的傳感器布局,以改進像面采樣的視覺表示。輸出畸變文件設置的特點是通過包括或排除特定輸入參數來自定義輸出數據。
1.8 OpticsBuilder 文件準備工具:實際孔徑(支持于所有版本)
對于
STOP 表面NSC 實際孔徑功能的改進。
在創建ZBD文件期間,添加了一項新功能,以改進 STOP 表面到NSC實際孔徑的轉換。
展開 Ansys Zemax | 解析 OpticStudio 中復合表面的工作原理
隱藏/取消隱藏/刪除所有復合表面
將復合表面與失高圖結合使用
我們可以使用 分析...偏振與表面物理...表面 (Analyze...Polarization and Surface Physics...Surface) 中的矢高圖功能來查看表面的矢高分布,以下是關于復合表面矢高圖的一些分析:
選擇“不移除”:矢高圖將顯示所選表面之前的所有組件面的總和。
選擇“移除復合矢高”:單獨繪制選定基面的矢高。
選擇“移除基底矢高”:僅顯示應用于此表面的所有組件面矢高的總和。
在下面的示例中,如圖 9 (a) 所示,表面 3 和 4 是組件面,表面 5 是基面。復合表面矢高圖,圖9 (b)~(g) 解釋了上述與復合表面的矢高關系。
圖 9(a).
展開 光學設計教程:解析 Zemax OpticStudio 中復合表面的工作原理
隱藏/取消隱藏/刪除所有復合表面
將復合表面與失高圖結合使用
我們可以使用 分析...偏振與表面物理...表面 (Analyze...Polarization and Surface Physics...Surface) 中的矢高圖功能來查看表面的矢高分布,以下是關于復合表面矢高圖的一些分析:
選擇“不移除”:矢高圖將顯示所選表面之前的所有組件面的總和。
選擇“移除復合矢高”:單獨繪制選定基面的矢高。
選擇“移除基底矢高”:僅顯示應用于此表面的所有組件面矢高的總和。
在下面的示例中,如圖 9 (a) 所示,表面 3 和 4 是組件面,表面 5 是基面。復合表面矢高圖,圖9 (b)~(g) 解釋了上述與復合表面的矢高關系。
圖 9(a).
展開