ZEMAX | 如何創(chuàng)建復(fù)雜的非序列物體
這篇文章介紹了在OpticStudio中,如何不以導入CAD文件的方式創(chuàng)建復(fù)雜的物體。您將學習到如何通過組合多個物體來創(chuàng)建復(fù)雜的非序列物體,如何利用拾取求解類型鎖定一組物體以及在非序列元件編輯器中如何復(fù)制一組物體。
下載
聯(lián)系工作人員獲取附件
簡介
在非序列模式中,用戶可以導入或創(chuàng)建物體來進行光學機械組件設(shè)計,當我們關(guān)注于設(shè)計而不是分析時,使用易于定義的參數(shù)化物體是較為方便的。參數(shù)化物體基于一個基本方程,該方程可以通過手動、滑塊、宏或優(yōu)化器等方式快速修改。Opticsudio有許多內(nèi)置的參數(shù)化物體供我們使用或進行組合。本文將展示通過組合內(nèi)置參數(shù)化物體創(chuàng)建復(fù)雜的物體,以及通過編輯器中的參數(shù)控制物體的形狀。對參數(shù)所做的任何更改都將立即反映在分析結(jié)果中,省去需要我們使用參數(shù)不同的多個模型的麻煩。
參數(shù)化的物體定義方式讓設(shè)計更簡單
在OpticStudio中,多數(shù)非序列物體都是參數(shù)化的,即他們的定義依賴于某個基本的方程。例如,標準透鏡 (Standard Lens) 物體是通過如曲率半徑、圓錐系數(shù)、中心厚度等參數(shù)來定義的。這樣參數(shù)化的物體可以只通過修改非序列元件編輯器 (Non sequential Component Editor, NSCE) 中的數(shù)據(jù)值就可以進行修改。當物體的數(shù)據(jù)被手動修改,或被滑塊 (Slider) 工具、宏 (macro) 程序、擴展 (Extension) 程序,以及最關(guān)鍵的被優(yōu)化器 (Optimizer) 修改時,物體能夠快速地重建。
OpticStudio 同樣支持非參數(shù)化的物體,如多邊形物體 (Polygon Object) 或者導入的CAD物體 (Imported CAD Objects)。這些物體最終由一系列數(shù)據(jù)表示。在某些應(yīng)用中,使用非參數(shù)化的物體有很多優(yōu)勢,例如在進行復(fù)雜的光機雜散光分析中,透鏡的底座和其他機械件可以通過非參數(shù)化的定義方式快速導入。但是在設(shè)計階段,我們需要方便靈活的更改物體的參數(shù),以得到我們想要的結(jié)果。參數(shù)化的物體定義是這種情況下的理想定義方式。
在OpticStudio中,支持多種參數(shù)化的物體定義方式,并且更多新的參數(shù)化物體定義方式還會持續(xù)添加進來。您可以在用戶手冊中找到這些物體定義方式的完整列表。此外,OpticStudio還預(yù)留有一個自定義的接口允許您定義自己的參數(shù)化物體:用戶自定義物體 (User-defined Object),它是非常強大的常用自定義工具。
您還可以通過組合已經(jīng)存在的多個物體來創(chuàng)建一個新的復(fù)合物體,這是一個快速且靈活的,不需要編程的創(chuàng)建復(fù)雜物體的方式。使用這種方式的關(guān)鍵在于:
明確OpticsStudio支持的物體類型,您可以在用戶手冊中找到這些物體的完整列表
正確定義不同物體之間重疊的體積和表面的屬性,詳細信息請查閱用戶手冊中的“嵌套規(guī)則”一節(jié)。
用拾取求解將多個子物體關(guān)聯(lián)在一起,以實現(xiàn)改變個別已定義的參數(shù),就可以自動更新組合物體中所有其他參數(shù)。
如果我們使用非參數(shù)化物體(如CAD物體)分析彎曲光管的效果,就必須創(chuàng)建許多個對應(yīng)于不同半徑的CAD文件,而使用參數(shù)化物體,我們可以在編輯器中通過參數(shù)控制物體形狀,參數(shù)更改會立刻體現(xiàn)在物體建模上,免去了我們只能使用參數(shù)確定的多個文件的麻煩。
設(shè)置系統(tǒng)基本屬性
本文示例的目的是創(chuàng)建一個90°彎曲的矩形丙烯酸樹脂導光管,它通常用于電路板印刷過程中,將LED(發(fā)光二極管)的光線中繼到儀器面板上,并分析當彎曲半徑改變時,導光管另一端的輻照度會產(chǎn)生怎樣的變化。我們還將在導光管中創(chuàng)建一個孔,以方便插入裝配結(jié)構(gòu)。并且在導光管的末端放置一個圓形孔徑,這樣儀器面板上得到的光斑則為圓形。在創(chuàng)建導光管后,我們將復(fù)制它,并將副本放在距它一定長度的位置上。
下圖所示為我們要創(chuàng)建的導光管。需要注意的是,導光管末端的輻照度分布隨著彎曲半徑的變化而變化。由于這個物體是完全參數(shù)化的,因此我們可以輸入任意的彎曲半徑值,并且物體會隨著參數(shù)改變而動態(tài)重建。

