国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

快速成型中基于零件裝配要求的分段分層算法

2014-03-21 05:04王春香郝志博
圖學(xué)學(xué)報(bào) 2014年4期
關(guān)鍵詞:對(duì)模型面片分段

王春香,郝志博

(內(nèi)蒙古科技大學(xué)機(jī)械學(xué)院,內(nèi)蒙古 包頭 014010)

1 基于STL模型分層算法的研究現(xiàn)狀

STL模型的分層主要有:基于STL模型的等厚分層和基于STL模型的自適應(yīng)分層。

現(xiàn)在對(duì)于STL模型的等厚分層主要有3種方法:①基于三角形面片幾何特征的分層處理方法;②基于拓?fù)湫畔⒌姆謱犹幚矸椒?;③基于STL模型的局部拓?fù)湫畔⒌姆謱犹幚矸椒ā?/p>

基于三角形面片幾何特征的分層處理方法是將三角形面片按照頂點(diǎn)坐標(biāo)值將三角形面片進(jìn)行分類(lèi)分級(jí)排序求交,進(jìn)而減少分層切平面與三角形面片求交的判斷次數(shù),提高分層效率;基于拓?fù)湫畔⒌姆謱犹幚矸椒ㄊ紫葘?duì)STL模型建立整體的拓?fù)湫畔?,使散亂的三角形面片具有毗鄰關(guān)系,當(dāng)分層切平面與其中一個(gè)三角形面片相切時(shí),便可以根據(jù)三角形面片之間的毗鄰關(guān)系查找所有與其相切的三角形面片,直到與初次相切的三角形面片相交,完成一次求交過(guò)程,通過(guò)建立STL模型整體拓?fù)湫畔⑻岣叱晒λ阉魅切蚊嫫男?,進(jìn)而提高分層效率;基于STL模型的局部拓?fù)湫畔⒌姆謱犹幚矸椒ㄊ菍?duì)上面兩種方法的綜合利用,首先對(duì)STL模型分組排序,然后動(dòng)態(tài)建立局部的拓?fù)湫畔?,該方法較大地提高了搜索三角形面片的效率,而且降低了內(nèi)存使用率[1-6]。

STL模型等厚分層雖然能夠快速分層,但由于階梯誤差的存在使得其在精度與效率兩個(gè)方面很難協(xié)調(diào)。因此,許多學(xué)者提出了STL模型的自適應(yīng)分層,用以使快速成型設(shè)備在提高效率的同時(shí)保證制造精度。

STL模型的自適應(yīng)分層處理方法主要有3種:①基于面積法的自適應(yīng)分層;②基于曲率的自適應(yīng)分層;③基于法矢量的自適應(yīng)分層。

基于面積法的自適應(yīng)分層處理方法將相鄰的兩個(gè)層面的面積進(jìn)行對(duì)比,根據(jù)面積比率值與給定值進(jìn)行比較,當(dāng)比值大于給定值時(shí)將下一層的層厚減小,當(dāng)比值小于給定值時(shí)將下一層厚增大,這樣依次循環(huán)直到模型頂端為止;基于曲率的自適應(yīng)分層處理方法,根據(jù)當(dāng)前層點(diǎn)的曲率與尖端高度之間的幾何關(guān)系來(lái)確定當(dāng)前的層厚;基于法矢量的自適應(yīng)分層處理方法,由于STL文件不僅儲(chǔ)存三角形面片的三個(gè)頂點(diǎn)坐標(biāo)信息而且儲(chǔ)存每一個(gè)三角形面片的法矢量信息,故分層厚度值可依據(jù)三角形面片法矢量與分層方向的夾角和尖端高度值之間的關(guān)系來(lái)確定[7-9]。

2 分層算法的改進(jìn)

