欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種針對(duì)帶有邊界的非封閉stl模型的切片處理方法

文檔序號(hào):6632725閱讀:299來源:國知局
一種針對(duì)帶有邊界的非封閉stl模型的切片處理方法
【專利摘要】本發(fā)明公開了一種面向3D打印的針對(duì)帶有邊界的非封閉STL模型的切片處理方法。該方法包括以下步驟:提取STL模型中三角形的點(diǎn)、邊和面信息并建立其間的拓?fù)潢P(guān)系;根據(jù)邊界邊判斷規(guī)則提取所有邊界邊;對(duì)非封閉網(wǎng)格進(jìn)行分層切片處理,獲得非封閉的二維多邊形;對(duì)多邊形偏置處理后的可打印的內(nèi)外輪廓線進(jìn)行路徑優(yōu)化,以減少空行程;由切片文件輸出通用的Gcode文件,供3D打印機(jī)讀取并打印。本發(fā)明首次從邊界提取的角度提出了針對(duì)輸入為非封閉STL模型的切片方法,打破了傳統(tǒng)3D打印中只能對(duì)封閉STL模型進(jìn)行切片處理的桎梏,實(shí)現(xiàn)了對(duì)帶有邊界的非封閉STL模型切片處理,使得非封閉STL模型可以直接打印成型。
【專利說明】-種針對(duì)帶有邊界的非封閉STL模型的切片處理方法

【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及計(jì)算機(jī)集成制造領(lǐng)域,具體涉及一種針對(duì)帶有邊界的非封閉S化模型 的切片處理方法。

【背景技術(shù)】
[0002] 3D打印技術(shù)是一項(xiàng)具有前沿性、先導(dǎo)性的新興技術(shù),特別適用于小批量、個(gè)性化、 結(jié)構(gòu)復(fù)雜,原材料昂貴的生產(chǎn)制造。隨著3D打印技術(shù)的發(fā)展,傳統(tǒng)的生產(chǎn)方式和生產(chǎn)工藝 將發(fā)生深刻的變革,設(shè)計(jì)、建筑、航天、醫(yī)學(xué)、教育等行業(yè)也將受到深遠(yuǎn)的影響?!督?jīng)濟(jì)學(xué)人》 雜志2012年將3D打印技術(shù)稱為"第H次工業(yè)革命的重要標(biāo)志",認(rèn)為其是推動(dòng)新一輪工業(yè) 革命的重要契機(jī),已經(jīng)引起全世界的廣泛關(guān)注。
[0003] 烙融沉積型(pused D巧osition Modeling) H維打印技術(shù)是3D打印技術(shù)的一種, 采用離散/堆積原理,在計(jì)算機(jī)的控制下把H維模型直接制造成H維實(shí)體?;驹硎羌?熱噴頭在計(jì)算機(jī)的控制下,將熱塑性聚合物材料加熱烙化,使其在烙融狀態(tài)下從噴嘴擠 出,靠高溫?cái)D出絲材的自粘結(jié)性逐層堆積成形。其中,計(jì)算機(jī)處理的任務(wù)是:切片處理與指 令傳送。切片處理是將S化網(wǎng)格模型分層求交,W得到可W打印的二維輪廓,然后合理的規(guī) 劃打印路徑。指令傳送是把該系列動(dòng)作傳送到硬件,并提供控制其他功能的控制界面。主 流的商業(yè)化3D打印客戶端軟件,如Slic3r、Makeware等都集成了該兩大功能模塊,其中最 核也的是切片處理模塊(切片引擎),針對(duì)S化模型的切片算法則是切片處理的關(guān)鍵。
[0004] 現(xiàn)有的切片處理算法要求輸入的模型必須是封閉的H角網(wǎng)格,無法直接對(duì)非封 閉的H角網(wǎng)格進(jìn)行切片處理。然而在實(shí)際應(yīng)用中,某些通過掃描、建模、W及編輯和修改 后的模型,如布料、葉片、分割后的局部模型等都是一類帶有邊界的非封閉STUSTereo Lithogra地y)模型針對(duì)輸入為非封閉的S化模型,對(duì)其直接進(jìn)行切片處理,生成的切片文 件可實(shí)際打印,該對(duì)于推動(dòng)H維打印的普及應(yīng)用有重要意義。


【發(fā)明內(nèi)容】

