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打印中的模型分割與打包
主站蜘蛛池模板: 国产精品网址你懂的| 日本不卡视频在线| 伊伊人成亚洲综合人网7777| 亚洲AV无码不卡无码| 98精品全国免费观看视频| 久久国产精品夜色| 欧美午夜视频在线| 女同久久精品国产99国| 99精品视频在线观看免费播放| 国产免费羞羞视频| 日韩在线视频网站| 97人人做人人爽香蕉精品| 国产传媒一区二区三区四区五区| 高清不卡毛片| 少妇精品网站| 在线无码九区| 免费网站成人亚洲| 国产女人18毛片水真多1| 午夜激情婷婷| 国产麻豆精品手机在线观看| 狠狠色婷婷丁香综合久久韩国 | 国产jizz| 国产迷奸在线看| 71pao成人国产永久免费视频| 亚洲乱码视频| 不卡无码网| 最新无码专区超级碰碰碰| 女人18毛片一级毛片在线| 欧美精品成人| 97国产精品视频自在拍| 日韩不卡高清视频| 久久亚洲国产一区二区| 久久人妻系列无码一区| 久久精品国产999大香线焦| 99免费在线观看视频| 国产精品主播| 免费又爽又刺激高潮网址| 亚洲国产成人精品一二区| 国产精品开放后亚洲| 国产又粗又猛又爽| 国内精品小视频在线| 日韩欧美中文在线| 孕妇高潮太爽了在线观看免费| 亚洲人成日本在线观看| 999国产精品| 日韩欧美国产区| 亚洲日韩图片专区第1页| 欧美怡红院视频一区二区三区| 欧美日韩高清| AV在线天堂进入| 无码中文字幕乱码免费2| 91久久偷偷做嫩草影院电| 国产美女免费| 亚洲免费成人网| 亚洲国产成人无码AV在线影院L| 91啦中文字幕| 中文字幕精品一区二区三区视频| 8090成人午夜精品| 全色黄大色大片免费久久老太| 亚洲一区二区约美女探花| 亚洲综合经典在线一区二区| www.日韩三级| 国产簧片免费在线播放| 亚洲成人福利网站| 久久久噜噜噜| www精品久久| 成人国产免费| 第一页亚洲| 91麻豆精品国产91久久久久| 丰满人妻被猛烈进入无码| 又粗又硬又大又爽免费视频播放| 国产在线观看一区二区三区| 99视频全部免费| 国产亚洲精| 亚洲欧洲综合| 国产成人精品无码一区二| 九九热在线视频| 一本大道香蕉中文日本不卡高清二区 | 五月婷婷综合网| 亚洲Av激情网五月天| 日韩在线视频网| 欧美国产日本高清不卡|