ZEMAX | 如何創(chuàng)建復(fù)雜的非序列物體
這篇文章介紹了在OpticStudio中,如何不以導(dǎo)入CAD文件的方式創(chuàng)建復(fù)雜的物體。您將學(xué)習(xí)到如何通過組合多個(gè)物體來創(chuàng)建復(fù)雜的非序列物體,如何利用拾取求解類型鎖定一組物體以及在非序列元件編輯器中如何復(fù)制一組物體。
簡(jiǎn)介
在非序列模式中,用戶可以導(dǎo)入或創(chuàng)建物體來進(jìn)行光學(xué)機(jī)械組件設(shè)計(jì),當(dāng)我們關(guān)注于設(shè)計(jì)而不是分析時(shí),使用易于定義的參數(shù)化物體是較為方便的。參數(shù)化物體基于一個(gè)基本方程,該方程可以通過手動(dòng)、滑塊、宏或優(yōu)化器等方式快速修改。Opticsudio有許多內(nèi)置的參數(shù)化物體供我們使用或進(jìn)行組合。本文將展示通過組合內(nèi)置參數(shù)化物體創(chuàng)建復(fù)雜的物體,以及通過編輯器中的參數(shù)控制物體的形狀。對(duì)參數(shù)所做的任何更改都將立即反映在分析結(jié)果中,省去需要我們使用參數(shù)不同的多個(gè)模型的麻煩。
參數(shù)化的物體定義方式讓設(shè)計(jì)更簡(jiǎn)單
在OpticStudio中,多數(shù)非序列物體都是參數(shù)化的,即他們的定義依賴于某個(gè)基本的方程。例如,標(biāo)準(zhǔn)透鏡 (Standard Lens) 物體是通過如曲率半徑、圓錐系數(shù)、中心厚度等參數(shù)來定義的。這樣參數(shù)化的物體可以只通過修改非序列元件編輯器 (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ī)械件可以通過非參數(shù)化的定義方式快速導(dǎo)入。但是在設(shè)計(jì)階段,我們需要方便靈活的更改物體的參數(shù),以得到我們想要的結(jié)果。參數(shù)化的物體定義是這種情況下的理想定義方式。 在OpticStudio中,支持多種參數(shù)化的物體定義方式,并且更多新的參數(shù)化物體定義方式還會(huì)持續(xù)添加進(jìn)來。您可以在用戶手冊(cè)中找到這些物體定義方式的完整列表。此外,OpticStudio還預(yù)留有一個(gè)自定義的接口允許您定義自己的參數(shù)化物體:用戶自定義物體 (User-defined Object),它是非常強(qiáng)大的常用自定義工具。 您還可以通過組合已經(jīng)存在的多個(gè)物體來創(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ù)。 如果我們使用非參數(shù)化物體(如CAD物體)分析彎曲光管的效果,就必須創(chuàng)建許多個(gè)對(duì)應(yīng)于不同半徑的CAD文件,而使用參數(shù)化物體,我們可以在編輯器中通過參數(shù)控制物體形狀,參數(shù)更改會(huì)立刻體現(xiàn)在物體建模上,免去了我們只能使用參數(shù)確定的多個(gè)文件的麻煩。
設(shè)置系統(tǒng)基本屬性
本文示例的目的是創(chuàng)建一個(gè)90°彎曲的矩形丙烯酸樹脂導(dǎo)光管,它通常用于電路板印刷過程中,將LED(發(fā)光二極管)的光線中繼到儀器面板上,并分析當(dāng)彎曲半徑改變時(shí),導(dǎo)光管另一端的輻照度會(huì)產(chǎn)生怎樣的變化。我們還將在導(dǎo)光管中創(chuàng)建一個(gè)孔,以方便插入裝配結(jié)構(gòu)。并且在導(dǎo)光管的末端放置一個(gè)圓形孔徑,這樣儀器面板上得到的光斑則為圓形。在創(chuàng)建導(dǎo)光管后,我們將復(fù)制它,并將副本放在距它一定長(zhǎng)度的位置上。 下圖所示為我們要?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)象:

查閱用戶手冊(cè)中的非序列物體列表可以發(fā)現(xiàn),所有物體中并沒有符合我們想要的物體形狀,然而我們可以通過組合矩形體 (Rectangular Volume Object) 和矩形Torus體 (Rectangular Torus Volume Object) 來創(chuàng)建。
讓我們從頭開始,一步步創(chuàng)建這個(gè)導(dǎo)光管。
打開OpticStudio,點(diǎn)擊設(shè)置 (Setup) 選項(xiàng)卡中的非序列模式 (Non-Sequential) 新建一個(gè)非序列文件。打開系統(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è)為超過所需物體的數(shù)量,否則它將占用更多的內(nèi)存卻不會(huì)帶來額外的好處。

創(chuàng)建導(dǎo)光管主體
在非序列元件編輯器中,插入一個(gè)空物體(物體1)以及一個(gè)矩形體(物體2),如下所示。輸入如下參數(shù)定義矩形體:這里我們采用相對(duì)參考(物體-1)而非全局參考,這樣做的好處會(huì)在復(fù)制導(dǎo)光管時(shí)體現(xiàn)出來。

其他參數(shù)均為默認(rèn)設(shè)置。

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

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

在非序列元件編輯器中,插入一個(gè)矩形Torus體作為物體3,設(shè)置如下參數(shù):

其余參數(shù)均為默認(rèn)值。

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

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

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

更新3D布局圖。

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

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

根據(jù)下列參數(shù)插入第二個(gè)矩形體作為物體4:

其他參數(shù)均為默認(rèn)設(shè)置。

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

我們需要將物體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ù)如下:

其他參數(shù)均為默認(rèn)設(shè)置。

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

為了追跡光線穿過導(dǎo)光管,我們需要在物體1的左側(cè)插入一個(gè)矩形光源 (Source Rectangle) 物體,其參數(shù)設(shè)置如下所示:

其他參數(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:

其他參數(shù)均為默認(rèn)設(shè)置。
再插入一個(gè)標(biāo)準(zhǔn)面 (Standard Surface) 物體作為物體8。它代表導(dǎo)光管末端的圓形光闌,其參數(shù)如下所示:

其他參數(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è)器來進(jìn)行光線追跡分析。插入一個(gè)矩形探測(cè)器 (Detector Rectangle) 作為物體9:


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

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

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

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

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

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

選擇物體10,再次點(diǎn)擊鼠標(biāo)右鍵,選擇粘貼多個(gè)物體 (Paste Objects),非序列元件編輯器將如下所示:

現(xiàn)在,我們可以在布局圖中看到兩個(gè)距離為20mm的導(dǎo)光管了。

在本例中我們直接復(fù)制了一組物體,這是因?yàn)椴捎昧讼鄬?duì)物體參考,即在參數(shù)參考物體中使用負(fù)數(shù)來定義參考對(duì)象。如果我們使用全局參考,則我們需要非常繁瑣地更改第二個(gè)導(dǎo)光管中參考物體的編號(hào)。
參考文獻(xiàn)
OpticStudio Help System