[0005] 為了解決現(xiàn)有的切片處理算法限制輸入的模型必須是封閉的H角網(wǎng)格的問題,本 發(fā)明提供一種針對(duì)帶有邊界的非封閉S化模型的切片處理方法,通過邊界提取使得切片處 理可W生成非封閉的二維多邊形,并根據(jù)非封閉S化模型的成型特點(diǎn)對(duì)二維多邊形偏置處 理后的內(nèi)外輪廓線作了路徑優(yōu)化,W提高成型效率。
[0006] 本發(fā)明采取的技術(shù)方案如下:
[0007] -種針對(duì)帶有邊界的非封閉S化模型的切片處理方法,包括W下步驟:
[000引步驟1、提取STL模型中立角形面片的點(diǎn)、邊和面信息,并建立點(diǎn)、邊和面信息間的 拓?fù)潢P(guān)系;
[0009] 拓?fù)潢P(guān)系的點(diǎn)、邊和面的數(shù)據(jù)結(jié)構(gòu)組成分別為:
[0010] 點(diǎn)數(shù)據(jù)結(jié)構(gòu)包括點(diǎn)坐標(biāo)和與點(diǎn)鄰接的面的索引值;
[0011] 面數(shù)據(jù)結(jié)構(gòu)包括鄰接點(diǎn)的索引值和鄰接面的索引值;
[0012] 邊數(shù)據(jù)結(jié)構(gòu)包括邊的索引值、邊的鄰接面索引值和兩個(gè)鄰接點(diǎn)的索引值。
[0013] 步驟2、利用拓?fù)潢P(guān)系,依據(jù)邊界邊判斷規(guī)則提取出S化模型的所有邊界邊;
[0014] ①遍歷所有的H角形面片的各條邊,根據(jù)邊界邊的判斷規(guī)則,若一條邊其鄰接H 角面片的個(gè)數(shù)為1,即為邊界邊;
[0015] ②將所有提取的邊界邊按邊界邊的數(shù)據(jù)結(jié)構(gòu)形式重新存儲(chǔ)起來,W便于查找和訪 問。
[0016] 邊界提取規(guī)則為:
[0017] 設(shè)H角網(wǎng)格曲面為M = (V。Vj, "'v。),M中的任意頂點(diǎn)為Vi = (X。y。Zi),如果H 角網(wǎng)格曲面M中的某兩個(gè)頂點(diǎn)所連接的邊edge(Vi,Vj.)為某個(gè)H角面片AviVj.Vk的邊,則稱 邊edge (V。Vj)為A VfVjVk的鄰接邊。WL (V。Vj)表示所有包含邊edge (V。Vj)的H角面片 的集合。對(duì)于邊edge(v。Vj.),其鄰接H角面片的個(gè)數(shù)用|L(v。Vj.) I表示。如果一條邊所關(guān) 聯(lián)的鄰接H角形的數(shù)目為1,則該邊為邊界邊。若一條邊所關(guān)聯(lián)的鄰接H角形的數(shù)目為2, 則稱之為內(nèi)邊。同時(shí),邊界邊的2個(gè)頂點(diǎn)為邊界點(diǎn),擁有1個(gè)或兩個(gè)邊界點(diǎn)的H角形稱之為 邊界H角形。
[001引邊界提取規(guī)則的表達(dá)式為:
[0019] BoundaryEdge : (edge (V。Vj) | if: | L (V。Vj) | = 1},
[0020] 其中X。y。Zi為頂點(diǎn)Vi的坐標(biāo);V。Vj,…V。表示空間中H角網(wǎng)格模型上的點(diǎn);
[0021] 邊edge (V。Vj)為A VfVjVk的鄰接邊,L (V。Vj)表示所有包含邊edge (V。Vj)的; 角面片的集合,|L(v。Vj.) I表示其鄰接H角面片的個(gè)數(shù),若一條邊其鄰接H角面片的個(gè)數(shù) 為1,即為邊界邊。
[0022] 步驟3、對(duì)非封閉網(wǎng)格進(jìn)行分層切片處理,獲得非封閉的二維多邊形,具體包括W 下步驟:
[0023] ①根據(jù)切片精度得到模型的切片總層數(shù)n和所有的切片平面ZiQ = 1,2…n);
[0024] ②讀取S化模型的一個(gè)H角形面片,根據(jù)該H角形各點(diǎn)Z坐標(biāo)的最大值Zm"、最小 值Zmh W及切片精度,反求與H角形相交的K個(gè)切片平面Zj., 1《j《n ;
[0025] ③獲取切片平面與H角形面片相交的切片片段,為切片片段添加用于指示切片片 段頂點(diǎn)是否在邊界邊上的指示信息:讀取一個(gè)相交切片平面Zj.并計(jì)算交點(diǎn),得到一個(gè)屬于 該H角形的切片片段(切片平面與H角形面片相交的線段,需要建立片段數(shù)據(jù)結(jié)構(gòu)),為該 切片片段添加指示信息BorderFlagD根據(jù)該H角形的面片索引,查找邊界邊集合中是否 存在邊界邊屬于該H角面片。若存在,則計(jì)算是否有片段頂點(diǎn)在邊界邊上,在邊界邊上則 BorderFlag置為True,不在則置為hlse。若不存在,則BorderFlag直接置為!^ilse ;
[0026] 其中,獲取切片片段包括W下步驟:
[0027] (a)切片片段的方向D由分層方向Z和H角形的法矢N的矢量積確定:
[0028] D = ZXN
[0029] 其中,Z為分層方向,N為H角形面片的法矢;
[0030] 切片片段頂點(diǎn)依次順序連接形成二維多邊形,二維多邊形(二維多邊形輪廓線) 即為切片平面與H角網(wǎng)格模型在空間中相交后形成的一條多邊形輪廓。
[0031] 化)分層平面(切片平面)和H角形面片交點(diǎn)的計(jì)算:
[0032] P(t) = p+t(q-p), t G [0, 1] h-z
[0033] t =-
[0034] 其中,Z = h為分層平面高度,P = (Xp, y。,Zp), q = (X。,y。,z。)為;角形一條邊的 兩個(gè)頂點(diǎn),z。表示笛卡爾空間坐標(biāo)系下點(diǎn)P= (Xp,yp,Zp)的Z坐標(biāo);Zp表示笛卡爾空間坐標(biāo) 系下點(diǎn)q = (X。,y。,Z。)的Z坐標(biāo)。
[0035] 分層平面與H角形面片的交點(diǎn)為切片平面與每個(gè)H角面片的相交的點(diǎn)。
[0036] (C) H角形求交后所得切片片段的數(shù)據(jù)結(jié)構(gòu)為:
[0037] 切片片段的數(shù)據(jù)結(jié)構(gòu)包括片段起始點(diǎn)、面索引、片段是否已加入多邊形和邊界片 段標(biāo)示。
[0038] ④記錄步驟③切片片段所屬的H角形面片索引信息,遍歷獲取K個(gè)切片平面與H 角形面片的所有切片片段;如果K個(gè)切片平面與該H角面片的求交都計(jì)算完畢,則執(zhí)行下 一步;否則轉(zhuǎn)②,讀取下一個(gè)與該H角形相交的平面;
[0039] ⑥按層存儲(chǔ)切片平面與H角形面片的所有相交的切片片段;按層存儲(chǔ)該H角形面 片的所有相交切片片段,并轉(zhuǎn)①;如果所有H角形面片都求交處理完畢,則轉(zhuǎn)下一步;
[0040] ⑧遍歷所有切片片段的指示信息,獲取二維多邊形的起始連接點(diǎn);讀取第i = i + 1 層的所有切片片段(從i = 0開始),判斷該層中是否有BorderFlag為True的片段。若存 在,則取出輪廓線方向第一個(gè)BorderFlag為True的片段,并將該片段所屬H角面片置為當(dāng) 前面片;若沒有,表示該層是封閉的,取出輪廓線方向上任意一個(gè)切片片段,并將該片段所 屬H角面片置為當(dāng)前面片;
[0041] ⑦判斷鄰接面是否存在切片片段;讀取當(dāng)前面片的一個(gè)鄰接面,判斷該鄰接面是 否存在第i層的片段。若不存在,直接轉(zhuǎn)⑨;若存在,則判斷該片段是否已經(jīng)加入到多邊形 中。若已經(jīng)加入到多邊形中,則轉(zhuǎn)⑨;若沒有加入到多邊形中,則該片段加入至多邊形中,并 把該面片置為當(dāng)前面片,轉(zhuǎn)⑨;
[0042] ⑨遍歷所有鄰接面是否存在切片片段;判斷鄰接面是否遍歷完畢,若沒有遍歷完 畢,則轉(zhuǎn)⑦;若遍歷完畢,則轉(zhuǎn)下一步;
[0043] ⑨某一層切片片段的頂點(diǎn)多個(gè)成對(duì)出現(xiàn)的在邊界邊上時(shí),W指示信息為真的切 片片段所在的H角形面片為起始面片連接二維多邊形:判斷該鄰接面中片段指示信息 BorderFlag是否為True。若不為True,則執(zhí)行下一步;若為True,貝Ij判斷輪廓線方向是否 存在下一個(gè)BorderFlag = True的片段。若存在則將該片段置為當(dāng)前面片,并轉(zhuǎn)⑦;若不存 在,則執(zhí)行下一步;
[0044] ⑩遍歷所有切片層,每層形成一個(gè)二維多邊形:判斷是否遍歷完該層所有片段。若 沒有遍歷完畢,則轉(zhuǎn)⑦;若遍歷完畢,則存儲(chǔ)該層所有的非封閉多邊形或者封閉多邊形。判 斷是否i《n,若是則轉(zhuǎn)⑧,否則算法結(jié)束。
[0045] 步驟4、對(duì)多邊形偏置處理后的可打印內(nèi)外輪廓線進(jìn)行路徑優(yōu)化,W減少空行程, 方法包括W下步驟:
[0046] ①利用多邊形偏置處理庫對(duì)生成的二維的多邊形進(jìn)行多邊形偏置處理(Offset), 生成可打印的內(nèi)輪廓和外輪廓;
[0047] ②對(duì)生成的可打印的內(nèi)輪廓和外輪廓進(jìn)行路徑優(yōu)劃,其中路徑優(yōu)化的策略為:
[004引 A.同一層內(nèi)相鄰輪廓線掃描方向相反;
[0049] B.相鄰層輪廓線掃描的次序相反;
[0050] C.相鄰層同一輪廓掃描方向相反。
[0051] 步驟5、由切片文件輸出通用的Gcode文件,供3D打印機(jī)讀取并打印。
[0052] 較優(yōu)地,步驟2、邊界邊的數(shù)據(jù)結(jié)構(gòu)組成為;邊界邊的數(shù)據(jù)結(jié)構(gòu)包括;邊界邊一端 頂點(diǎn)的索引值、邊界邊另一端頂點(diǎn)的索引值、所屬面片索引。
[0053] 較優(yōu)地,步驟3的第⑥步的按層存儲(chǔ)的相交切片片段的數(shù)據(jù)結(jié)構(gòu)包括每層的片段 集合和片段與對(duì)應(yīng)的面索引。
[0054] 本發(fā)明采用了基于拓?fù)湫畔⒌那衅椒?,從邊界信息提取的角度解決了一種帶邊 界的非封閉STL模型的切片處理問題,打破了現(xiàn)有的切片處理算法只能針對(duì)封閉STL模型 切片處理的局限。本發(fā)明還從提高了成型效率的角度,采用不同于封閉S化模型的輪廓掃 描策略,針對(duì)帶邊界的非封閉S化模型的成型特點(diǎn)作了輪廓線掃描的路徑優(yōu)化。本發(fā)明既 解決了非封閉S化模型的切片處理問題,又從實(shí)際應(yīng)用角度提高了成型效率,該對(duì)于推動(dòng) H維打印的普及應(yīng)用有重要價(jià)值。
[0055] 本發(fā)明根據(jù)S化模型的邊界邊的信息,結(jié)合基于拓?fù)潢P(guān)系信息的切片方法對(duì)非封 閉網(wǎng)格進(jìn)行分層切片處理,獲得非封閉的二維多邊形;通過對(duì)S化模型分層切片,遍歷迭代 獲取所有層的切片片段,并按輪廓線方向連接每層的切片片段

