一種基于輪廓的3d打印物體的快速排樣方法及其裝置的制造方法
【專利摘要】本發(fā)明實施例公開了一種基于輪廓的3D打印物體的快速排樣方法及其裝置,其中,該方法包括:獲取三維模型在XOY平面的投影輪廓;獲得每個物體外輪廓多邊形的最小矩形包圍盒;對擴大矩形包圍盒集合進(jìn)行二維排樣,并填充空洞;根據(jù)排樣過程中記錄的輪廓多邊形排樣過程后的轉(zhuǎn)換矩陣對三維模型進(jìn)行相應(yīng)的轉(zhuǎn)換。在本發(fā)明實施例中,對3D打印機中的多物體模型進(jìn)行自動排樣,可以保證物體之間的分隔獨立性同時保證在盡量在3D打印基座擺放足夠多物體,且可以節(jié)省批量打印三維物體的總打印時間,適用于各種3D打印機,如FDM以及噴墨式3D打印機等。
【專利說明】
一種基于輪廓的3D打印物體的快速排樣方法及其裝置
技術(shù)領(lǐng)域
[0001] 本發(fā)明涉及計算機圖形技術(shù)領(lǐng)域,尤其涉及一種基于輪廓的3D打印物體的快速排 樣方法及其裝置。
【背景技術(shù)】
[0002] 近年來,3D打印業(yè)界進(jìn)入了高度活躍區(qū),與3D打印相關(guān)的新聞和概念頻頻出現(xiàn)在 公眾視野中。在3D打印產(chǎn)業(yè)化的過程中,出現(xiàn)了各種各樣不同種類不同尺寸的3D打印機,隨 著各大廠家各種類工業(yè)級3D打印機的推出,其相應(yīng)的配套軟件沒有得到同步的發(fā)展速度。 在利用工業(yè)打印機批量生產(chǎn)相應(yīng)產(chǎn)品中,考慮到3D打印機的空間的局限性,如何快速有效 的進(jìn)行3D模型的排樣,使得三維模型盡可能的快速且緊湊的排放在基座上的排樣算法研究 顯得非常重要,在噴墨式基于激光掃描等種類3D打印機打印多物體可大大節(jié)省打印時間。
[0003] 在考慮三維模型在基座的排樣方法中,由于3D打印機設(shè)計高度的限定性同時保證 多物體打印中的物體之間的獨立性,首先提出一種三維模型的精確輪廓多邊形提取方法, 而在二維不規(guī)則多邊形排樣優(yōu)化中已有許多不同的排樣方法,在不進(jìn)行轉(zhuǎn)化的情況下大致 有啟發(fā)式策略和智能優(yōu)化方法兩種,還有一些利用數(shù)學(xué)優(yōu)化理論指導(dǎo)排樣過程,在排樣過 程中幾何計算基礎(chǔ)便是計算一個任意多邊形的NFP,在排樣過程需大量計算NFP,然而一個 大量的NFP計算非常耗時,在實際的工業(yè)應(yīng)用實時性不足,另一個計算任意多邊形的NFP缺 乏非常健壯的算法,主要有移動碰撞法,凹多邊形凸化分割方法,以及明可夫斯基矢量和 法,這些方法有其對應(yīng)的一些局限性。故在進(jìn)行輪廓多邊形的排樣過程考慮將二維不規(guī)則 多邊形進(jìn)行轉(zhuǎn)化,轉(zhuǎn)化為相應(yīng)的輪廓矩形排樣,同時矩形排樣過程通過矩形的外圍擴充可 以保證排樣后三維物體的分隔一定距離,便于保證打印物體的獨立性。在排樣過后,同時進(jìn) 行一些空洞的快速填充,在整體上可保證工業(yè)應(yīng)用的實時性與排樣結(jié)果的有效性。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明的目的在于克服現(xiàn)有技術(shù)的不足,本發(fā)明提供了一種基于輪廓的3D打印物 體的快速排樣方法及其裝置,可以保證物體之間的分隔獨立性同時保證在盡量在3D打印基 座擺放足夠多物體,且可以節(jié)省批量打印三維物體的總打印時間。
[0005] 為了解決上述問題,本發(fā)明提出了一種基于輪廓的3D打印物體的快速排樣方法, 所述方法包括:
[0006] 獲取三維模型在X0Y平面的投影輪廓;
[0007] 獲得每個物體外輪廓多邊形的最小矩形包圍盒;
[0008] 對擴大矩形包圍盒集合進(jìn)行二維排樣,并填充空洞;
[0009] 根據(jù)排樣過程中記錄的輪廓多邊形排樣過程后的轉(zhuǎn)換矩陣對三維模型進(jìn)行相應(yīng) 的轉(zhuǎn)換。
[0010] 優(yōu)選地,所述獲取三維模型在X0Y平面的投影輪廓的步驟,包括:
[0011] 對輸入的三維模型集合進(jìn)行預(yù)處理,獲得前身三角面片和后向三角片面;
[0012] 對前向三角面片依次逐個進(jìn)行平面任意多邊形裁剪,獲得每個三維模型的嚴(yán)格輪 廓多邊形集合,同時識別內(nèi)外輪廓多邊形。
[0013] 優(yōu)選地,所述獲得每個物體外輪廓多邊形的最小矩形包圍盒的步驟,包括:
[0014] 對每個輪廓多邊形利用GRAHAM算法獲取每個多邊形的凸包;
[0015] 根據(jù)每個凸包獲取相應(yīng)的最小面積外接矩形。
[0016]優(yōu)選地,所述對擴大矩形包圍盒集合進(jìn)行二維排樣,并填充空洞的步驟,包括:
[0017] 對所有的矩形按面積進(jìn)行降序排列;
[0018] 進(jìn)行矩形的排樣;
[0019] 使用模擬退火進(jìn)行局部的優(yōu)化,保留歷史最優(yōu)解;
[0020] 對零件內(nèi)部空洞輪廓進(jìn)行空洞的填補。
[0021]優(yōu)選地,所述根據(jù)排樣過程中記錄的輪廓多邊形排樣過程后的轉(zhuǎn)換矩陣對三維模 型進(jìn)行相應(yīng)的轉(zhuǎn)換的步驟,包括:
[0022]對三維模型的輪廓的凸包和外接矩形包圍盒進(jìn)行繞點旋轉(zhuǎn)、平移。
[0023]相應(yīng)地,本發(fā)明還提供一種基于輪廓的3D打印物體的快速排樣裝置,所述裝置包 括:
[0024]輪廓獲取模塊,用于獲取三維模型在X0Y平面的投影輪廓;
[0025] 包圍盒獲取模塊,用于獲得每個物體外輪廓多邊形的最小矩形包圍盒;
[0026] 空洞填充模塊,用于對擴大矩形包圍盒集合進(jìn)行二維排樣,并填充空洞;
[0027]轉(zhuǎn)換模塊,用于根據(jù)排樣過程中記錄的輪廓多邊形排樣過程后的轉(zhuǎn)換矩陣對三維 模型進(jìn)行相應(yīng)的轉(zhuǎn)換。
[0028]優(yōu)選地,所述輪廓獲取模塊包括:
[0029]預(yù)處理單元,用于對輸入的三維模型集合進(jìn)行預(yù)處理,獲得前身三角面片和后向 三角片面;
[0030] 裁剪單元,用于對前向三角面片依次逐個進(jìn)行平面任意多邊形裁剪,獲得每個三 維模型的嚴(yán)格輪廓多邊形集合,同時識別內(nèi)外輪廓多邊形。
[0031] 優(yōu)選地,所述包圍盒獲取模塊包括:
[0032] 凸包獲取單元,用于對每個輪廓多邊形利用GRAHAM算法獲取每個多邊形的凸包;
[0033] 外接矩形獲取單元,用于根據(jù)每個凸包獲取相應(yīng)的最小面積外接矩形。
[0034]優(yōu)選地,所述空洞填充模塊包括:
[0035] 排列單元,用于對所有的矩形按面積進(jìn)行降序排列;
[0036] 排樣單元,用于進(jìn)行矩形的排樣;
[0037] 優(yōu)化單元,用于使用模擬退火進(jìn)行局部的優(yōu)化,保留歷史最優(yōu)解;
[0038] 填補單元,用于對零件內(nèi)部空洞輪廓進(jìn)行空洞的填補。
[0039] 優(yōu)選地,所述轉(zhuǎn)換模塊還用于對三維模型的輪廓的凸包和外接矩形包圍盒進(jìn)行繞 點旋轉(zhuǎn)、平移。
[0040] 在本發(fā)明實施例中,對3D打印機中的多物體模型進(jìn)行自動排樣,可以保證物體之 間的分隔獨立性同時保證在盡量在3D打印基座擺放足夠多物體,且可以節(jié)省批量打印三維 物體的總打印時間,適用于各種3D打印機,如FDM以及噴墨式3D打印機等。
【附圖說明】
[0041]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn) 有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本 發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以 根據(jù)這些附圖獲得其它的附圖。
[0042]圖1是本發(fā)明實施例的基于輪廓的3D打印物體的快速排樣方法的流程示意圖;
[0043] 圖2是本發(fā)明實施例中輪廓多邊形提取的流程示意圖;
[0044] 圖3是本發(fā)明實施例中三維模型輪廓多邊形提取的效果示意圖;
[0045] 圖4是本發(fā)明實施例中輪廓凸包排樣的流程示意圖;
[0046] 圖5是本發(fā)明實施例中輪廓凸包排樣的效果示意圖;
[0047] 圖6是本發(fā)明實施例中空洞填充的流程示意圖;
[0048] 圖7是本發(fā)明實施例中空洞填充的效果示意圖;
[0049] 圖8是本發(fā)明實施例的基于輪廓的3D打印物體的快速排樣裝置的結(jié)構(gòu)組成示意 圖。
【具體實施方式】
[0050] 下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完 整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;?本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他 實施例,都屬于本發(fā)明保護(hù)的范圍。
[0051] 圖1是本發(fā)明實施例的基于輪廓的3D打印物體的快速排樣方法的流程示意圖,如 圖1所示,該方法包括:
[0052] S1,獲取三維模型在X0Y平面的投影輪廓;
[0053] S2,獲得每個物體外輪廓多邊形的最小矩形包圍盒;
[0054] S3,對擴大矩形包圍盒集合進(jìn)行二維排樣,并填充空洞;
[0055] S4,根據(jù)排樣過程中記錄的輪廓多邊形排樣過程后的轉(zhuǎn)換矩陣對三維模型進(jìn)行相 應(yīng)的轉(zhuǎn)換。
[0056] 其中,如圖2所示,S1進(jìn)一步包括:
[0057] S11,對輸入的三維模型集合進(jìn)行預(yù)處理,獲得前身三角面片和后向三角片面;
[0058] S12,對前向三角面片依次逐個進(jìn)行平面任意多邊形裁剪,獲得每個三維模型的嚴(yán) 格輪廓多邊形集合,同時識別內(nèi)外輪廓多邊形。
[0059] 三維模型輪廓多邊形提取的效果如圖3所示。
[0060] 對輸入的三維模型集合進(jìn)行預(yù)處理,包括對STL文件格式的三維模型進(jìn)行讀入計 算AABB包圍盒的長寬高并且歸一化,用哈希表保存每個三角面片是否為前向面或后向面, 同時保存所有相應(yīng)輪廓邊所在的三角面片ID值。
[00611 STL文件格式的三維模型包括二進(jìn)制和ASCII兩種編碼格式,三維模型以三角面片 的方式存儲,存儲三角面片的法向量以及三角面片三個點的坐標(biāo),初始模型每個點的坐標(biāo) 值大小也是不定的,需要對讀入的三維模型進(jìn)行歸一化,AABB包圍盒是平行于坐標(biāo)軸包圍 三維模型的矩形包圍盒,記得三維模型的點集合為p0int_set={Pi,P2,P3,. . .,Pn},其中,Pi = (Pix,Piy,Piz)那AABB 的長寬高為H = { Pxmax-Pxmin,Pymax-Pymin,Pzmax-Pzmin },對三維模型歸一 化的過程便讓三維模型的點坐標(biāo)的值得范圍限定在(0,1)之間,即
[0063]對于模型三角面片的輪廓邊是指,若三維模型上三角面片為F,設(shè)F的法向量為N, 視線方向為E。若E ? N<0,F(xiàn)為后向面,E ? N>0,F(xiàn)為前向面。輪廓邊便是前向面和后向面相 交的邊。
[0064] 對前向三角面片依次逐個利用BALAR.VATTI提出的平面任意多邊形裁剪算法可最 終獲得每個三維模型的嚴(yán)格輪廓多邊形集合,同時識別內(nèi)外輪廓多邊形。S12包括:
[0065]獲取三維模型在X0Y平面的投影,視線方向為(0,0,1),在預(yù)處理過程中獲取的前 向面的ID,建立前向面的訪問哈希表,初始化為未訪問標(biāo)志位0,遍歷前向面集合,對當(dāng)前的 前向面和其相鄰下一個前向面;
[0066] 利用VATTI多邊形裁剪算法求得兩個前向面的并集;
[0067] 保存當(dāng)前并集多邊形,將已訪問的前向面訪問位置1,依次將下一個前向面與當(dāng)前 并集,轉(zhuǎn)上一步驟做并集操作直至前向面訪問完畢。
[0068]對于每個三維模型得到一個該三維模型的輪廓多邊形集合,根據(jù)得到多邊形的面 積大小可識別相應(yīng)內(nèi)外輪廓,面積最大的即是最大的外輪廓。
[0069] 如圖4所示,S2進(jìn)一步包括:
[0070] S21,對每個輪廓多邊形利用GRAHAM算法獲取每個多邊形的凸包;
[0071] S22,根據(jù)每個凸包獲取相應(yīng)的最小面積外接矩形。
[0072]輪廓凸包排樣的效果如圖5所示。
[0073]在S21中,設(shè)點集SHPhP^Ps,. . .,Pn},找出點集中縱坐標(biāo)最小的APi(若縱坐標(biāo) 相同,則找橫坐標(biāo)最小的點),以點PiS參照點,將Pi和點集中其他各點用直線段連接,并計 算這些線段與水平線的夾角(逆時針方向為正),按夾角大小對數(shù)據(jù)點進(jìn)行排序,如果夾角 相同,則按距離排序;設(shè)得到排序后的點序列為PhP^Ps,...,p n,依次連接所有點,得到一 個多邊形,顯然PhP^Pn是凸包邊界上的點,然后根據(jù)"凸多邊形的各頂點必在該多邊形的 任意一條邊的同一側(cè)"這一定理,刪去邊界序列中的非凸包頂點,最后得到凸包點集。
[0074] S21進(jìn)一步包括以下步驟:
[0075] 計算PjP其余數(shù)據(jù)點的的連線與水平的夾角,并按夾角排序;(夾角相同,按距離 排序)
[0076] 將排序后的頂點順次連接成一個多邊形PhP^Ps,. . .,Pn;
[0077] 循環(huán)刪除非凸頂點P,得到最終的凸多邊形。
[0078] S22進(jìn)一步包括以下步驟:
[0079] 計算PjP其余數(shù)據(jù)點的的連線與水平的夾角,并按夾角排序;(夾角相同,按距離 排序)
[0080] 將排序后的頂點順次連接成一個多邊形PhP^Ps,. . .,Pn;
[0081] 循環(huán)刪除非凸頂點P,得到最終的凸多邊形。
[0082] 如圖6所示,S3進(jìn)一步包括:
[0083] S31,對所有的矩形按面積進(jìn)行降序排列;
[0084] S32,進(jìn)行矩形的排樣;
[0085] S33,使用模擬退火進(jìn)行局部的優(yōu)化,保留歷史最優(yōu)解;
[0086] S34,對零件內(nèi)部空洞輪廓進(jìn)行空洞的填補。
[0087]空洞填充的效果如圖7所示。
[0088]在332中,記有序待排樣矩形集合為丹,內(nèi)少3,...幾,包括以下步驟:
[0089]將?:放在基座的左下角,若超出基座范圍,將其旋轉(zhuǎn)90度放置;
[0090] 將Pi (i = 2,3,. ..,n)置于基座右邊最高位置處,向下向左移動Pi,且向下移動優(yōu)先,直 至Pi無法再向下向左移動為止,計算此時目標(biāo)函數(shù)的值./ = min( t -1,, _ )z (m -2), /=! 同時將Pi旋轉(zhuǎn)90度再進(jìn)行BL放置,計算相應(yīng)的f?值,取最優(yōu)角度放置;
[0091]若?:在最右最高位置已經(jīng)無法放置,越過前一個排樣高峰后最高處轉(zhuǎn)上一步驟的 放置策略。
[0092] S33包括以下步驟:
[0093]產(chǎn)生排樣問題的初始解So,初始解可通過序號隊列{Pl,p2,p3, . . .,pn}按面積降序 排列直接產(chǎn)生;
[0094]計算初始溫度to,根據(jù)tk+1 = Atk來確定新溫度;
[0095]采用領(lǐng)域函數(shù)產(chǎn)生新序列;
[0096]計算新狀態(tài)下的目標(biāo)函數(shù)值即是當(dāng)前排樣高度和面積利用率的加權(quán)值,如果新序 列下的目標(biāo)函數(shù)值大于原序列,以概率!nin(U,((_'W 2沁"丨]來決定當(dāng)前序 列是否更新,保留歷史最優(yōu)解;
[0097] 達(dá)到一定時間,終止算法。
[0098] S34包括以下步驟:
[0099]計算已排樣物體的所有凸多邊形內(nèi)輪廓,計算重心;
[0100]將未排樣物體的凸包計算重心,平移至已有凸多邊形內(nèi)輪廓,取面積占比率最高 的位置放置;
[0101] 依次直到所有位置填充。
[0102] S4具體包括:
[0103] 對三維模型的輪廓的凸包和外接矩形包圍盒進(jìn)行繞點旋轉(zhuǎn)、平移,進(jìn)一步地,對二 維平面上的點進(jìn)行平移,繞點旋轉(zhuǎn)等操作,對應(yīng)相應(yīng)的三維模型是平移和繞軸旋轉(zhuǎn)操作。
[0104] 在平移過程中,平移矩陣為: q p q卜〕f-'.+q r.xx| 「 y 9 1 0 tv y y
[0105] 、= n h 1 / ~ = T(txytvjz) z 0 0 1 t_ -z z + 4 ' z vi J l〇 〇: 〇: iJbJ l i j li ,
[0106] 同樣的,繞x,y,z軸旋轉(zhuǎn)的矩陣為: fl 0 0 0、 I 0 cos(<9) -sin(^) 0
[0107] RW) = x 0: sm(6?) cos(6?) 0 U 0 0 ly cos(^) 0 ski(S) 0、 r n ^ 0 1 Q 0
[0108] RVW) = -sin(0) 0 eos(0) 0 、0 0 0 I, ^cos(^) -sin(03 0 sin(6?) ms(0 0 0
[0109] R-(〇)= w L 」- 0 0 1 0 、0 〇 Q 1,
[0110] 繞任意軸旋轉(zhuǎn)的的變換矩陣為:
[0111] Rab(0)=r1(-Xa,-ya,-Za)Rx_1(a)Ry _1(P)Rz(0)Ry(P)Rx(a)T(-Xa,-ya,-Za)
[0112] 相應(yīng)地,本發(fā)明實施例還提供一種基于輪廓的3D打印物體的快速排樣裝置,如圖8 所示,該裝置包括:
[0113]輪廓獲取模塊1,用于獲取三維模型在X0Y平面的投影輪廓;
[0114] 包圍盒獲取模塊2,用于獲得每個物體外輪廓多邊形的最小矩形包圍盒;
[0115] 空洞填充模塊3,用于對擴大矩形包圍盒集合進(jìn)行二維排樣,并填充空洞;
[0116]轉(zhuǎn)換模塊4,用于根據(jù)排樣過程中記錄的輪廓多邊形排樣過程后的轉(zhuǎn)換矩陣對三 維模型進(jìn)行相應(yīng)的轉(zhuǎn)換。
[0117]進(jìn)一步地,輪廓獲取模塊1包括:
[0118]預(yù)處理單元,用于對輸入的三維模型集合進(jìn)行預(yù)處理,獲得前身三角面片和后向 三角片面;
[0119]裁剪單元,用于對前向三角面片依次逐個進(jìn)行平面任意多邊形裁剪,獲得每個三 維模型的嚴(yán)格輪廓多邊形集合,同時識別內(nèi)外輪廓多邊形。
[0120] 包圍盒獲取模塊2包括:
[0121] 凸包獲取單元,用于對每個輪廓多邊形利用GRAHAM算法獲取每個多邊形的凸包;
[0122] 外接矩形獲取單元,用于根據(jù)每個凸包獲取相應(yīng)的最小面積外接矩形。
[0123] 空洞填充模塊3包括:
[0124] 排列單元,用于對所有的矩形按面積進(jìn)行降序排列;
[0125] 排樣單元,用于進(jìn)行矩形的排樣;
[0126] 優(yōu)化單元,用于使用模擬退火進(jìn)行局部的優(yōu)化,保留歷史最優(yōu)解;
[0127] 填補單元,用于對零件內(nèi)部空洞輪廓進(jìn)行空洞的填補。
[0128] 轉(zhuǎn)換模塊4還用于對三維模型的輪廓的凸包和外接矩形包圍盒進(jìn)行繞點旋轉(zhuǎn)、平 移。
[0129] 本發(fā)明的裝置實施例中各功能模塊的功能可參見本發(fā)明方法實施例中的流程處 理,這里不再贅述。
[0130]在本發(fā)明實施例中,對3D打印機中的多物體模型進(jìn)行自動排樣,可以保證物體之 間的分隔獨立性同時保證在盡量在3D打印基座擺放足夠多物體,且可以節(jié)省批量打印三維 物體的總打印時間,適用于各種3D打印機,如FDM以及噴墨式3D打印機等。
[0131] 本領(lǐng)域普通技術(shù)人員可以理解上述實施例的各種方法中的全部或部分步驟是可 以通過程序來指令相關(guān)的硬件來完成,該程序可以存儲于一計算機可讀存儲介質(zhì)中,存儲 介質(zhì)可以包括:只讀存儲器(R〇M,Read Only Memory)、隨機存取存儲器(RAM,Random Access Memory)、磁盤或光盤等。
[0132] 另外,以上對本發(fā)明實施例所提供的基于輪廓的3D打印物體的快速排樣方法及其 裝置進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個例對本發(fā)明的原理及實施方式進(jìn)行了闡述,以 上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領(lǐng)域的一般 技術(shù)人員,依據(jù)本發(fā)明的思想,在【具體實施方式】及應(yīng)用范圍上均會有改變之處,綜上所述, 本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。
【主權(quán)項】
1. 一種基于輪廓的3D打印物體的快速排樣方法,其特征在于,所述方法包括: 獲取三維模型在XOY平面的投影輪廓; 獲得每個物體外輪廓多邊形的最小矩形包圍盒; 對擴大矩形包圍盒集合進(jìn)行二維排樣,并填充空洞; 根據(jù)排樣過程中記錄的輪廓多邊形排樣過程后的轉(zhuǎn)換矩陣對三維模型進(jìn)行相應(yīng)的轉(zhuǎn) 換。2. 如權(quán)利要求1所述的基于輪廓的3D打印物體的快速排樣方法,其特征在于,所述獲取 三維模型在XOY平面的投影輪廓的步驟,包括: 對輸入的三維模型集合進(jìn)行預(yù)處理,獲得前身三角面片和后向三角片面; 對前向三角面片依次逐個進(jìn)行平面任意多邊形裁剪,獲得每個三維模型的嚴(yán)格輪廓多 邊形集合,同時識別內(nèi)外輪廓多邊形。3. 如權(quán)利要求1所述的基于輪廓的3D打印物體的快速排樣方法,其特征在于,所述獲得 每個物體外輪廓多邊形的最小矩形包圍盒的步驟,包括: 對每個輪廓多邊形利用GRAHAM算法獲取每個多邊形的凸包; 根據(jù)每個凸包獲取相應(yīng)的最小面積外接矩形。4. 如權(quán)利要求1所述的基于輪廓的3D打印物體的快速排樣方法其特征在于,所述對擴 大矩形包圍盒集合進(jìn)行二維排樣,并填充空洞的步驟,包括: 對所有的矩形按面積進(jìn)行降序排列; 進(jìn)行矩形的排樣; 使用模擬退火進(jìn)行局部的優(yōu)化,保留歷史最優(yōu)解; 對零件內(nèi)部空洞輪廓進(jìn)行空洞的填補。5. 如權(quán)利要求1所述的基于輪廓的3D打印物體的快速排樣方法,其特征在于,所述根據(jù) 排樣過程中記錄的輪廓多邊形排樣過程后的轉(zhuǎn)換矩陣對三維模型進(jìn)行相應(yīng)的轉(zhuǎn)換的步驟, 包括: 對三維模型的輪廓的凸包和外接矩形包圍盒進(jìn)行繞點旋轉(zhuǎn)、平移。6. -種基于輪廓的3D打印物體的快速排樣裝置,其特征在于,所述裝置包括: 輪廓獲取模塊,用于獲取三維模型在XOY平面的投影輪廓; 包圍盒獲取模塊,用于獲得每個物體外輪廓多邊形的最小矩形包圍盒; 空洞填充模塊,用于對擴大矩形包圍盒集合進(jìn)行二維排樣,并填充空洞; 轉(zhuǎn)換模塊,用于根據(jù)排樣過程中記錄的輪廓多邊形排樣過程后的轉(zhuǎn)換矩陣對三維模型 進(jìn)行相應(yīng)的轉(zhuǎn)換。7. 如權(quán)利要求6所述的基于輪廓的3D打印物體的快速排樣裝置,其特征在于,所述輪廓 獲取模塊包括: 預(yù)處理單元,用于對輸入的三維模型集合進(jìn)行預(yù)處理,獲得前身三角面片和后向三角 片面; 裁剪單元,用于對前向三角面片依次逐個進(jìn)行平面任意多邊形裁剪,獲得每個三維模 型的嚴(yán)格輪廓多邊形集合,同時識別內(nèi)外輪廓多邊形。8. 如權(quán)利要求6所述的基于輪廓的3D打印物體的快速排樣裝置,其特征在于,所述包圍 盒獲取模塊包括: 凸包獲取單元,用于對每個輪廓多邊形利用GRAHAM算法獲取每個多邊形的凸包; 外接矩形獲取單元,用于根據(jù)每個凸包獲取相應(yīng)的最小面積外接矩形。9. 如權(quán)利要求6所述的基于輪廓的3D打印物體的快速排樣裝置,其特征在于,所述空洞 填充模塊包括: 排列單元,用于對所有的矩形按面積進(jìn)行降序排列; 排樣單元,用于進(jìn)行矩形的排樣; 優(yōu)化單元,用于使用模擬退火進(jìn)行局部的優(yōu)化,保留歷史最優(yōu)解; 填補單元,用于對零件內(nèi)部空洞輪廓進(jìn)行空洞的填補。10. 如權(quán)利要求6所述的基于輪廓的3D打印物體的快速排樣裝置,其特征在于,所述轉(zhuǎn) 換模塊還用于對三維模型的輪廓的凸包和外接矩形包圍盒進(jìn)行繞點旋轉(zhuǎn)、平移。
【文檔編號】G06T17/10GK105931296SQ201610242407
【公開日】2016年9月7日
【申請日】2016年4月19日
【發(fā)明人】周凡, 林格, 謝功海
【申請人】中山大學(xué)