如何給非序列結構添加鍍膜和散射

如何給非序列結構添加鍍膜和散射

概要


Zemax OpticStudio非序列模式的對象是3D實體,薄膜和散射模型是3D實體的表面特性。本文將從以下幾個方向解釋如何給非序列元件添加鍍膜和散射:

☆ 非序列對象中“Face number”的概念。

☆ 如何給不同的Face添加鍍膜以及散射模型。

☆ 從外部導入CAD結構后的一些對鍍膜散射性質的處理。


簡介

首先,非常感謝Sick AG公司Ingolf H?rsch博士允許我們在本文使用相關光學系統(tǒng)的3D Layout圖。非序列模式下的結構是占有一定空間的3D實體,一般情況下可以將非序列元件結構分為兩種類型:

☆ 參數(shù)化對象:例如在Standard Lens中可以根據(jù)需要自行定義元件的前曲率半徑、后曲率半徑、中心厚度以及徑向孔徑。Zemax OpticStudio提供了大量的參數(shù)化對象,包含全息、衍射、圓柱體以及雙錐體等等。

☆由導入的數(shù)據(jù)文件定義的對象:包含了多邊形對象、鱗甲對象以及常見的CAD對象(如STEP、IGES、SAT、STL等格式)。這些對象有可能是多面體也可能是平滑連續(xù)曲面(或是兩者皆有分布在不同區(qū)域)。

不論是何種類型,使用者都需要在這些結構表面上設置薄膜鍍層以及散射函數(shù)以確保能精確模擬光線的傳播。

OpticStudio通過“Face”來描述非序列元件上面的特定區(qū)域,這些區(qū)域就是我們加鍍膜或是散射模型的最小單位。

在參數(shù)化對象中,F(xiàn)ace的定義通常很明顯。舉例來說,Standard Lens這個對象可以很簡單的知道他的前表面與后表面都是拋光的,而連結兩側的柱狀側面則是未拋光的表面性質。

在由導入的數(shù)據(jù)文件定義的對象中,“Face”的定義就比較復雜。即使是一個簡單的多面鏡面,也可能是由很多個小面(facet)組成的。這些特殊曲面的外型也許看起來是連續(xù)的一個Face,但可能其實是以復雜的數(shù)學描述來完成的。我們加入復雜的CAD對象時,Zemax OpticStudio可能會需要處理好幾MB的數(shù)據(jù),包含平面、曲面、Spline曲面等等。

本文我們將描述如何在一般結構上定義Face,使得接下來可以順利在該結構上設置鍍膜與散射模型。


參數(shù)化對象

假設一個Standard Lens結構共有3個Face(編號從0開始),其NSC Shaded Model圖如下所示:

圖1 參數(shù)化結構的NSC Shaded Model圖

所有內建的參數(shù)化對象都可以在使用者手冊或Help系統(tǒng)中找到該結構的Face定義,這些對象上的Face通常會有一個方便的“名稱”。選擇任一個Face,你可以決定光線與這個Face相交的三種模式。

圖2 選擇Face

☆ 如果選擇“Object Default”,則該Face的反射率由該對象玻璃材料的折射率、該Face另一側的物質折射率、Face上面的鍍膜(稍后更多細節(jié))、入射光波長、偏振態(tài)以及入射角決定。也可在該Face上定義散射屬性。

☆ 如果選擇“Reflective”,則該Face的表面屬性類似于“鏡面”。不論光線從這個Face的哪一側接觸,都只會被反射。除此之外,鍍膜與散射分布的效應都和往常一樣處理。

☆ 如果選擇“Absorbing”,則任意一條入射的光線入射到該面后都會停止追跡。不會應用鍍膜以及散射模型。

本文我們都選擇“Object Default”。

選擇好Face后,任何載入到系統(tǒng)中的鍍膜都可以通過Coating下拉菜單設置。Zemax OpticStudio有完整的偏振光線追跡以及分析功能。任何偏振態(tài)的光源都可以設定,Zemax OpticStudio會考慮透射、反射、吸收、偏振態(tài)、雙向衰減(Diattenuation)以及相位延遲(Retardance)。

