999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于CuraEngine 的3D 打印模型切片算法研究*

2023-12-13 15:34:54邵乙迪張士亨李博文
科技與創新 2023年23期
關鍵詞:模型

邵乙迪,張士亨,李博文

(季華實驗室新型增材制造研究院,廣東 佛山 528000)

3D 打印技術是以三維模型數據為基礎,通過層層堆積成型的一種新型制造技術。3D 打印技術通過對CAD 軟件設計生產的三維模型進行切片處理,將三維模型“降維” 到二維輪廓,再通過相應算法對輪廓進行路徑規劃和填充,形成了打印設備能夠識別的加工數據文件,接下來設備只要根據數據文件中的位置和工藝參數等信息便可以逐層進行打印,直到零件加工完成。與傳統減材制造技術相比,3D 打印能夠通過三維模型數據直接進行生產制造,無須像傳統加工制造那樣將模型通過人工轉化加工圖紙,節省了零件成型所需的模具加工成本,簡化了零件的加工過程,也突破了傳統加工制造方式對設計的約束,能夠成型拓撲結構復雜的構件,是未來智能制造必不可少的技術之一[1]。3D 打印原理如圖1 所示。

圖1 3D 打印原理

3D 打印技術的核心之一就是對三維模型的加工處理技術,它決定了3D 打印的成型效率和零件的力學性能。這些技術一般作為算法的形式集成到設備或者軟件中,從而實現完全自動化處理。隨著3D 打印技術的迅速發展,3D 打印也越來越普及,所需成型的零件也越來越復雜,對算法的處理速度和準確性要求也隨之升高。其中對三維模型數據的切片處理直接關系到最終產品的成型質量和加工效率,因此很多的學者和企業對三維模型數據的切片算法有諸多研究[2]。本文以在3D 打印行業廣泛應用的開源軟件CuraEngine 為基礎,通過剖析CuraEngine 中的切片算法實現,為3D打印切片算法的改進和優化提供參考和借鑒。

1 基于STL 模型的分層切片算法

STL 文件格式是目前使用最廣泛的三維模型文件格式之一,在3D 打印行業應用廣泛,所以大部分切片算法也都是基于STL 文件開發。STL 文件主要描述了由三角面片構成的三維模型信息,STL 文件中記錄了每個三角面片的法向量和頂點數據,為三維模型的讀取和渲染提供了最基本的信息。STL 文件有2 種格式,一種為ASCⅠⅠ編碼格式,另一種為二進制格式。ASCⅠⅠ編碼格式的STL 文件可以直接通過文本進行閱讀,但是ASCⅠⅠ編碼格式會導致文件占用空間較大,所以在處理大型模型時,最好選擇二進制格式的STL 文件進行保存,以盡可能節省儲存空間且便于文件傳輸。

基于STL 模型進行分層切片的主要原理是通過選取合適的切片厚度,基于該厚度計算出各層高度,最后求得模型與各層高度相交的二維輪廓信息。這種分層操作會帶來“階梯效應”,即在一定角度的三維模型表面產生階梯狀的臺階,隨著層厚減小,“階梯效應” 會隨之減弱。因此,切片時層厚的選取與打印模型的精度密切相關,層厚越小,打印成型的零件越精細,但是打印過程的工作量和打印時長會增加。為了減少“階梯效應”,目前的切片算法可以分為2 種,一種是自適應層厚的切片算法,另一種是等層厚的切片算法。

國外有技術人員研究了自適應層高的切片算法對模型處理的影響[3];國內部分學者在等層厚的切片算法基礎之上,提出了基于面片之間拓撲信息的分層切片算法[4]、基于不同模型本身幾何特征的切片算法[5]和基于模型集合連續性的切片算法[6]。

Cura 是最早的3D 打印開源切片軟件之一,經過多年的更新與維護,目前Cura 已經成為了3D 打印行業中應用最廣泛的切片軟件之一,而CuraEngine 作為目前Cura 最新的開源切片引擎,也是經過了多年的發展和用戶的驗證。CuraEngine 主要采取了等層厚的切片算法,并通過對STL 模型進行優化處理,有效提高了切片算法的效率,接下來通過對CuraEngine 的切片算法進行分析,來探究3D 打印對三維模型的處理和分層方法。

