Ansys Zemax | 如何導入CAD物體

這篇文章介紹了如何將STL、IGES、STEP和SAT等格式的CAD(計算機輔助設計,Computer Aided Design)物體導入到OpticStudio中。


CAD文件的格式一般與您所使用的CAD軟件相關,格式種類眾多,不同的格式也有各自擅長的領域。如,STL格式是利用三角形網(wǎng)格來表示三維物體的,所以,對于那些原本就是由多個平面圍成的物體來說是一個不錯的選擇,該格式也常應用于3D打印領域。IGES格式與STEP格式在不同的CAD軟件中都有良好的兼容性。在二者中做選擇時,要看它們當中哪一個的模型導出程序?qū)ξ矬w模型的表示方式更適合于您的物體模型。如果您使用基于ACIS引擎的CAD軟件,那么推薦您使用SAT格式的CAD文件。

簡介

在OpticStudio中導入CAD物體是非常重要的功能,尤其是在對復雜的光機元件進行雜散光分析時,光線會在這類光機元件上發(fā)生較為嚴重的反射和散射效應。導入CAD功能在照明系統(tǒng)中同樣重要,例如在汽車儀表盤中,光線可能會入射到一個復雜的光導管之中。OpticStudio的導入CAD物體功能非常靈活且強大,它支持多種常見的CAD文件格式。

導入CAD物體

CAD物體結(jié)構(gòu)可能十分復雜,一根光線可能會在物體中產(chǎn)生多次反射、折射或散射等相互作用。因此,我們使用非序列光線追跡來描述光線與物體之間的相互作用。在序列系統(tǒng)中,我們也可以使用混合模式來進行類似的非序列光線追跡。


OpticStudio支持四種靜態(tài)CAD文件格式:STL、IGES、STEP和SAT(如SLDPRT和ZPO這樣的動態(tài)CAD格式,不在本文的討論范圍之內(nèi))。在四者之中,只有STL格式是用小的三角形表面連接在一起,來近似表示物體模型的曲面,其它三種格式會使用平滑而連續(xù)的表面進行建模。物體上的小平面 (Facets) 只用于在屏幕上顯示。因此,在連續(xù)且光滑的CAD物體表面進行的光線追跡在CAD模型精度下是精確的,盡管我們使用小平面來繪制物體。


需要特別注意的是,雖然OpticStudio支持由實際的小平面組成的CAD物體模型,但是在多數(shù)時候,我們見到的由小平面組成的CAD物體僅僅是顯示成這樣,而光線追跡的精度仍會以實際表面的精度為準。

STL格式

STL (Stereolithography Tessellation Language) 格式在3D打印技術中應用廣泛,它能夠簡單地對常見的三維形狀進行建模。它利用三角形的鱗甲面來描述物體模型,即一系列小的三角形面拼合在一起來近似表示物體模型的表面。


您可以從參考資料1中查看有關STL格式的概述。STL文件中的每一個小三角面都是由它三個頂點的 {x,y,z} 坐標以及表面法向量來定義的。下面是STL格式的示例文件的前幾行代碼,它由AutoCAD軟件生成:


solid AutoCAD


facet normal 0.0000000e+000 0.0000000e+000 1.0000000e+000


outer loop


vertex 6.0000000e+000 4.0000000e+000 6.0000000e+000


vertex 6.0000000e+000 6.0000000e+000 6.0000000e+000


vertex 4.0000000e+000 6.0000000e+000 6.0000000e+000


endloop


endfacet


facet normal 0.0000000e+000 0.0000000e+000 1.0000000e+000


outer loop


vertex 6.0000000e+000 4.0000000e+000 6.0000000e+000


vertex 4.0000000e+000 6.0000000e+000 6.0000000e+000


vertex 4.0000000e+000 4.0000000e+000 6.0000000e+000


endloop


endfacet


(需要注意,OpticStudio會同時導入STL格式的ASCII版本和二進制版本)STL格式的小平面特性決定了它非常適用于建模反射鏡和棱鏡。然而它不擅長表示光滑的曲面,這是因為使用小三角形鱗甲面來表示曲面的方式會降低光線追跡的精度。


STL格式的CAD物體需要使用物體類型“CAD零件:STL (CAD Part: STL)”進行導入。后綴名為 .stl的文件必須保存在Zemax根目錄下的objects文件夾中的CAD Files文件夾下。



當導入完成后,您可以像設置其他物體位置那樣來設置CAD物體的位置。


如下圖所示,我們可以用STL格式精準地模擬由多個平面構(gòu)成的棱鏡,但對于球體來說,STL格式只能近似地模擬。



球面是由三角形網(wǎng)格模擬形成的:



在本例中,屏幕上顯示的小平面就是實際從STL物體文件中生成的,并且光線會直接與這些小平面接觸。

IGES 格式

IGES (The Initial Graphics Exchange Specification) 是美國的國標格式,建立這一格式的初衷是在不同CAD軟件之間實現(xiàn)便利的數(shù)據(jù)傳輸。