探測器上顯示出的多個橢圓光斑是由于光線在光管中發(fā)生了不同次數(shù)的全內(nèi)反射導致的,我們可以從下圖中清晰的看到全反射現(xiàn)象:

查閱用戶手冊中的非序列物體列表可以發(fā)現(xiàn),所有物體中并沒有符合我們想要的物體形狀,然而我們可以通過組合矩形體 (Rectangular Volume Object) 和矩形Torus體 (Rectangular Torus Volume Object) 來創(chuàng)建。
讓我們從頭開始,一步步創(chuàng)建這個導光管。
打開OpticStudio,點擊設(shè)置 (Setup)?選項卡中的非序列模式?(Non-Sequential)?新建一個非序列文件。打開系統(tǒng)選項?(System Explorer)?中的單位?(Units),設(shè)置透鏡單位?(Lens Units)?為毫米、分析單位?(Analysis Unit)?為瓦特每平方厘米?(Watts per cm2)。在波長?(Wavelengths)?中定義系統(tǒng)波長為0.55μm。最后在系統(tǒng)選項中的非序列模式?(Non-sequential)?中設(shè)置最大嵌套/接觸物體數(shù)目?(Maximum Nested/Touching Objects)?為5。該選項定義了物體嵌套、交叉、連接的數(shù)量上限。不要將該數(shù)值設(shè)為超過所需物體的數(shù)量,否則它將占用更多的內(nèi)存卻不會帶來額外的好處。

創(chuàng)建導光管主體
在非序列元件編輯器中,插入一個空物體(物體1)以及一個矩形體(物體2),如下所示。輸入如下參數(shù)定義矩形體:這里我們采用相對參考(物體-1)而非全局參考,這樣做的好處會在復(fù)制導光管時體現(xiàn)出來。
參考物體 (Ref Object)-1材料 (Material)Acrylic
X1半寬 (X1 Half Width)
5
Y1半寬 (Y1 Half Width)
5
? ? ? Z長度 (Z Length)
20
X2半寬 (X2 Half Width)
5
Y2半寬 (Y2 Half Width)
5
其他參數(shù)均為默認設(shè)置。

為了幫助我們觀察物體的位置和局部坐標的方向,點擊物體2物體屬性?(Object Properties)?中的繪制?(Draw)?選項卡,勾選“局部坐標軸?(Draw Local Axis)”選項。

打開3D布局圖觀察物體結(jié)構(gòu)。

在非序列元件編輯器中,插入一個矩形Torus體作為物體3,設(shè)置如下參數(shù):
參考物體 (Ref Object)
-1
材料 (Material)
Acrylic
外R?(Outer R)
40
內(nèi)R?(Inner r)
30
起始角 (Start Angle)
0
終止角 (Stop Angle)
90
厚度 (Thickness)
10
其余參數(shù)均為默認值。

如前文所提到的,矩形Torus體只有在布局圖中顯示時才使用表面進行表示。在實際的光線追跡過程中,物體會使用實際的方程進行精確定義,定義精度為OpticStudio進行數(shù)值計算的精度。