2 STL 模型的讀取和前處理

STL 文件格式簡單,不像其他復雜的CAD 格式那樣需要多種復雜的幾何表示方法對模型進行描述,其通過保存三角面片的信息基本可以保證在加工精度范圍內準確地描述任何三維模型,但是STL 文件的缺點也很明顯。由于STL 文件中直接記錄了每個三角面片的法向量和頂點數據信息,因此造成了較多的數據冗余,因為同一個頂點信息會被共用的三角面片重復記錄。其次就是STL 文件未保存模型的拓撲信息,增加了切片的難度,也增加了修復模型拓撲錯誤的難度,所以在進行切片之前需要對STL 模型的數據進行處理,建立模型中各個點、線、面之間的拓撲關系,為切片做好準備。

如圖2 所示,將CAD 模型保存為STL 格式后,三維模型全都轉換成三角面片表示,直接讀取STL 格式文件,可以得到1 個三角面片的數據集合Mesh,每個三角面片保存了3 個頂點的坐標數據(若需要對模型進行渲染,可以同時保存面片的法向量數據,也可以通過頂點數據進行計算)。此時Mesh 集合中未包含面片和頂點的拓撲關系,數據也有冗余。

首先可以通過哈希表對所有的頂點數據進行分組。通過特定的哈希函數可以將頂點進行分類,每一個哈希值將對應一個頂點集合。接著遍歷頂點集合中的每個頂點,將每個遍歷到的頂點和對應的頂點集合中的所有點進行比較,過濾掉重復的頂點,將剩下的不重復的頂點數據保存在數組PointList 之中。利用哈希表可以大大加快處理重復頂點的時間,有效提高算法效率。同樣對三角面片進行遍歷,將其保存在數組FaceList 中,期間對每個三角面片進行處理,添加相連的三角面片在FaceList 中的下標,并保存在集合Touching 中;為每個頂點添加所在面片在FaceList 中的下標,并保存在集合FaceⅠndex 中。

這樣就對原始STL 數據進行了優化,得到了除去冗余數據的頂點數據列表(PointList)和包含拓撲關系的三角面片數據列表(FaceList)。其中每個頂點元素包含了所在三角面片的信息,每個三角面片元素也包含了相鄰三角面片的信息,這樣就有效減少了接下來切片工作的工作量,有效提高了切片的效率。

3 基于CuraEngine 的切片算法

通過對STL 模型數據的前處理,得到了擁有拓撲關系的頂點和三角面片數據,在切片過程中就可以利用這些數據形成每一層的輪廓多邊形。切片過程主要可以分為2 個部分,第一個部分是求取三角面片在切片平面內的投影線段(Segment),第二部分是通過拓撲關系將這些投影線段進行連接,形成每一層的輪廓多邊形。切片流程如圖3 所示。

在第一部分中首先根據層厚和模型起始位置計算出各個層的高度值,再對FaceList 中的各個三角面片計算其在每層高度平面的投影線段,并將投影線段保存在當前層的集合中。在對FaceList 中的三角面片進行求交運算時,可以先通過三角面片的高度值范圍對集合中的數據進行過濾,忽略不包含所求高度值的三角面片,以提高效率。

在計算三角面片的投影時,可以根據每個頂點在平面上方或者下方共枚舉出6 種情況,最后通過投影公式計算出三角面片在高度平面上的投影線段。在計算投影公式時,要注意輸入頂點的順序,因為輸入頂點的順序直接決定了投影線段的起始點和終止點的方向,從而影響到后續輪廓多邊線的方向,對于多連通區域來說,內外輪廓的方向至關重要。

得到投影線段之后,根據三角面片中保存的拓撲關系,找到每條投影線段所在三角面片的相鄰三角面片的投影線段,最后將其首尾相連就得到了該層的輪廓多邊形。對于復雜的或者有破損的STL 模型數據,有可能會得到未閉合的輪廓多邊形,這時就需要對未閉合的輪廓多邊形進行修復,通過距離檢測和長度過濾能夠修復大部分未閉合的輪廓多邊形。但是對于通用層接口文件(Common Layer Ⅰnterface,CLⅠ),可以儲存填充線段(Hatches)數據,這些數據可以表示支撐結構或者填充線段,對這些特殊的未閉合輪廓線段需要進行特殊處理。