IGES物體需要保存在Zemax根目錄下的objects文件夾中的CAD Files文件夾下,并且需要使用物體類型“CAD零件:STEP/IGES/SAT (CAD Part: STEP/IGES/SAT)”進行導入。



下圖所示物體是由SoildWorks軟件導出的IGES格式模型:



現(xiàn)在,Solidworks輸出這個物體的格式是任意的,很可能是NURBS格式(請參閱參考資料3),在屏幕中物體是通過小平面來顯示的,而實際的IGES物體的結(jié)構(gòu)更加復雜:



需要注意的是,OpticStudio使用這些小平面只有一個原因:僅用于在屏幕上繪制物體。IGES格式的物體在內(nèi)部計算時仍會采用光滑且精確的物體模型,而不是采用像STL物體那樣的小平面。

STEP 格式

STEP (Standard for the Exchange of Product Model Data) 是一個綜合的ISO標準 (ISO10303) 格式,它用來描述如何表示和交換數(shù)字產(chǎn)品的信息。


對于OpticStudio的用戶來說,選擇IGES格式還是STEP格式都沒有任何問題。OpticStudio可以很好地處理這兩種格式。因此在選擇格式時,您可以根據(jù)CAD軟件導出模型的質(zhì)量來決定。IGES是較舊的格式,一些CAD的供應商會使用他們自己的導出程序,因此根據(jù)供應商不同,數(shù)據(jù)可能存在少許偏差。而STEP格式則較新,大多數(shù)CAD供應商都會使用像Step Tools這樣的內(nèi)置庫程序進行導出,因此CAD文件在STEP格式進行數(shù)據(jù)交換時能夠保持更好的一致性。


在OpticStudio中,STEP格式物體導入的方法與IGES格式物體的方法完全相同。

SAT 格式

SAT格式是Spatial Technologies公司采用ACIS (Andy CharlesIan’s System) 幾何建模引擎開發(fā)出來的。它可以直接表示ACIS建模引擎的內(nèi)部數(shù)據(jù)結(jié)構(gòu)。也就是說,當您在一個以ACIS為基礎的CAD軟件中加載SAT格式的文件時,軟件不會對這個文件進行編譯,而是直接使用文件中的數(shù)據(jù)。因此,SAT格式本質(zhì)上不是一個用于CAD數(shù)據(jù)交換的格式,它本身就是一個CAD格式。


所以如果您使用基于ACIS的CAD軟件,那么您可能會使用到SAT格式的文件,否則您可能不會接觸到SAT格式的文件。此外,SAT格式文件可以平滑且連續(xù)的表示物體,其導入OpticStudio的方法也與導入IGES文件相同

調(diào)整CAD物體的屬性和參數(shù)

您可以在非序列元件編輯器的參數(shù)數(shù)據(jù)表格或物體的屬性窗口中修改和控制已導入CAD物體的屬性和參數(shù)。這些操作適用于上文提到的全部四種CAD文件格式。



可修改的屬性和參數(shù)有:


材料 (Material):每個物體僅能定義一種材料。比如,這個咖啡壺是由玻璃罐、塑料蓋、塑料手柄、將手柄與罐身連接的鋁環(huán),以及將手柄與鋁環(huán)固定的金屬螺絲組成。如果想導入這樣一個咖啡壺整體,則需要在CAD軟件分別導出這些零件的CAD文件,再把這些文件分別導入到OpticStudio中;或者,可以分解導入的物體,再單獨賦予每個子物體相應的光學特性。分離的子物體可以以一個主物體為基準,采用相對參考的方式來確定它們與主物體之間的位置關系,以便整個咖啡壺能夠作為一個整體來一起進行移動或旋轉(zhuǎn)。


縮放 (Scale):這是一個無量綱的參數(shù),您可以利用這個參數(shù)對物體尺寸進行縮放。


模式 (Mode):它用來調(diào)整模型建立的時間與光線追跡的速度。如果模式參數(shù)為1,則表示模型建立的時間短但模型的光線追跡速度慢;如果參數(shù)值為2,則表示模型建立的時間中等且模型光線追跡的速度也屬于中等水平;如果參數(shù)值為3,則表示模型建立時間較慢但模型的光線追跡速度較快。一般情況下,在OpticStudio中建立光學系統(tǒng)時使用模式1,而在進行大量光線追跡時使用模式3。需要注意的是,不同的模式只會影響光線追跡的速度和物體初始加載的時間,并不會影響光線追跡的精度。


X,Y和Z像元數(shù) (X, Y, Z Voxels):該參數(shù)用來表示使用多少個體元來表示所定義物體的不可見的邊界。體元技術允許通過在給定的體元數(shù)量下,預先計算物體或物體的一部分,以實現(xiàn)光線的快速追跡。進入一個體元空間的光線只可能與所有體元的一個子集相交;因此只需要判斷這些子集體元上是否發(fā)生了光線與物體的相交即可。像元數(shù)越大,則模型的建立時間越長,但光線追跡的速度越快。通常情況下需要實驗幾次才能確定合適的像元數(shù)。需要注意的是,像元數(shù)會影響光線追跡的速度和以及建立物體所需的內(nèi)存,但同樣不會影響光線追跡的精度。