現(xiàn)在我們需要指定合適的X, Y, Z軸位置,以便在不考慮外R參數(shù)時,矩形Torus體可以與矩形體正確地連接。需要注意的是,我們接下來馬上會改變參數(shù)外R來分析光線傳播過程的變化。我們將使用拾取解求解來連接兩個物體,并使參數(shù)外R和內(nèi)R的值總是相差10mm。
在非序列元件編輯器中,定義參數(shù)內(nèi)R的求解類型為拾取求解 (Pickup Solve),如下圖所示:

對于矩形環(huán)狀物體,在非序列元件編輯器中,材料參數(shù)欄右側(cè)的參數(shù)1欄 (Parameter 1) 表示外R,拾取求解會設(shè)置內(nèi)R總是比外R小10mm。
矩形Torus體的一端應(yīng)與矩形體+Z方向的面相連,您可以使矩形Torus體的Z軸位置與矩形體的Z軸位置(參數(shù)3)保持一致,如下圖所示:

更新3D布局圖。

最后,我們需要將矩形Torus體在X軸上移動?-1*(外R-5mm) 的距離,如上圖所示。將物體3的參數(shù)X位置的求解類型定義為拾取求解,如下圖所示:

更新的3D布局圖中,可以看到兩者已經(jīng)連接在一起。

根據(jù)下列參數(shù)插入第二個矩形體作為物體4:
參考物體 (Ref Object)
-1
材料 (Material)
Acrylic
X1半寬 (X1 Half Width)
5
Y1半寬 (Y1 Half Width)
5
Z長度 (Z Length)
50
X2半寬 (X2 Half Width)
5
Y2半寬 (Y2 Half Width)
5
其他參數(shù)均為默認設(shè)置。

在布局圖中顯示物體4的局部坐標軸。

我們需要將物體4繞Y軸旋轉(zhuǎn)-90°,在非序列元件編輯器中,設(shè)置關(guān)于參數(shù)旋轉(zhuǎn)Y (Tilt About Y) 為-90。OpticStudio使用右手坐標系,因此從Y軸正向看去,繞Y軸反向旋轉(zhuǎn)是順時針的。

物體4的Z軸位置參數(shù)應(yīng)與參數(shù)外R相同(即-5mm),將矩形體Z軸位置的求解類型同樣定義為拾取求解,參數(shù)設(shè)置如下圖所示:

現(xiàn)在,系統(tǒng)布局圖如下所示:

在導光管上創(chuàng)建洞
下一步是在物體4上放置一個孔(材料是空氣)。插入圓柱體(Cylinder Volume)作為物體5,定義參數(shù)如下:
參考物體 (Ref Object)
-1
Y位置 (Y position)
5
Z位置 (Z Position)
40
傾斜X?(Tilt About X)
90
前R?(Front R)
2
Z長度?(Z length)
10
后R?(Back R)
2
其他參數(shù)均為默認設(shè)置。

如果想要使矩形體(物體4)與圓柱體(物體5)的重疊體積為空氣,則在本例中需要將圓柱體在非序列元件編輯器中的位置放置在矩形體之后,有關(guān)體積嵌套的詳細規(guī)則,請參閱用戶手冊。

