如何取得非序列物件的矢高 (Sag) 資料


如何取得非序列物件的矢高 (Sag) 資料

Author
Message
Zemax_Taiwan
Zemax_Taiwan
Forum Member
Forum Member (1K reputation)Forum Member (1K reputation)Forum Member (1K reputation)Forum Member (1K reputation)Forum Member (1K reputation)Forum Member (1K reputation)Forum Member (1K reputation)Forum Member (1K reputation)Forum Member (1K reputation)

Group: Administrators / Zemax Staff
Posts: 214, Visits: 2.5K
本文章說明如何利用NSRA操作數計算非序列物件的表面矢高資料。
原文連結:How to Measure the Sag of an NSC Object
原文作者:Sanjay Gangadhara
原文發布時間:November 23, 2007
附件資料:檔案下載

簡介
很多時候,我們會需要知道OpticStudio中一些的表面sag資料,例如要輸入給製造的機台。在序列模式中,這種資料可以很輕易地使用SAGG操作數,或是透過點一下Analyze > Surface > Surface Sag來得到。
在非序列模式中,這會稍微複雜一點。序列模式中,表面都是以單一的方程式計算的,這個方程式會描述這個表面距離頂點切平面的距離。但在非序列模式中,非序列物件是三維,可以是非常複雜的形狀。我們可以透過物件檢視器 (Object Viewer) 來觀看外型,但檢視器沒有提供精確的sag數字。
這邊我們要介紹的是NSRA操作數。這個操作數可以回報單一光線跟物件的交錯點資料。我們需要做的只是從不同的X、Y位置發射單一光線,然後把該光線與物件交會點的Z座標輸出,即可得到完整sag資料。


使用Universal Plot 3D計算
以下讓我們舉一個例子,假設我們現在需要知道一個CPC物件的表面sag資料。請打開附件檔案的 “NSC_Sag_CPC.ZMX”,可以看到在非序列元件編輯器中我們共定義了兩個物件,資料如下:
物件 1 – Source Ray
X/Y/Z Positions = 0,0,0
Layout Rays = 1
Analysis Rays = 1
(使用NSRA時,須確保Analysis Rays參數等於1)
其他參數保持預設

物件 2 – CPC
X/Y/Z Positions = 0, 0, 0.5
Tilt about X = 15.0
Tilt about Y = 15.0
Radial Aperture = 0.10
Angle (deg) = 10.0
Length = 5.0
其他參數保持預設

接下來請開啟以下工具:Analyze > Universal Plot > Universal Plot 2D > New Universal Plot 2D…
在分析工具的設定輸入設定參數如下:

X軸我們設定使用物件1 (Source Ray) 的X Position,這個位置會在-1到2之間切割成50份變化。類似的,Y軸設定為物件1 (Source Ray) 的Y Position,在-2到1之間切割成50份變化。然後Z軸即是使用NSRA操作數的值。NSRA操作數的參數輸入如下:
* Surf:非序列群組在序列式系統中的面編號。如果是在純非序列模式下,此數字永遠為1。
* Src#:要使用的光源的物件編號。我們在這裡輸入1,代表Source Ray物件。
* Splt?:設定光線是否要分裂。 (0代表沒有光線分裂)
* Pol?:設定分析時是否要考慮偏振效應。 (0代表不考慮偏振效應)
* Seg#:設定要讀取該光線中哪一個線段的資料。Segment 0是出發的光線,Segment 1是光線與第一個物件互動之後,Segment 2是光線與第二個物件互動之後。在我們的範例中,我們想要知道光線與第一個物件交會的位置,因此我們設定Seg# = 1。
* Data:設定要計算指定線段的哪一個資料。此範例中我們需要的是Data=3,代表光線的Z座標。

設定完成後,按一下 “OK”。可以看到如下的偽色圖,顯示的是不同X、Y時的所偵測到的CPC的Z高:
http://forum.zemax.com/Uploads/Images/86c3483c-4199-493a-b63d-0d9.jpeg

計算這個圖時,Source Ray物件會在X跟Y座標上從-1到2以及從-2到1之間變化,然後系統會計算偵測到的CPC的Z高。藉由點一下視窗的Text標籤,則可以得到完整的數值資料。


如果需要該物件不同方向上的sag資料,則可以直接指定該物件的Tilt About X/Y,讓該物件傾斜然後在量測一次。


使用ZPL巨集計算表面矢高
表面矢高的計算能透過使用ZPL巨集自動計算 (你可以在附件的壓縮檔中找到下圖的原始碼):

在這個巨集中,你會被要求輸入光源移動的X跟Y的範圍,以及掃描時要分割的數量,如同我們在Universal Plot 2D中需要輸入的一樣。然後巨集會透過SETPOSITION這個指令去改變光源的X、Y位置,然後透過NSRA計算光線與物件交會點的Z座標,在巨集中讀取NSRA時,我們需要額外用到OCOD以及OPEV這兩個指令幫助。Source Ray的初始位置則可以透過NPOS讀取,我們在巨集執行完畢時,可以再次把Source Ray移回到初始位置。關於上述指定的詳細說明,都可以在Help文件中找到。
此巨集產生的輸出資料最終會是X、Y、Z的點座標清單:



總結
NSRA操作數可以跟Source Ray共用,以計算非序列物件的表面矢高 (sag)。
有兩種方法可以完成此工作:
* 使用Universal Plot 2D
* 使用ZPL巨集
不管哪一種方法,精確度都一樣,都允許你隨意設定偵測範圍以及解析度。


GO


Similar Topics


Login
Existing Account
Email Address:


Password:


Select a Forum....



































Zemax Users Forum


Search