鍍膜是由任意層數(shù)、任意材料組成的,每一層材料都有各自的復折射率以及完整的色散模型?;宀牧峡梢允遣A?、金屬也可以由使用者自己設置。Zemax OpticStudio可以直接從“The Essential Macleod”或“Film Star”軟件以及其他薄膜設計軟件中直接導入鍍膜定義。Zemax OpticStudio會自動在光線從空氣到材料以及從材料到空氣兩種情況之間逆轉膜層的順序,使用者不需要額外定義“鏡像”的膜層。

如果無法取得原始的鍍膜,我們也可以通過輸入不同波長、不同入射角效率的表格信息來定義鍍膜?;蚴鞘褂肐DEAL理想膜層來簡化定義所有角度與波長的反射與透射。在有詳細膜層信息后,我們就可以根據(jù)入射光的偏振態(tài)、波長以及角度來推算雙向衰減率、相位、相位延遲、反射、透射或是吸收等信息。

設定好鍍膜后,我們還需要設定散射模型。在Zemax OpticStudio中,可用的散射模型包括Lambertian、Gaussian、ABG、ABG File、BSDF、IS Catalog Scatter以及User-Defined。

舉例來說,透鏡的前表面應該具有良好拋光,而且為了抗反射前表面應該有一層四分之一波長的MgF2鍍膜。在Zemax OpticStudio預設中就有這樣的一個鍍膜“AR”。如要在Face 1 (透鏡前表面)上面設置AR,可以按下圖設置:

圖3 如何設置Face 1的鍍膜

Face 0代表側表面,通常會是無拋光,并且沒有鍍膜,因此我們可以有如下設置:

圖4 如何設置Face 0的鍍膜


CAD對象

以3D CAD軟件(如SolidWorks、Creo Parametric、Inventor、CATIA等)設計的實體對象都可以利用一系列的CAD 零件或裝配體對象導入。

圖5 如何導入CAD文件

Zemax OpticStudio可以直接與SolidWorks、Creo Parametric、Inventor動態(tài)鏈接導入對象。由于動態(tài)鏈接后會直接存儲原始的數(shù)學模型因此追跡速度會更快。而且還可以把CAD對象的參數(shù)定義為變量套用優(yōu)化程序。

但是,由于以上這些CAD對象都是外部定義的,因此在分配鍍膜、散射特性上都會有一些特殊問題。

首先,CAD對象文件很大(通常會有幾個MB大)。再者,CAD軟件通常會以不規(guī)則的順序輸出對象信息,因此需要使用者花費大量的時間把CAD對象中大量的面(Surface)分類為有意義的Face。讓我們看看以下的偵測器系統(tǒng)。

圖6 偵測器系統(tǒng)的NSC Shaded Model圖

該偵測器系統(tǒng)共包含了178個分離的CAD面(Surface)構成,但是他們并沒有依照任何順序來編號。因此如想要知道編號45的Surface在哪里的話,我們是完全沒有線索的。已知該對象是由兩個透鏡組成。一個提供閃光,用來照亮對象物體。另一個則用來把對象物體成像到系統(tǒng)的探測器上。這兩個不同路徑都是在序列模式下完成設計,然后在把透鏡輸出到CAD軟件,并與其他相關的機構件結合。完成后同樣再利用CAD輸出并導入Zemax OpticStudio,以進一步模擬光機結合的效率、成像質量、雜散光等信息。

該對象通過注塑成形,生產(chǎn)過程中使用了兩種Surface光學處理。第一種是透鏡上的Surface為平滑拋光,冷鍍膜處理。第二種是其他Surface通過電火花刻蝕處理,表面具有粗糙散射特性。

很明顯,沒有人會真的想去給這178個CAD Surface逐個設置表面屬性!而且和其他CAD文件相比本文CAD文件中的Surface算少了。在Zemax OpticStudio中,選項“Surface Mode”可以幫助使用者根據(jù)一定的規(guī)則快速分類已知Face?!癝urface Mode”可以在Object Properties > CAD中找到(只有在外部導入CAD文件時可以看到),F(xiàn)ace Mode提供以下幾種選項:

圖7 Surface Mode及其選項

☆ Use single surface:顧名思義,所有的Surface都會被分配到Face 0。整個對象將只有一個Face。

☆ Use angles of normal vectors:對所有的Surface來說,如果兩Surface沿著一條長度非零的曲線相接,并且兩個Surface在這條曲線上各自的法向量之間的夾角小于使用者指定的角度,則這兩Surface的Face編號會被設為相同。使用者指定的角度大小可由同一個設置窗口中的Face Angle菜單欄中設定。這個角度的指定可以讓使用者指定要把Surface群組切割到多細。如果Face Angle的值非常大(例如180),則所有的Surface的Face編號都會一樣。Face Angles越大,產(chǎn)生的Face就越少。