等厚分層是按照一定厚度對(duì)模型進(jìn)行分層,自適應(yīng)分層是按照一定條件進(jìn)行等精度的分層,等厚分層算法雖然可以提高分層效率,但是當(dāng)STL模型形狀變化復(fù)雜時(shí)會(huì)造成明顯的階梯效應(yīng);而自適應(yīng)分層算法的提出較大地減輕了階梯效應(yīng),但是不能滿足模型各部位功能裝配要求。如果模型的不同部位要求的精度不同時(shí),這兩種方法只能按照精度較高的部位對(duì)模型進(jìn)行整體分層或者是將模型進(jìn)行分部位加工最后再進(jìn)行黏合加工,造成加工效率的大幅降低;當(dāng)模型存在尖端部位時(shí),無(wú)論是等厚分層還是自適應(yīng)分層如果加大分層厚度會(huì)導(dǎo)致該尖端部位的丟失,如果減小分層厚度會(huì)導(dǎo)致零件制造時(shí)間大幅度增加。本文基于這種情況,提出一種分段分層算法:按照不同精度要求對(duì)模型不同部位進(jìn)行分段等厚分層;當(dāng)模型存在尖端部位時(shí),在該部位進(jìn)行較小厚度分層,而在其他部位依然按照精度要求分層,這不僅保留了模型的局部特征,而且能夠滿足模型的某些部位的功能要求,更可觀的是當(dāng)模型超出快速成型設(shè)備的加工范圍時(shí),算法還可以按部位依次對(duì)模型進(jìn)行實(shí)體加工[10]。

2.1 算法實(shí)現(xiàn)

STL模型是三維實(shí)體經(jīng)過(guò)三角形網(wǎng)格化后得到以三角形面片3個(gè)頂點(diǎn)坐標(biāo)和其法向量坐標(biāo)為基礎(chǔ)的文件格式。其表現(xiàn)形式如下:

本文算法對(duì)模型數(shù)據(jù)提取時(shí),只提取表征該三角形面片位置信息的坐標(biāo)數(shù)據(jù),儲(chǔ)存在一個(gè)區(qū)域內(nèi)。各個(gè)三角形面片組成一個(gè)大的數(shù)據(jù)區(qū)域,即完成STL模型全部關(guān)鍵信息讀取。程序利用MATLAB語(yǔ)言及其軟件實(shí)現(xiàn),基于等厚分層算法進(jìn)行,將零件不同精度要求的各部位以及具有尖端的部位在分層方向上分段劃分,使每一個(gè)部位對(duì)應(yīng)在STL模型上的邊界值按照從小到大的順序輸入程序,數(shù)據(jù)以行向量形式儲(chǔ)存,這樣就能將模型按照分層方向以數(shù)據(jù)形式存入到矩陣當(dāng)中;若零件不同的部位要求不同的精度,將每一段部位對(duì)應(yīng)的分層厚度依次輸入程序,數(shù)據(jù)會(huì)儲(chǔ)存在另一個(gè)行向量當(dāng)中,這樣保證了分層部位與其精度一一對(duì)應(yīng)。這些是根據(jù)模型的精度要求進(jìn)行輸入,保證了分層的靈活性和可操作性。

模型分段完成后,基于等厚分層算法的優(yōu)點(diǎn),采用了基于STL模型三次排序的等厚分層策略。將STL模型每一個(gè)三角形面片的三個(gè)頂點(diǎn)按照其在分層方向的大小進(jìn)行排序,然后按照頂點(diǎn)坐標(biāo)在分層方向上的分量最大值的大小對(duì)所有三角形面片進(jìn)行排序,將排序后的三角形面片按照分層方向從小到大依次進(jìn)行求交,當(dāng)給定某一分層平面時(shí),將第二次排好序的三角形面片中頂點(diǎn)坐標(biāo)分量最大值小于該分層平面的三角形面片刪除,然后按照頂點(diǎn)坐標(biāo)分量最小值再一次排序,將最小值大于分層切平面的三角形面片排除,提取出只與該分層切平面相交的三角形面片進(jìn)行截交。這樣不僅減少了算法所占用的內(nèi)存空間,而且提高了分層效率。