為了追跡光線穿過導光管,我們需要在物體1的左側(cè)插入一個矩形光源 (Source Rectangle) 物體,其參數(shù)設(shè)置如下所示:
參考物體 (Ref Object)
-5
Z位置 (Z Position)
-10
陳列光線條數(shù) (# Layout Rays)
20
分析光線條數(shù) (# Analysis Rays)
400000
X半寬 (X Half Width)
4.8
Y半寬 (Y Half Width)
4.8
其他參數(shù)均為默認設(shè)置。
其中放大的布局圖顯示了當前圓孔邊緣處發(fā)生的全內(nèi)反射現(xiàn)象,這是因為孔內(nèi)的折射率低于矩形體的折射率。
在導光管末端放置光闌
為了在導光管末端放置一個圓形光闌,我們需要將兩個面嵌套在一起,一個是矩形體的表面(作為阻擋光闌)以及一個圓形孔徑(設(shè)置為空氣)。首先按照如下參數(shù)插入一個矩形體作為物體7:
參考物體 (Ref Object)
-3
Z位置 (Z Position)
50
材料 (Material)
Absorb
X半寬 (X Half Width)
5
Y半寬 (Y Half Width)
5
其他參數(shù)均為默認設(shè)置。
再插入一個標準面?(Standard Surface) 物體作為物體8。它代表導光管末端的圓形光闌,其參數(shù)如下所示:
參考物體 (Ref Object)?
-1
最大孔徑 (Max Aperture)
2.5
其他參數(shù)均為默認設(shè)置。
如果此時更新布局圖,您將會看到如下提示:
并且,如果此時點擊分析選項卡中的光線追跡?(Ray Trace),您將會得到如下錯誤提示:
在本例中,產(chǎn)生幾何錯誤的原因是因為我們違背了一個嵌套規(guī)則。如幫助系統(tǒng) (Help System) 中“Setup Tab/Editors Group/(Setup Tab)/Non-Sequential Component Editor/Non-Sequential Overview/Object Placement”一節(jié)中的表述:表面物體不會與一個體積的表面共享一個邊界,除非體積表面的屬性是反射或者吸收,或者體積物體在非序列元件編輯器中位于表面物體之后(在這種情況下,共享邊界的屬性由體積物體定義)。
在本例中,物體8是空氣(表面屬性不是吸收或反射)與物體4的邊界重疊。我們可以將光闌(物體7和物體8)的位置遠離導光管1μm,使光闌的Z軸位置從50mm變?yōu)?0.001mm。
在布局圖中可以看到,超出光闌部分的光線如我們預(yù)想的一樣被阻擋。
將光線追跡至探測器
現(xiàn)在,我們放置一個探測器來進行光線追跡分析。插入一個矩形探測器?(Detector Rectangle) 作為物體9:
參考物體 (Ref Object)
-1
Z位置 (Z Position)
20
材料 (Material)
Absorb
X半寬 (X Half Width)
25
Y半寬 (Y Half Width)
6
X像元數(shù) (# X Pixels)
400
Y像元數(shù) (# Y Pixels)
100
點擊分析選項卡中的光線追跡,勾選“使用偏振?(Use Polarization)”選項,點擊清除并追跡 (Clear & Trace)。勾選“使用偏振”是為了在計算過程中考慮由表面部分反射和體吸收所造成的能量損失。正如前文所討論的,探測器上的多個橢圓形光斑是由于光線經(jīng)過不同次數(shù)的全內(nèi)反射導致的。
為了觀察外R(參數(shù)1)改變時布局圖中系統(tǒng)的變化,我們可以使用滑塊工具,在優(yōu)化選項卡中點擊滑塊,設(shè)置如下參數(shù)并點擊動畫?(Animate)。
從布局圖中可以看到系統(tǒng)隨彎曲半徑的變化而變化:
您可以改變參數(shù)外R的值然后重新追跡光線,觀察輻照度分布的變化。您也可以編寫一個簡單的ZPL宏將光線追跡到探測器并保存每個參數(shù)值對應(yīng)的探測器分析結(jié)果。如下所示輻照度根據(jù)外R參數(shù)的變化而變化的動畫就是用這樣的宏來實現(xiàn)的。

復(fù)制導光管
讓我們來創(chuàng)建另外一個完全相同的導光管,并把它放置在與第一個導光管Y軸方向的一定距離上。
在矩形探測器后,插入一個空物體,選擇物體1(高亮顯示)并在鍵盤上按住Shift鍵并同時點擊下方向鍵,同時選擇物體1至物體9。

在選中區(qū)域內(nèi)點擊鼠標右鍵并選擇復(fù)制多個物體 (Copy Objects)。

選擇物體10,再次點擊鼠標右鍵,選擇粘貼多個物體 (Paste Objects),非序列元件編輯器將如下所示:
在物體10(空物體)的參數(shù)Y位置上輸入20mm,將第二個導光管放在第一個導光管Y軸正向20mm遠的地方。同樣將物體12的參數(shù)外R的求解類型定義為拾取求解,拾取之前的矩形Torus體的參數(shù)外徑R。

現(xiàn)在,我們可以在布局圖中看到兩個距離為20mm的導光管了。
在本例中我們直接復(fù)制了一組物體,這是因為采用了相對物體參考,即在參數(shù)參考物體中使用負數(shù)來定義參考對象。如果我們使用全局參考,則我們需要非常繁瑣地更改第二個導光管中參考物體的編號。
參考文獻
OpticStudio Help System