【專利附圖】

【附圖說明】
[0056] 圖1是本發(fā)明一種針對(duì)帶有邊界的非封閉S化模型的切片處理方法流程示意圖;
[0057] 圖2(a)拓?fù)潢P(guān)系的點(diǎn)數(shù)據(jù)結(jié)構(gòu)示意圖;
[0058] 圖2(b)拓?fù)潢P(guān)系的面數(shù)據(jù)結(jié)構(gòu)示意圖;
[0059] 圖2(c)拓?fù)潢P(guān)系的邊數(shù)據(jù)結(jié)構(gòu)示意圖;
[0060] 圖3是描述邊界邊的數(shù)據(jù)結(jié)構(gòu)圖示;
[0061] 圖4為邊界點(diǎn)和邊界邊的示意圖;
[0062] 圖5是分層切片算法的流程圖;
[0063] 圖6是分層切片中二維多邊形生成過程的演示圖;
[0064] 圖7(a)切片平面與H角形面片相交的輪廓線的演示圖;
[0065] 圖7(b)切片平面與H角形面片相交的輪廓線方向的示意圖;
[006引圖8(a)是路徑優(yōu)化策略同一層內(nèi)順序逆序交替結(jié)合的演示圖;
[0067] 圖8化)是路徑優(yōu)化策略相鄰層的掃描結(jié)果的演示圖;
[0068] 圖9是切片處理后實(shí)際的打印測(cè)試結(jié)果展示圖;(a)為基于封閉模型打印的正面 展示圖,化)為基于封閉模型打印的反面展示圖,(C)為本發(fā)明針對(duì)帶有邊界的非封閉STL 模型的切片處理的正面展示圖;(d)為本發(fā)明帶有邊界的非封閉S化模型的切片處理的反 面展示圖。