本文的關(guān)鍵在于如何將不同精度要求的分段部位按照各自的精度要求進(jìn)行等厚分層,上文已經(jīng)將模型在分層方向上的各部位邊界以行向量的形式輸入,即將模型行劃分為幾段,每一段中的分層厚度不同。假設(shè)模型分為n個(gè)段,那么需要輸入的精度也為n個(gè),輸入界限則是n+1個(gè)。模型分為n個(gè)部位,有n個(gè)精度要求,為了使每一部分按照各自精度進(jìn)行等厚分層,將程序設(shè)為n個(gè)循環(huán),按照模型在分層方向的大小,從小到大依次將模型各部分放入循環(huán)當(dāng)中。將模型放入循環(huán)時(shí),為了提高搜索效率和分層速度,用STL模型在分層方向所具有的特性,根據(jù)模型各部分邊界值對(duì)三角形面片進(jìn)行提取。當(dāng)三角形面片頂點(diǎn)在分層方向上的分量最大值小于較小的分層邊界時(shí)將其排除,當(dāng)三角形面片的頂點(diǎn)在分層方向上的分量最小值大于較大的邊界時(shí)也將其排除,提取剩余三角形面片,這些面片就是模型該部位包含的所有三角形面片。當(dāng)其中的一部位開(kāi)始進(jìn)行分層時(shí),先將這部位在分層方向上的邊界高度值和分層厚度值以及提取出的三角形面片引入該次循環(huán)當(dāng)中,將邊界高度值按照其對(duì)應(yīng)的分層厚度值組成等間距行向量,從該等間距行向量中提取出每一個(gè)元素,這些元素則是分層切平面的高度值,依據(jù)這一高度值對(duì)提取出的三角形面片按照上文提出的排序等厚分層算法進(jìn)行分層,根據(jù)等間距行向量的長(zhǎng)度值進(jìn)行循環(huán)求交,直到該部位分層結(jié)束,自動(dòng)轉(zhuǎn)入下一部位進(jìn)行下一次分層。分段分層中各段之間的銜接是該算法的一個(gè)關(guān)鍵環(huán)節(jié),本算法巧妙地應(yīng)用輸入的邊界值對(duì)模型各段進(jìn)行限制,當(dāng)模型分層超出該段分層部位時(shí),為了不影響下一部位的分層,直接跳出循環(huán),引入下一部位所需的所有元素。引入該部位所需元素后,則以該部位與上一部位共同擁有的邊界值為起點(diǎn)開(kāi)始進(jìn)行分層,為了達(dá)到模型各部位之間的銜接,必須以該部位起點(diǎn)邊界高度值對(duì)模型進(jìn)行第一次截交,保證了模型在該部位的精度,使模型各部位之間順利銜接,避免重復(fù)的求交過(guò)程。本文的求交運(yùn)算是按照文獻(xiàn)[11]的Trioutline函數(shù),該求交算法無(wú)需建立模型的拓?fù)湫畔ⅲ苯訉?duì)模型進(jìn)行求交,無(wú)需建立其他連接關(guān)系,無(wú)需對(duì)交線段排序,直接獲得封閉輪廓線。算法以分層制造的原理,邊輸出邊制造,較大地節(jié)省了數(shù)據(jù)內(nèi)存的占有量,減少了程序的運(yùn)算時(shí)間。圖1為算法的框架圖。

圖1 算法的框架圖

2.2 實(shí)例分析

快速成型技術(shù)要求分層算法具有較高的穩(wěn)定性,并且在滿足精度的前提下,能夠很快地對(duì)模型進(jìn)行分層運(yùn)算,快速地輸出快速成型機(jī)能夠接受的分層輪廓線。在實(shí)際中,有些具有裝配要求的較大尺寸零件(如文中斗齒,尤其是源于逆向設(shè)計(jì)的反求模型),其某一部位(斗齒的封閉內(nèi)腔和銷(xiāo)孔具有裝配要求)要求精度較高,而其他的部位又不需要較高的精度時(shí):如果按照精度較低的要求,以較厚的層厚對(duì)模型整體進(jìn)行制造,加工出的零件不能夠滿足其裝配精度要求;而當(dāng)以較薄的層厚對(duì)模型整體進(jìn)行制造時(shí),其加工時(shí)間又會(huì)大幅度增加,造成成型效率的降低,但若采用分段等厚分層算法,可以在精度和效率兩個(gè)方面得到較好的協(xié)調(diào)。

