本發(fā)明涉及無線控制技術(shù)領(lǐng)域,尤其涉及一種用于3D打印的支撐自動生成方法。
背景技術(shù):
3D打印,是當今熱門的一種快速成型技術(shù),它是一種以數(shù)字模型文件為基礎(chǔ),運用粉末狀金屬或塑料等可粘合材料,通過逐層打印的方式來構(gòu)造物體的技術(shù)。其主要加工過程是將需要打印的零件以一定的層厚進行切片分層,然后從基底開始打印,當前層都是在前一層上堆積形成的,前一層對當前層起到定位和支撐的作用。但是,當出現(xiàn)前后兩層之間的輪廓和面積發(fā)生較大的變化時,前一層的輪廓就不能給當前層提供足夠的定位和支撐作用,其將會導(dǎo)致加工失敗,這樣就需要設(shè)計一些輔助支撐結(jié)構(gòu),對后續(xù)層起定位和支撐的作用,以保證成型過程的順利實現(xiàn)。
目前,在現(xiàn)有技術(shù)中,其支撐結(jié)構(gòu)的生成方式主要有兩種,一是通過手動生成算法進行生成支撐結(jié)構(gòu):該方法是直接在三維模型設(shè)計時把需要支撐的地方人為設(shè)計上支撐,在進行切片時生成實體截面和支撐截面輪廓,然后進行打印得到模型原形及支撐件,最后將支撐件剝離掉。此方法的特點是支撐區(qū)域和支撐類型可由人工自由選擇以作優(yōu)化處理,但也有以下缺點:對模型設(shè)計人員和設(shè)備操作人員的要求較高;支撐添加效果難以保證;對已成型的模型結(jié)構(gòu)修改增加了難度與工作量。二是通過基于多邊形布爾去處的支撐算法生成支撐結(jié)構(gòu):首先對模型的STL文件進行切片處理,根據(jù)上下兩個切片層的比較-布爾運算求差,來算出支撐區(qū)域。此算法對于結(jié)構(gòu)簡單的模型還能處理,如果是模型復(fù)雜且 體積較大時卻難以計算,因為此算法某一層的支撐是通過比較該層與其上一層的差異而得到的,如果僅僅是拿該兩層來比較,就會給二維的布爾運算帶來很大的計算量,最終可能計算失敗。
技術(shù)實現(xiàn)要素:
針對上述問題,本發(fā)明的目的是提供一種用于3D打印的支撐自動生成方法,包括:
導(dǎo)入三角網(wǎng)格立體模型,該三角網(wǎng)格立體模型由一個以上三角片組成;
根據(jù)三角網(wǎng)格立體模型的坐標參數(shù),生成虛擬包圍盒,使得三角網(wǎng)格立體模型的數(shù)據(jù)均設(shè)置于虛擬包圍盒中;同時,將虛擬包圍盒均分為一個以上子包圍盒,該子包圍盒用于承載所述三角片;
選定待計算的X軸或Y軸坐標,并提取所有具有該待計算的X軸坐標或Y軸的子包圍盒;
計算所有被提取的子包圍盒中的三角片的法向與水平面之間的夾角,若一個三角片的法向與水平面之間的夾角在預(yù)定的范圍內(nèi),則將該三角片定義為需支撐三角片,并在需支撐三角片的下方沿Z軸方向生成支撐模型;
在被提取的子包圍盒中的需支撐三角片的下方均生成支撐模型后,選定下一個待計算的X軸或Y軸坐標,直到所有X軸或Y軸坐標都已被選定為止;
根據(jù)支撐模型生成支撐結(jié)構(gòu)。
進一步,所述在需支撐三角片的下方沿Z軸方向生成支撐模型之后包括:
將兩個以上的支撐模型組成支撐模型組群。
進一步,所述將兩個以上的支撐模型組成支撐模型組群之前包括:
對支撐模型組群中的支撐模型進行選定;
判斷是否需要刪除被選定的支撐模型,如需要,則對被選定的支撐模型進行刪除。
進一步,所述對支撐模型組群中的支撐模型進行選定之前包括:
對支撐模型組群中的所有支撐模型進行標記。
進一步,所述在需支撐三角片的下方沿Z軸方向生成支撐模型包括:
在虛擬包圍盒中,根據(jù)預(yù)設(shè)的支撐間距生成兩個以上相互平行的ZX面或ZY面;
在一個ZX面或ZY面中,獲取一個需支撐三角片,并計算該需支撐三角片與該ZX面或ZY面的交點;
將所述需支撐三角片中的交點進行連接,構(gòu)成多義線,并在所述多義線的下方生成支撐模型。
進一步,所述將所述需支撐三角片中的交點進行連接,構(gòu)成多義線之后包括:
獲取該多義線的坐標值,并將該多義線在Z軸上的最小值定義為基準值;
在當前的ZX面或ZY面中,在基準值之上,獲取另一個需支撐三角片。
進一步,所述三角片的法向與水平面之間的夾角在預(yù)定的范圍內(nèi)包括:
三角片的法向與水平面之間的夾角在90°+Tol到270°-Tol之間,所述Tol為30°-60°。
進一步,所述根據(jù)三角網(wǎng)格立體模型的坐標參數(shù),生成虛擬包圍盒包括:
根據(jù)三角網(wǎng)格立體模型的坐標中的最大點與最小點,生成立方體的虛擬包圍盒,且所述三角網(wǎng)格立體模型的坐標中的最大點與最小點均與 所述虛擬包圍盒的側(cè)面相切。
本發(fā)明所提供的一種用于3D打印的支撐自動生成方法,自動在其局部生成支撐,對設(shè)計人員和設(shè)備操作人員的要求不高;同時,其運算量小,適用于各種大型或復(fù)雜模型上。
附圖說明
圖1為本發(fā)明的一個實施例的工作流程示意圖;
圖2為本發(fā)明中另一個實施例的工作流程示意圖。
具體實施方式
下面結(jié)合附圖及具體實施例對本發(fā)明作進一步詳細的說明。
請參閱圖1,本發(fā)明以一個實施例提供一種用于3D打印的支撐自動生成方法,包括:
101.導(dǎo)入三角網(wǎng)格立體模型
導(dǎo)入三角網(wǎng)格立體模型,該三角網(wǎng)格立體模型由一個以上三角片組成;
102.生成虛擬包圍盒
根據(jù)三角網(wǎng)格立體模型的坐標參數(shù),生成虛擬包圍盒,使得三角網(wǎng)格立體模型的數(shù)據(jù)均設(shè)置于虛擬包圍盒中;同時,將虛擬包圍盒均分為一個以上子包圍盒,該子包圍盒用于承載所述三角片;
103.提取子包圍盒
選定待計算的X軸或Y軸坐標,并提取所有具有該待計算的X軸坐標或Y軸的子包圍盒;
104.計算三角片與水平面的夾角
計算所有被提取的子包圍盒中的三角片的法向與水平面之間的夾角,若一個三角片的法向與水平面之間的夾角在預(yù)定的范圍內(nèi),則將該 三角片定義為需支撐三角片,并在需支撐三角片的下方沿Z軸方向生成支撐結(jié)構(gòu);
105.根據(jù)坐標選定新的子包圍盒
在被提取的子包圍盒中的需支撐三角片的下方均生成支撐模型后,選定下一個待計算的X軸或Y軸坐標,直到所有X軸或Y軸坐標都已被選定為止;
106.生成支撐結(jié)構(gòu)
根據(jù)支撐模型生成支撐結(jié)構(gòu)。
請參閱圖2,本發(fā)明以另一個實施例提供一種用于3D打印的支撐自動生成方法,包括:
201.導(dǎo)入三角網(wǎng)格立體模型
導(dǎo)入三角網(wǎng)格立體模型,該三角網(wǎng)格立體模型由一個以上三角片組成;
202.生成虛擬包圍盒
根據(jù)三角網(wǎng)格立體模型的坐標中的最大點與最小點,生成立方體的虛擬包圍盒,且所述三角網(wǎng)格立體模型的坐標中的最大點與最小點均與所述虛擬包圍盒的側(cè)面相切,使得三角網(wǎng)格立體模型的數(shù)據(jù)均設(shè)置于虛擬包圍盒中;同時,將虛擬包圍盒均分為一個以上子包圍盒,該子包圍盒用于承載所述三角片;該三角片與子包圍盒存在以下關(guān)系:1.三角片全部在包圍盒中,2.三角片的一個或兩個頂點在包圍盒中,3.三角片穿過包圍,其頂點均不在包圍盒內(nèi);
203.提取子包圍盒
選定待計算的X軸或Y軸坐標,并提取所有具有該待計算的X軸坐標或Y軸的子包圍盒;例如:被選取的X軸坐標為1時,則對所有X軸坐標為1的子包圍盒進行提?。?/p>
204.計算三角片與水平面的夾角
計算所有被提取的子包圍盒中的三角片的法向與水平面之間的夾角,若一個三角片的法向與水平面之間的夾角在90°+Tol到270°-Tol之間,所述Tol為30°-60°,Tol的優(yōu)選值為:45°,則將該三角片定義為需支撐三角片;
205.生成多個平行的平面
在虛擬包圍盒中,根據(jù)最大與最小坐標值和預(yù)設(shè)的支撐間距生成兩個以上相互平行的ZX面或ZY面;當在步驟203中,其選定的是X軸坐標,那么其就生成多個相互平行的ZX面,若其選定的是Y軸坐標,那么其就生成多個相互平行的ZY面;
206.計算三角片與一個平面的交點
選定一個ZX面或ZY面,并在該ZX面或ZY面中,從被提取的子包圍盒中獲取一個需支撐三角片,并計算該需支撐三角片與該ZX面或ZY面的交點,直到所有的ZX面或ZY面均被選定過為止;
207.生成多義線
將所述需支撐三角片中的交點進行連接,構(gòu)成多義線,并在所述多義線的下方生成支撐模型;
208.重定義為Z軸基準值
獲取該多義線的坐標值中的最大值與最小值,并將該多義線在Z軸上的最小值定義為基準值;
209.判斷是否尋找到另一個需支撐三角片
在當前的ZX面或ZY面中,在基準值之上,獲取另一個需支撐三角片;即以基準值為起點,沿著Z軸向上方尋找另一個需支撐三角片,直到到達Z軸頂點;當尋找到另一個需支撐三角片時,進入步驟206計算該需支撐三角片與該ZX面或ZY面的交點;
210.判斷是否選定新的子包圍盒
在被提取的子包圍盒中的需支撐三角片的下方均生成支撐模型后, 返回步驟203選定下一個待計算的X軸或Y軸坐標,直到所有X軸或Y軸坐標都已被選定為止;
211.組成支撐模型組群
將兩個以上的支撐模型組成支撐模型組群;
212.標記支撐模型
對支撐模型組群中的所有支撐模型進行標記,如以鮮艷的色彩對支撐模型進行標記;
213.對支撐模型進行調(diào)整
對支撐模型組群中的支撐模型進行選定;
判斷用戶是否選擇刪除被選定的支撐模型,如用戶選擇需要,則對被選定的支撐模型進行刪除。
214.生成支撐結(jié)構(gòu)
根據(jù)該支撐模型組群生成支撐結(jié)構(gòu)。
以上所述,僅是本發(fā)明的實施例而已,并非對本發(fā)明作任何形式上的限制,雖然本發(fā)明已以實施例揭露如上,然而并非用以限定本發(fā)明,任何熟悉本專業(yè)的技術(shù)人員,在不脫離本發(fā)明技術(shù)方案范圍內(nèi),當可利用上述揭示的技術(shù)內(nèi)容作出些許更動或修飾為等同變化的等效實施例,但凡是未脫離本發(fā)明技術(shù)方案內(nèi)容,依據(jù)本發(fā)明的技術(shù)實質(zhì)對以上實施例所作的任何簡單修改、等同變化與修飾,均仍屬于本發(fā)明技術(shù)方案的范圍內(nèi)。