☆ Use all surfaces:所有的Surface都會被單獨分配到一個Face編號。

☆ Use previously defined surfaces:保留原始導入文件的Face分配方式。有一些CAD對象(例如由OpticStudio所建立的)會在文件中就帶有Face編號信息,而這些信息將會被直接使用。如果OpticStudio無法檢測Face編號的信息,則會回到“Use all surfaces”的模式。

☆ Use single surface per object:CAD對象中個別分離對象上的所有Surface都會被賦予一樣的Face編號。此選項在CAD文件中有多個對象,并且剛好每個對象的材料都要分開設定時非常有用。

本范例中我們使用Use angles of normal vectors模式設置Surface,因此理論上所有的Surface都會被獨自分配到一個專屬的Face編號。本文CAD對象中共有178個Surface,我只想要選擇兩個特定的Surface,并指定Coating/Scattering屬性:其中一個有良好的拋光、低散射、抗反射的特性,另一個則沒有鍍膜,且高度散射。

要完成這個工作,請回到Object Properties > CAD設定中,點如下:

圖8 設置步驟

請注意原本每個CAD的Surface都應該被分配到獨一而二的Face編號,但是Face的編號上限是50。如上圖,在點選View Current Object之前,我們要先選擇“Viewer Highlights: By Surface”,然后點擊“View Current Object”后,就可以看到如下畫面。

圖9 選擇“Viewer Highlights: By Surface”,點擊“View Current Object”后的畫面

現(xiàn)在我們回到Object Properties設置菜單,按一下Select All,就可以在畫面中看到都所有CAD上的Surface現(xiàn)在都被選起來了(變紅)。

圖10 回到Object Properties設置菜單,按一下Select All

然后我們點選Change To ->按鈕,把所有CAD上的Surface先初步都設為Face 0。

圖11 CAD上的Surface先初步都設為Face 0

最后再點一下Clear All,這樣將會沒有任何一個面被選擇?,F(xiàn)在對象上所有的Surface都有同一個Face編號。但我們要把透鏡的拋光表面設為其他的Face編號,這里假設我們要設置為Face 1。在Object Viewer中,左鍵點擊選擇Surface,被選擇的Surface會同時在Object Viewer以及Object Properties里面高亮起來。

圖12 選擇所需Surface

選擇好需要的面之后,我們就在Object Properties中的下拉式選單中選擇“Face 1”,然后點一下Change To -> ,這樣就可以把選取的面都設為Face 1。現(xiàn)在,我們的對象僅包含兩個Face,每個不同的Face都可以獨立指定不同的鍍膜以及散射特性。


其他軟件導入的對象

CAD軟件導入對象可能是最重要的,但并不是Zemax OpticStudio唯一支持的導入對象的軟件。Zemax OpticStudio同時也支持多邊形對象(Polygon Object)以及鱗甲對象Tabulated Object),這些對象都可以通過外部導入的。通常這些都是多面(facted)結構。雖然也有例外,例如Fresnel建立的是旋轉對稱結構。

對于多邊形對象,F(xiàn)ace的信息已經(jīng)在外部數(shù)據(jù)文件中定義了。使用者可以在Help系統(tǒng)或使用者手冊中找到建立多邊形對象的細節(jié)。每個方形區(qū)域(rectangular)或三角區(qū)域(triangular)都可以分配一個Face編號。

對于鱗甲對象(Tabulated Object),整個結構僅會被分配到一個Face。


總結

☆ CAD對象通常是由好幾百個Surface(可能是平面、球體、Spline等)組成,要在每個Surface上都分別手動設定不同的鍍膜以及散射模型是不切實際的。

☆ 我們使用“Face”的概念來把大量的CAD之Surface分開為有意義的群組。

☆ 通過在3D畫面中旋轉畫面并選擇,可以大幅簡化“選擇Surface并分配Face的流程。

☆ 多邊形結構(.pob)在定義對象外型的同時本身也包含了Face的定義。

☆ 定義分類好需要的Face后,就可以輕松的在每個Face上設定不同的薄膜鍍層以及散射模型。