下面通過(guò)圖2所示斗齒點(diǎn)云對(duì)本文算法進(jìn)行實(shí)例驗(yàn)證,并通過(guò)該斗齒的等厚分層實(shí)例與之相對(duì)比。整體分層和模型不同位置的分層效果。每一個(gè)例子都以ASCII的形式對(duì)STL模型進(jìn)行讀取。分層算法是在DELL N5010(處理器CPU:Intel(R) Core3)的Windows 7系統(tǒng)中安裝的MATLAB R2010a編程語(yǔ)言環(huán)境下運(yùn)行的。

該斗齒模型(由三維掃描點(diǎn)云轉(zhuǎn)換得到其STL模型)尺寸:97.64 mm×222.00 mm×89.69 mm,面片個(gè)數(shù):101462個(gè),頂點(diǎn)個(gè)數(shù):50727個(gè)。模型具有封閉內(nèi)腔,且內(nèi)腔又含有同心的兩個(gè)銷(xiāo)孔,內(nèi)腔和銷(xiāo)孔均為具有裝配要求的重點(diǎn)部位,二者相較其他部位有明顯的尺寸、形狀和位置精度要求。綜合考慮該模型的裝配精度要求及使用時(shí)鏟尖極易磨損破壞的情況,將其共分為5段,見(jiàn)圖3~7。圖8是整體分段分層結(jié)果,圖9是較高精度的等厚分層結(jié)果。

圖2 斗齒模型

圖3 頂端部位分層(層厚0.3,層數(shù)167)

圖4 銷(xiāo)孔部位分層(層厚0.1,層數(shù)300)

圖5 孔上方內(nèi)腔部位(層厚0.3,層數(shù)150)

圖6 孔下方內(nèi)腔部位(層厚0.3,層數(shù)41)

圖7 其余部分層(層厚0.6,層數(shù))

圖8 整體分段分層圖(層數(shù)799)

圖9 整體分層圖(層厚0.1,層數(shù)2220)

分段分層以不同層厚對(duì)模型進(jìn)行分層,在滿足精度情況的前提下,對(duì)各部位依次進(jìn)行加工,同時(shí)從各段分層圖顯示,模型能夠靈活地沿著分層方向?qū)δP瓦M(jìn)行分層。通過(guò)分段分層圖與等厚分層圖對(duì)比,對(duì)于同一模型,兩種分層程序在滿足裝配精度的前提下,分別以不同層數(shù)對(duì)模型進(jìn)行分層,無(wú)疑顯示出層數(shù)之間的差距。在同一設(shè)備條件、裝配部位相同精度下,分段等厚分層算法分層效率是等厚分層算法的三倍以上。表1為斗齒分段分層與等厚分層時(shí)間對(duì)比。

表1 斗齒在不同程序下的分層對(duì)比

3 結(jié) 論

對(duì)同一模型,在同一平臺(tái)和計(jì)算環(huán)境下,分別采用分段分層和等厚分層策略,對(duì)裝配和精度要求高的部位做同一精度的分層處理結(jié)果表明:

(1) 分段分層處理、及采用三次排序精簡(jiǎn)法不僅能夠較為靈活地根據(jù)模型的裝配和精度需要進(jìn)行分層處理、避免重復(fù)的求交過(guò)程,而且使分層占用內(nèi)存量二次減少、加快了分層處理過(guò)程,有利于提高成型效率。

(2) 分段分層處理所具有的靈活性,使本文算法能夠?qū)Τ龀尚驮O(shè)備加工范圍的模型進(jìn)行分割,為分段加工大尺寸零件提供了分層軟件方面的可能。

(3) 對(duì)于某些具有裝配要求或需要區(qū)別分層精度的復(fù)雜成型零件,分段分層處理較等厚分層處理具有高效性,尤其適合用于此類(lèi)零件的逆向設(shè)計(jì)。