【具體實(shí)施方式】
[0069] 下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明作進(jìn)一步詳細(xì)描述。
[0070] 下面結(jié)合附圖對(duì)本發(fā)明做進(jìn)一步說明。
[0071] 如圖1所示,一種針對(duì)帶有邊界的非封閉S化模型的切片處理方法,包括W下步 驟:
[0072] 步驟1,輸入S化模型,提取S化模型中H角形的點(diǎn)、邊和面信息并建立其間 的拓?fù)潢P(guān)系,描述拓?fù)湫畔⒌臄?shù)據(jù)結(jié)構(gòu)如圖2(a)、2化)、2(c)示;述拓?fù)潢P(guān)系的點(diǎn)、邊和 面的數(shù)據(jù)結(jié)構(gòu)組成分別為:點(diǎn)數(shù)據(jù)結(jié)構(gòu)包括點(diǎn)坐標(biāo)vedice和與點(diǎn)鄰接的面的索引值 faceIndexList ;面數(shù)據(jù)結(jié)構(gòu)包括鄰接點(diǎn)的索引值index[0]、index[l]、indexK]、和鄰 接面的索引值touching[0]、touching[l]、touching^];邊數(shù)據(jù)結(jié)構(gòu)包括邊的索引值 Edgeindex、邊的鄰接面索引值A(chǔ)d^^acenthceliO]、AdjacentFace[l]和兩個(gè)鄰接點(diǎn)的索引 值 AdjacentVertice[0]、AdjacentVertice[1]。
[0073] 拓?fù)潢P(guān)系的點(diǎn)、邊和面的數(shù)據(jù)結(jié)構(gòu)為
[0074]

