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

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

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

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

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

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

在非序列元件編輯器中,插入一個(gè)矩形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ù)均為默認(rèn)值。

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

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

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

創(chuàng)建導(dǎo)光管主體:B
更新3D布局圖

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


更新的3D布局圖中,可以看到兩者已經(jīng)連接在一起。
根據(jù)下列參數(shù)插入第二個(gè)矩形體作為物體4:
參考物體 (Ref Object) : -1
材料 (Material) : Acrylic
X1半寬 (X1 Half Width) : 5
Y1半寬 (Y1 Half Width) : 5
Z長(zhǎng)度 (Z Length) : 50
X2半寬 (X2 Half Width) : 5
Y2半寬 (Y2 Half Width) : 5
其他參數(shù)均為默認(rèn)設(shè)置

在布局圖中顯示物體4的局部坐標(biāo)軸。

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

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

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

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

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

為了追跡光線穿過(guò)導(dǎo)光管,我們需要在物體1的左側(cè)插入一個(gè)矩形光源 (Source Rectangle) 物體,其參數(shù)設(shè)置如下所示:
參考物體 (Ref Object) : -5(參考于一個(gè)空物體)
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ù)均為默認(rèn)設(shè)置



其中放大的布局圖顯示了當(dāng)前圓孔邊緣處發(fā)生的全內(nèi)反射現(xiàn)象,這是因?yàn)榭變?nèi)的折射率低于矩形體的折射率。
在導(dǎo)光管末端放置光闌
為了在導(dǎo)光管末端放置一個(gè)圓形光闌,我們需要將兩個(gè)面嵌套在一起,一個(gè)是矩形體的表面(作為阻擋光闌)以及一個(gè)圓形孔徑(設(shè)置為空氣)。首先按照如下參數(shù)插入一個(gè)矩形體作為物體7:
參考物體 (Ref Object) : -3(參考于物體4)
Z位置 (Z Position) : 50
材料 (Material) : Absorb
X半寬 (X Half Width) : 5
Y半寬 (Y Half Width) : 5
其他參數(shù)均為默認(rèn)設(shè)置
再插入一個(gè)標(biāo)準(zhǔn)面 (Standard Surface) 物體作為物體8。它代表導(dǎo)光管末端的圓形光闌,其參數(shù)如下所示:
參考物體 (Ref Object) : -1
材料 (Material) : Blank(留空)
最大孔徑 (Max Aperture) : 2.5
其他參數(shù)均為默認(rèn)設(shè)置

如果此時(shí)更新布局圖,您將會(huì)看到如下提示:

并且,如果此時(shí)點(diǎn)擊分析選項(xiàng)卡中的光線追跡 (Ray Trace),您將會(huì)得到如下錯(cuò)誤提示:

在本例中,產(chǎn)生幾何錯(cuò)誤的原因是因?yàn)槲覀冞`背了一個(gè)嵌套規(guī)則。如幫助系統(tǒng) (Help System) 中“Setup Tab/Editors Group/(Setup Tab)/Non-Sequential Component Editor/Non-Sequential Overview/Object Placement”一節(jié)中的表述:表面物體不會(huì)與一個(gè)體積的表面共享一個(gè)邊界,除非體積表面的屬性是反射或者吸收,或者體積物體在非序列元件編輯器中位于表面物體之后(在這種情況下,共享邊界的屬性由體積物體定義)。 在本例中,物體8是空氣(表面屬性不是吸收或反射)與物體4的邊界重疊。我們可以將光闌(物體7和物體8)的位置遠(yuǎn)離導(dǎo)光管1μm,使光闌的Z軸位置從50mm變?yōu)?0.001mm

在布局圖中可以看到,超出光闌部分的光線如我們預(yù)想的一樣被阻擋。
將光線追跡至探測(cè)器
現(xiàn)在,我們放置一個(gè)探測(cè)器來(lái)進(jìn)行光線追跡分析。插入一個(gè)矩形探測(cè)器 (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
數(shù)據(jù)類型 (Data Type) : 0 (非相干照度)
顏色 (Color) : 0 (探測(cè)器查看器以灰度進(jìn)行顯示)

點(diǎn)擊分析選項(xiàng)卡中的光線追跡,勾選“使用偏振 (Use Polarization)”選項(xiàng),點(diǎn)擊清除并追跡 (Clear & Trace)。勾選“使用偏振”是為了在計(jì)算過(guò)程中考慮由表面部分反射和體吸收所造成的能量損失。正如前文所討論的,探測(cè)器上的多個(gè)橢圓形光斑是由于光線經(jīng)過(guò)不同次數(shù)的全內(nèi)反射導(dǎo)致的。

為了觀察外R(參數(shù)1)改變時(shí)布局圖中系統(tǒng)的變化,我們可以使用滑塊工具,在優(yōu)化選項(xiàng)卡中點(diǎn)擊滑塊,設(shè)置如下參數(shù)并點(diǎn)擊動(dòng)畫(huà) (Animate)。

從布局圖中可以看到系統(tǒng)隨彎曲半徑的變化而變化:

您可以改變參數(shù)外R的值然后重新追跡光線,觀察輻照度分布的變化。您也可以編寫(xiě)一個(gè)簡(jiǎn)單的ZPL宏將光線追跡到探測(cè)器并保存每個(gè)參數(shù)值對(duì)應(yīng)的探測(cè)器分析結(jié)果。如下所示輻照度根據(jù)外R參數(shù)的變化而變化的動(dòng)畫(huà)就是用這樣的宏來(lái)實(shí)現(xiàn)的。

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

右鍵鼠標(biāo)選擇復(fù)制對(duì)象(Copy Objects)。

選擇物體10,再次右鍵,選擇粘貼對(duì)象(Paste Objects),非序列組建編輯器將會(huì)變成如下樣子:

在物體10(空物體)Y軸位置參數(shù)上鍵入20mm,來(lái)將第二個(gè)光管放在第一個(gè)光管+Y方向上20mm遠(yuǎn)的地方。同樣將物體12外徑R的解類型定義為拾取之前的矩形環(huán)面體的外徑R。

布局圖現(xiàn)在有兩個(gè)距離為20mm的光管了。

我們?cè)诒纠胁捎昧讼鄬?duì)對(duì)象參考(relative object reference),即在物體參考參數(shù)( Ref Object )中使用負(fù)數(shù)來(lái)定義參考對(duì)象。如果我們使用絕對(duì)對(duì)象參考(absolute object referencing),我們將需要非常麻煩地為第二個(gè)光管修改參考對(duì)象的編號(hào)。
小結(jié)
本文表述了在OpticStudio非序列模式中如何嵌套體積對(duì)象和表面對(duì)象來(lái)創(chuàng)建復(fù)雜的物體。
我們得到的經(jīng)驗(yàn)有:
參數(shù)化對(duì)象應(yīng)該盡可能多地使用
用戶手冊(cè)中體積對(duì)象和表面對(duì)象的嵌套原則應(yīng)該嚴(yán)格遵守
用組合物體的方式創(chuàng)建復(fù)雜的物體是一個(gè)非常實(shí)用的方法
正確的對(duì)象參考能夠令復(fù)制一組物體變得輕松