以上僅為在MATLAB軟件中進(jìn)行的分層運(yùn)算,如何將分段分層算法融合在現(xiàn)有快速成型設(shè)備中,以及發(fā)現(xiàn)并解決在融合過(guò)程中所暴露或產(chǎn)生的新問(wèn)題,是筆者進(jìn)一步研究的努力方向。

[1]Pan Haipeng, Zhou Tianrui.Generation and optimization of slice profile data in rapid prototyping and manufacturing [J].Journal of Materials Processing Technology, 2007, 187-188: 623-626.

[2]胡德洲, 李占利, 李滌塵, 丁玉成, 盧秉恒.基于STL模型幾何特征分類(lèi)快速分層處理算法研究[J].西安交通大學(xué)學(xué)報(bào), 2000, 34(1): 37-40, 45.

[3]牟小云, 鄭建明, 田靜云.基于坐標(biāo)分層的STL模型切片算法的研究[J].機(jī)床與液壓, 2008, 36(7): 52-53, 72.

[4]李仲陽(yáng), 謝存禧, 楊家紅.基于STL文件的快速成型分層算法與毗鄰?fù)負(fù)湫畔⒌目焖偬崛J].計(jì)算機(jī)工程與應(yīng)用, 2002, 38(7): 32-35, 79.

[5]趙保軍, 汪 蘇, 陳五一.STL數(shù)據(jù)模型的快速切片算法[J].北京航空航天大學(xué)學(xué)報(bào), 2004, 30(4): 329-333.

[6]胡德洲, 李滌塵, 洪 軍, 趙萬(wàn)華, 丁玉成.快速成形制造中截面輪廓線快速生成算法研究[J].中國(guó)機(jī)械工程, 2001, 12(6): 54-56, 5.

[7]畢曉亮, 朱昌明, 侯麗雅.快速成型中的自適應(yīng)切片方法研究[J].計(jì)算機(jī)應(yīng)用研究, 2002, 19(4): 21-22.

[8]李仲陽(yáng), 謝存禧, 邵 明, 成曉陽(yáng).快速成型的精度分析與自適應(yīng)分層的研究[J].廣東工業(yè)大學(xué)學(xué)報(bào), 2000,17(2): 15-19.

[9]張嘉易, 劉偉軍, 王天然.三維模型的適應(yīng)性切片方法研究[J].中國(guó)機(jī)械工程, 2003, 14(9): 750-752.

[10]趙吉賓, 劉偉軍, 王越超.基于STL文件的實(shí)體分割算法研究[J].機(jī)械科學(xué)與技術(shù)2005, 24(2): 131-134.

[11]王春香,李振華.STL模型分層算法的優(yōu)化及應(yīng)用[J].機(jī)械設(shè)計(jì)與制造, 2013, (3): 87-90.

猜你喜歡
對(duì)模型面片分段
一類(lèi)連續(xù)和不連續(xù)分段線性系統(tǒng)的周期解研究
三維模型有向三角面片鏈碼壓縮方法
初次來(lái)壓期間不同頂板對(duì)工作面片幫影響研究
頂風(fēng)扎點(diǎn)
分段計(jì)算時(shí)間
3米2分段大力士“大”在哪兒?
蒙醫(yī)開(kāi)竅補(bǔ)腎針刺法對(duì)模型大鼠胸腺、脾臟指數(shù)的影響
蒙醫(yī)催熟療法對(duì)模型大鼠炎癥因子影響的實(shí)驗(yàn)研究
甜面片里的人生
脈沖接種下的雙時(shí)滯的SIRS模型的穩(wěn)定性與持久性
高淳县| 甘洛县| 永登县| 平泉县| 萝北县| 大城县| 东方市| 肥东县| 清河县| 大新县| 阜新| 咸宁市| 聂拉木县| 旌德县| 德江县| 朝阳市| 汤阴县| 永福县| 西城区| 金门县| 漳平市| 铜陵市| 六安市| 婺源县| 鞍山市| 阳高县| 芒康县| 桂阳县| 泰安市| 镇宁| 永登县| 钦州市| 白山市| 环江| 峨眉山市| 蓬莱市| 白河县| 交城县| 平武县| 伊通| 黄龙县|