分解文件? (Explode?):該參數(shù)表示CAD零件是否已被分解。這個參數(shù)是OpticStudio用來表示分解狀態(tài)的,不需要用戶進行設置。如果您想要分解一個CAD物體,可以選擇非序列元件編輯器工具欄上的CAD > 分解CAD裝配體文件 (Explode CAD Assembly) 來實現(xiàn)。


弦公差 (Chord Tolerance):該選項位于物體屬性 (Object Properties) 中的CAD標簽中,它只影響物體在布局圖中的渲染效果。OpticStudio在渲染物體時,會將物體表面近似表示為多個三角形的鱗甲面,弦公差表示三角形鱗甲面上的點與物體真正的表面之間所允許的最大偏差距離。如果把這個值改小,則會添加更多的三角形面來精細地表示物體表面,但會降低渲染的速度并占用更多內(nèi)存。如果該值保持默認值0,則OpticStudio會自動根據(jù)物體的尺寸選擇一個合適的弦公差,以快速地渲染物體的形狀。同樣的,弦公差的值不會影響光線追跡的計算精度。

光線追跡的精度與速度

所要導入的物體是由多個平面構(gòu)成時,推薦使用STL格式,而所要導入的物體由光滑連續(xù)的表面組成時,推薦使用IGES、STEP和SAT格式。


并不是所有類型的表面形狀使用CAD文件格式(例如IGES、SAT、STEP)都可以得到足夠的光線追跡精度。對于平面、球體和圓柱體來說,在正確設置的情況下使用CAD格式可以具有很高的光線追跡精度。然而對于高階的面型來說,CAD格式通常無法高精度地表示這些表面。


例如,對于一個具有r的十六階項的非球面來說,CAD格式的文件無法準確地對該表面進行描述。在這種情況下,CAD軟件一般會使用一條分段的曲線進行近似擬合,這是一個使用多個低階曲線進行分段擬合的方法。一般使用多個三階或四階多項式所對曲面進行近似描述。這樣做的精度對于機械設計來說是足夠的,但是當進行光線追跡需要曲面精確度在亞波長量級的情況,這樣的低階多項式精度是遠遠不夠的。


這個問題通常出現(xiàn)在我們在OpticStudio中進行高光學精度的表面建模后,使用CAD文件導出該表面,然后再重新導入該CAD文件進行光線追跡的情況。例如,當OpticStudio將內(nèi)置的非球面以CAD樣條曲線的形式導出時,零件的光學精度就會損失。


對于非成像系統(tǒng)中光學元件,以及對機械元件進行雜散光分析時,CAD文件的精度一般滿足需求。然而對于成像系統(tǒng)來說,我們需要格外注意導入的CAD零件是否能足夠準確地表示您想要的面型。需要注意的是,OpticStudio在進行內(nèi)部光線追跡時的精度大約在1E-12量級,而CAD物體的精度則要低多個數(shù)量級。


對于球面透鏡這樣的簡單物體來說,如果使用CAD格式的文件導入后進行光線追跡,會比使用相同的OpticStudio內(nèi)置面型進行光線追跡的速度慢很多。因此通常來講,我們應盡可能使用OpticStudio的內(nèi)置面型進行建模。導入的CAD物體的光線追跡速度很大程度上取決于文件中對物體形狀的表示方法。


對于同一個物體來說,在OpticStudio所支持的CAD格式中也可能有無窮多種表示方式。例如,其中一種有效的表示方法也許只需要幾條樣條曲線就可以描述一個物體的形狀;而不太實用的表示方法則可能需要成百上千條更小的樣條曲線來模擬這個物體。雖然從機械建模的角度來看,兩種方式都是有效的,而且都能生成相同的物體,但是有龐大數(shù)量的樣條曲線表面會嚴重影響光線追跡的速度。唯一的改進的辦法是回到CAD文件中,查看有沒有更加有效的表示物體的方式。根據(jù)我們的經(jīng)驗,通過調(diào)整CAD導出程序得到不同的物體表示方法,可以使光線追跡速度或者物體尺寸產(chǎn)生幾個數(shù)量級的差異。


參考文獻

1. Beard, Tom. "Machining From STL Files." Modern Machine Shop. January 01, 1997. Accessed January 17, 2019. http://www.mmsonline.com/articles/019704.html.


2. CADEX Ltd. 2008. IGES. Accessed 2019. https://cadexchanger.com/iges.


3. Tiller, Wayne, and Les A. Piegl. 1996. The NURBS Book (Monographs in Visual Communication). Springer.


4. STEP Tools, Inc. 2019. What is STEP? http://www.steptools.com/stds/step/step_1.html.


5. Dassault Systemes. 2019. Spatial. https://www.spatial.com/. ACIS and SAT are registered trademarks of Spatial Corporation.