最終將得到的層數據集合按照用戶所需的格式進行輸出,以供后續打印流程使用。

4 結論與展望

本文通過梳理CuraEngine 中的切片算法,對3D打印中的模型切片技術做了介紹。該算法的優點在于:①采用哈希表快速剔除了STL 文件中的冗余數據;②在對三角面片進行求交的過程中,剔除了與高度平面不相交的面片,避免了大量的無效判斷;③可以直接通過三角面片的相鄰關系快速找到首尾相連的輪廓線段。

但是CuraEngine 的切片算法仍有諸多可以改進之處。首先,該算法中間用來存儲數據的臨時變量較多,增加了算法的空間復雜度;其次,線性的計算流程對當下追求算法效率的行業發展來說略顯吃力,可以引入一定的多線程并行技術,這樣在處理大型復雜三維模型時會取得更好的效果;最后,在對輪廓線進行連接時仍較為復雜,可以通過對相連的面片進行一定排序,直接求出有向的邊界輪廓。

猜你喜歡
模型
一半模型
一種去中心化的域名服務本地化模型
適用于BDS-3 PPP的隨機模型
提煉模型 突破難點
函數模型及應用
p150Glued在帕金森病模型中的表達及分布
函數模型及應用
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
3D打印中的模型分割與打包
主站蜘蛛池模板: www.亚洲一区二区三区| 青青网在线国产| 操国产美女| 久久99国产乱子伦精品免| 日韩免费成人| 亚洲经典在线中文字幕| 自拍欧美亚洲| 成人国产一区二区三区| 又粗又硬又大又爽免费视频播放| 久久不卡国产精品无码| 欧美国产成人在线| 91精品伊人久久大香线蕉| 免费亚洲成人| 日韩精品成人在线| 欧美亚洲一二三区| 亚洲高清在线播放| 97人人模人人爽人人喊小说| 国产综合另类小说色区色噜噜| 久久美女精品国产精品亚洲| 国产99视频免费精品是看6| 久久夜夜视频| 国产无人区一区二区三区 | 久无码久无码av无码| 亚洲国产91人成在线| 欧美全免费aaaaaa特黄在线| 午夜在线不卡| 亚洲av无码久久无遮挡| 亚洲综合色区在线播放2019| 热久久这里是精品6免费观看| 特黄日韩免费一区二区三区| 亚洲精品无码日韩国产不卡| 五月婷婷丁香综合| 97青草最新免费精品视频| 日韩免费成人| 欧美国产日韩在线| 久久无码av三级| 久久人搡人人玩人妻精品一| 久久国产V一级毛多内射| 国产美女91视频| 精品国产免费观看| 国产女人在线视频| 日韩小视频在线播放| 欧美a级在线| 亚洲国产清纯| 91蜜芽尤物福利在线观看| 国产在线专区| 国产精品漂亮美女在线观看| 四虎影视无码永久免费观看| 91久久偷偷做嫩草影院| 日本成人不卡视频| 亚洲福利片无码最新在线播放| 国产美女免费| 永久成人无码激情视频免费| 欧美日韩国产系列在线观看| 国产视频一二三区| 99热这里只有精品免费| 亚洲成人高清在线观看| 精品人妻无码中字系列| 国产日韩欧美一区二区三区在线| 97青草最新免费精品视频| 国产美女自慰在线观看| 亚洲第一区在线| 456亚洲人成高清在线| 又爽又大又光又色的午夜视频| 国产成人高清在线精品| 国产免费精彩视频| 国产哺乳奶水91在线播放| 在线免费不卡视频| 中文字幕有乳无码| 中国一级特黄大片在线观看| 三级国产在线观看| 无码AV高清毛片中国一级毛片| 久青草免费在线视频| 青青青亚洲精品国产| 激情無極限的亚洲一区免费| av在线无码浏览| 色首页AV在线| 欧美精品啪啪一区二区三区| 极品国产在线| 欧美激情综合| 午夜欧美在线| 国产免费久久精品99re丫丫一|