【權(quán)利要求】
1. 一種針對(duì)帶有邊界的非封閉STL模型的切片處理方法,其特征在于,包括以下步驟, 步驟A1,提取STL模型中三角形面片的點(diǎn)、邊和面信息,并建立所述點(diǎn)、邊和面信息間 的拓?fù)潢P(guān)系; 步驟A2,利用所述拓?fù)潢P(guān)系,依據(jù)邊界邊判斷規(guī)則提取出STL模型的所有邊界邊; 步驟A3,根據(jù)STL模型的邊界邊的信息,結(jié)合基于拓?fù)潢P(guān)系信息的切片方法對(duì)非封閉 網(wǎng)格進(jìn)行分層切片處理,獲得非封閉的二維多邊形; 步驟A4,對(duì)所述非封閉的二維多邊形作多邊形偏置處理,得到內(nèi)輪廓線和外輪廓線,對(duì) 內(nèi)輪廓線和外輪廓線進(jìn)行路徑優(yōu)化,以減少空行程; 步驟A5、由切片文件輸出通用的打印文件,供3D打印機(jī)讀取并打印。
2. 根據(jù)權(quán)利要求1所述的一種針對(duì)帶有邊界的非封閉STL模型的切片處理方法,其特 征在于,步驟Al所述拓?fù)潢P(guān)系的點(diǎn)、邊和面的數(shù)據(jù)結(jié)構(gòu)組成分別為: 點(diǎn)數(shù)據(jù)結(jié)構(gòu)包括點(diǎn)坐標(biāo)和與所述點(diǎn)鄰接的面的索引值; 面數(shù)據(jù)結(jié)構(gòu)包括鄰接點(diǎn)的索引值和鄰接面的索引值; 邊數(shù)據(jù)結(jié)構(gòu)包括邊的索引值、邊的鄰接面索引值和兩個(gè)鄰接點(diǎn)的索引值。
3. 根據(jù)權(quán)利要求1所述的一種針對(duì)帶有邊界的非封閉STL模型的切片處理方法,其特 征在于,步驟A2所述的邊界提取規(guī)則為: 設(shè)三角網(wǎng)格曲面為M= (Vi, Vj,…vn), M中的任意頂點(diǎn)為Vi= (Xi, Yi, Zi),如果三角網(wǎng)格 曲面M中的某兩個(gè)頂點(diǎn)所連接的邊edge (Vi, Vj)為三角面片A ViVjVk的邊,貝U邊edge (Vi, Vj) 為A ViVjVk的鄰接邊;以Uvi, Vj)表示所有包含邊edge (Vi, Vj)的三角面片的集合;邊 edge (Vi, Vj)的鄰接三角面片的個(gè)數(shù)用I Uvi, Vj) I表示;如果一條邊所關(guān)聯(lián)的鄰接三角形的 數(shù)目為1,所示邊為邊界邊;若一條邊所關(guān)聯(lián)的鄰接三角形的數(shù)目為2,則為內(nèi)邊,且邊界邊 的兩個(gè)頂點(diǎn)為邊界點(diǎn),擁有一個(gè)或兩個(gè)邊界點(diǎn)的三角形面片為邊界三角形; 所述邊界判斷規(guī)則的表達(dá)式為: BoundaryEdge : {edge (Vi, Vj) |if: (L(VijVj) | = 1}; 其中Xi, yi,Zi為頂點(diǎn)Vi的坐標(biāo);Vi,',…v n表示空間中三角網(wǎng)格模型上的點(diǎn)。
4. 根據(jù)權(quán)利要求1所述的一種針對(duì)帶有邊界的非封閉STL模型的切片處理方法,其特 征在于,步驟A2具體包括以下步驟: 步驟A21、遍歷所有的三角形面片的各條邊,根據(jù)邊界邊的判斷規(guī)則,若一條邊的鄰接 三角面片的個(gè)數(shù)為1,所述邊為邊界邊; 步驟A22、將所有提取的邊界邊按邊界邊的數(shù)據(jù)結(jié)構(gòu)形式重新存儲(chǔ)起來,以便于查找和 訪問。
5. 根據(jù)權(quán)利4所述的一種針對(duì)帶有邊界的非封閉STL模型的切片處理方法,其特征在 于,步驟A22所述的邊界邊的數(shù)據(jù)結(jié)構(gòu)組成為: 邊界邊的數(shù)據(jù)結(jié)構(gòu)包括:邊界邊一端頂點(diǎn)的索引值、邊界邊另一端頂點(diǎn)的索引值、所屬 三角形面片索引。
6. 根據(jù)權(quán)利4所述的一種針對(duì)帶有邊界的非封閉STL模型的切片處理方法,其特征在 于,步驟A3具體包括以下步驟: 步驟A31、根據(jù)切片精度得到STL模型的切片總層數(shù)n和所有的切片平面Zi(i = 1,2- n); 步驟A32、讀取STL模型的一個(gè)三角形面片,根據(jù)所述三角形面片各點(diǎn)z坐標(biāo)的最大值 Zmax、最小值Zmin和切片精度,反求與三角形相交的K個(gè)切片平面I < j < n ; 步驟A33、獲取切片平面與三角形面片相交的切片片段,為切片片段添加用于指示切 片片段頂點(diǎn)是否在邊界邊上的指示信息:讀取一個(gè)切片平面\并計(jì)算切片平面與三角 形面片的交點(diǎn),得到一個(gè)屬于所述三角形面片的切片片段,為所述切片片段添加指示信 息BorderFlag;根據(jù)所述三角形面片的面片索引,查找邊界邊集合中是否存在邊界邊屬 于三角形面片;若存在,則計(jì)算是否有切片片段頂點(diǎn)在邊界邊上,在邊界邊上則指示信息 BorderFlag置為True,如果沒有切片片段頂點(diǎn)在邊界邊上,則置為False ;若邊界邊集合中 不存在邊界邊屬于三角形面片,則BorderFlag直接置為False ; 步驟A34、記錄步驟A33所述切片片段所屬的三角形面片索引信息,遍歷獲取K個(gè)切片 平面與所述三角形面片的所有切片片段:如果K個(gè)切片平面與所述三角形面片的求交都計(jì) 算完畢,則執(zhí)行步驟A35 ;否則轉(zhuǎn)步驟A32,依次讀取下一個(gè)與所述三角形面片相交的平面; 步驟A35、按層存儲(chǔ)切片平面與三角形面片的所有相交的切片片段; 步驟A36、遍歷所有切片片段的指示信息,獲取二維多邊形的起始連接點(diǎn): 每一切片層的所有切片片段,判斷每層層中是否有BorderFlag為True的切片片段;若 存在,則取出輪廓線方向第一個(gè)BorderFlag為True的切片片段,并將所述切片片段所屬三 角形面片置為當(dāng)前面片;若沒有,表示該層是封閉的,取出輪廓線方向上任意一個(gè)片段,并 將該片段所屬三角面片置為當(dāng)前面片,用于處理封閉的曲面圖形; 步驟A37、判斷鄰接面是否存在切片片段; 步驟A38、遍歷所有鄰接面是否存在切片片段; 步驟A39、某一層切片片段的頂點(diǎn)多個(gè)成對(duì)出現(xiàn)的在邊界邊上時(shí),以指示信息為真的切 片片段所在的三角形面片為起始面片連接成二維多邊形; 步驟A310、遍歷所有切片層,每層形成一個(gè)二維多邊形。
7. 根據(jù)權(quán)利6所述的一種針對(duì)帶有邊界的非封閉STL模型的切片處理方法,步驟A33 所述獲取切片片段包括以下內(nèi)容: ① 所述切片片段的方向D由分層方向Z和三角形的法矢N的矢量積確定: D = ZXN 其中,Z為分層方向,N為三角形面片的法矢; ② 切片平面和三角形面片交點(diǎn)的計(jì)算: P (t) = p+t (q-p) , t G [0, 1]
其中,Z = h為分層平面高度,p= (xp,yp,zp),q= (Xt^ytpZq)為三角形一條邊的兩個(gè) 頂點(diǎn);Zq表示笛卡爾空間坐標(biāo)系下點(diǎn)P= (Xp,yp,zp)的Z坐標(biāo);Zp表示笛卡爾空間坐標(biāo)系下 點(diǎn) q = (xq,yq,zq)的 Z 坐標(biāo); ③ 三角形求交后所得片段的數(shù)據(jù)結(jié)構(gòu): 所述片段的數(shù)據(jù)結(jié)構(gòu)包括片段起始點(diǎn)、面索引、片段是否已加入多邊形和邊界片段標(biāo) /Jn 〇
8. 根據(jù)權(quán)利6所述的一種針對(duì)帶有邊界的非封閉STL模型的切片處理方法,步驟A35 所述的切片平面與三角形面片相交的切片片段的數(shù)據(jù)結(jié)構(gòu)包括每層的片段集合和片段與 對(duì)應(yīng)的面索引。
9.根據(jù)權(quán)利1所述的一種針對(duì)帶有邊界的非封閉STL模型的切片處理方法,所述步驟 A4所述路徑優(yōu)化的策略包括: 同一層內(nèi)相鄰輪廓線掃描方向相反; 相鄰層輪廓線掃描的次序相反; 相鄰層同一輪廓掃描方向相反。
【文檔編號(hào)】G06F17/50GK104331555SQ201410605438
【公開日】2015年2月4日 申請(qǐng)日期:2014年10月31日 優(yōu)先權(quán)日:2014年10月31日
【發(fā)明者】童晶, 巢海遠(yuǎn), 張霞, 翟宇軒, 張偉林 申請(qǐng)人:河海大學(xué)常州校區(qū)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
吴旗县| 盐津县| 万荣县| 石嘴山市| 三河市| 德昌县| 外汇| 碌曲县| 聂拉木县| 水城县| 江城| 松阳县| 宜丰县| 海林市| 广州市| 肃北| 朝阳市| 本溪市| 九龙城区| 松潘县| 凉城县| 蓝山县| 张家界市| 武汉市| 青铜峡市| 山东省| 马尔康县| 平远县| 广丰县| 山西省| 平舆县| 凤山市| 平山县| 自治县| 枣阳市| 综艺| 光山县| 延安市| 江川县| 务川| 鱼台县|