我輸出的CAD檔精度夠好嗎?


我輸出的CAD檔精度夠好嗎?

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.3K
原文連結:How Accurate is CAD Exchange
原文作者:Mark Nicholson
原文發布時間:October 7, 2010
文章附件:檔案下載

當我們把序列模式的面 (Surface) 或非序列模式中的物件 (Object) 輸出到CAD軟體時,OpticStudio實際上是把這些曲面描述為NURBS (Non-Uniform Rational B-Spline) 的形式。請看 這裡 瞭解更多NURBS。

一個NURBS非常有用的特性是他可以確切的描述一個圓錐非球面外型。因此球面、橢圓、拋物件、雙曲面等形狀都可以被很確切完整的以NURBS曲面來描述。這對於光學工程師來說是好事,因為這些外型是如此的經常被使用。

然而,並不是任何的曲面都可以被NURBS完全精準的描述。就像是我們無法用有限數量的線段去完全描述一個圓形一樣,NURBS也只能近似的去描述任何的曲面到某個精度為止。對於高階的非球面外型,例如多項式非球面,我們會用多個spline曲面片段來近似描述,意思是通常我們會把光學曲面拆解為許多片段,並逐一用許多低階的多項式曲面來擬合。基本上,我們使用許多三階或四階的多項式來擬合曲面。這對於機構設計來說足夠好用,但對於用在光學等級的光線追跡測試,則需要非常小心,因為這個時候我們要求的精度會達到光的波長的程度。

此問題通常發生在用OpticStudio模擬高光學精度的表面,然後匯出到CAD檔給機構設計,最後又匯入回到OpticStudio,執行光線追跡驗證時。在我們把OpticStudio內部的非圓椎曲面的非球面匯出為NURBS曲面形式時,或多或少光學精度都會降低。對於非成像光學來說,CAD檔表現方式的精度通常是足夠的,但對於成像系統來說,使用者必須要很謹慎地確認匯入的CAD元件能足夠準確的描述其外型。注意OpticStudio程式內部追跡時,其精度有到達10^-12。大部分CAD格式的物件都比這個粗糙很多。

範例說明
測試CAD檔最好的方法就是把這些NURBS元件拿來測試光線追跡分析。舉例來說,假設我們有一個偶次非球面 (Even Asphere) 透鏡,其圓椎係數、4階係數、6階係數都非零。這是一個很典型的非球面元件。
http://forum.zemax.com/Uploads/Images/faa8443e-8e7d-4990-b7f6-60eb.gif

從光扇圖中可以看出離焦、球差、高階球差的平衡,以及可以看出8階以及更高階的球差沒有被平衡到。
http://forum.zemax.com/Uploads/Images/e41df02e-2107-46de-ac88-89ba.gif

從光斑圖可以看出這個系統以達繞射極限。
http://forum.zemax.com/Uploads/Images/271c7666-c123-4520-964f-3536.gif

現在我們把這個透鏡匯出,設定如下:
http://forum.zemax.com/Uploads/Images/5df06e4a-e182-4659-bc80-74e1.gif

預設的設定是Spline Segments: 8,表示共使用8個spline片段擬合。Tolerance代表匯出的大約精度,這裡設定為10^-4。因為系統單位現在是mm,因此這代表現在的經度是0.1 um。這個數字會的大小應該要考慮製造方法來決定,通常只有在必要的時候,才需要降低。使用這些設定產生的CAD檔後得出以下的光學效能:
http://forum.zemax.com/Uploads/Images/a7ed79a7-7a60-4773-9092-f5c4.gif

http://forum.zemax.com/Uploads/Images/2be20ab6-3f46-4918-9114-9e9c.gif

可以看到8個低階的spline曲面並無法很好的描述這個六階非球面。然而,光扇圖的結果還在合理範圍內,且光斑圖也很類似,兩者都可以看出仍然在繞射極限內。
在這裡我們絕不能掉入這樣的思考陷阱:我看到了效能的差異,這個差異必定重要,並且必須消除。實際上,只有負責設計的工程師能判斷這個差異是否重要。在這個範例中,我們故意選了一些較敏感的分析來展示差異。其他分析功能可能不一定敏感。例如MTF,我們可以看到他幾乎沒有受到CAD物件的影響,因為這個設計仍然維持在繞射極限之下。
http://forum.zemax.com/Uploads/Images/a10bbb8f-f1c6-4ba1-acc3-79a1.gif

因此我們必須小心的用現實世界中、有物理意義的效能標準來判斷你的光學系統中,這個CAD檔的品質如何,而不是看到一些測試有差異就開始擔心。
雖然上面這樣說,但我們還是可以測試一下,如果用32個spline片段以及10^-5精度 (0.01 um或10 nm!) ,再次輸出這個透鏡的話,我們就可以得到跟原本一模一樣的光扇圖,僅帶有非常微小的差異:
http://forum.zemax.com/Uploads/Images/0eb41b67-da46-44bf-805f-b784.gif

愈加緊縮輸出設定,我們就可以愈加的降低這些波動,直到我們無法分辨原始OpticStudio設定以及輸出檔案的不同。然而輸出一個精度超越製造方法所需的CAD檔其實是沒有意義的。

直接比較
有時候我們可能會想要直接比較原始參數跟NURBS的表面形狀差異。這非常容易,我們可以藉由追跡單一條光線,並計算表面交會點來直接比較。
在附件檔案中,我們比較了原生OpticStudio物件跟他的繪出結果。
http://forum.zemax.com/Uploads/Images/8aa75f63-2fe4-4cf4-bfb6-1e5.jpeg

我們個別追跡一條光線到各個物件,然後在評價函數中分別計算兩條光線在物件上的交點,最後把他們相減。然後我們在Universal Plot中畫出不同位置上,表面起伏差異的變化圖。

一般來說,這個差異應該看起來要遠小於你在CAD Export中Tolerance的設定。如果他不是,如需要增加spline的數量,直到需要的精度達到為止。

總結
NURBS是一個有彈性的描述曲面的方法。在描述圓錐非球面時,他可以確切完整的描述,對光學工程師來說是極大的好消息!這代表球面、橢圓、拋物面、雙曲面都可以完整的匯出或匯入。

高階的非球面則使用多個低階多項式曲面片段來描述,我們透過調整spline片段數量以及Tolerance這兩個參數來調整匯出的精確度。不過,在把精度調到非常大之前,工程師應該小心的考慮實際上目標應用所需效能以及製造精度是否真的需要這麼高的精度。

GO


Similar Topics


Login
Existing Account
Email Address:


Password:


Select a Forum....



































Zemax Users Forum


Search