專利名稱:三角網(wǎng)格曲面模型高精度數(shù)控加工刀軌快速生成方法
技術(shù)領(lǐng)域:
本發(fā)明提供一種三角網(wǎng)格曲面模型高精度數(shù)控加工刀軌快速生成方法,屬于計(jì)算機(jī)輔助 制造領(lǐng)域。
技術(shù)背景基于三角網(wǎng)格曲面模型可實(shí)現(xiàn)基于產(chǎn)品外形采樣數(shù)據(jù)點(diǎn)云的曲面模型快速精確重構(gòu),目 前這種方法已在產(chǎn)品逆向工程領(lǐng)域獲得廣泛應(yīng)用。對(duì)逆向工程系統(tǒng)輸出的三角網(wǎng)格曲面模型 直接生成數(shù)控加工刀軌,可有效縮短復(fù)雜外形產(chǎn)品開發(fā)周期,降低產(chǎn)品成本,但由于三角網(wǎng) 格曲面模型是對(duì)原始模型的線性逼近,存在模型精度損失問題,其數(shù)控加工刀軌求解精度與 效率是制約逆向工程與現(xiàn)行CAM技術(shù)無縫集成的關(guān)鍵問題。對(duì)現(xiàn)有的技術(shù)文獻(xiàn)檢索發(fā)現(xiàn),王蔚空等在學(xué)術(shù)期刊《計(jì)算機(jī)輔助設(shè)計(jì)與制造》1999, 6, P38-54上發(fā)表的論文"基于曲面三角形網(wǎng)格模型的數(shù)控編程技術(shù)",遍歷查找三角網(wǎng)格曲面 模型中與數(shù)控加工刀軌截面相交的三角面片,通過計(jì)算三角面片與數(shù)控加工刀軌截面的交點(diǎn) 獲取刀觸點(diǎn),根據(jù)刀觸點(diǎn)生成刀位軌跡。該方法對(duì)數(shù)據(jù)量少且曲率變化小的三角網(wǎng)格曲面模 型比較實(shí)用,但對(duì)于由海量三角面片組成的復(fù)雜三角網(wǎng)格曲面模型,存在著三角網(wǎng)格處理效 率低,求交速度慢等問題。另外,由于三角網(wǎng)格曲面模型是對(duì)原始模型的線性逼近,該方法 是基于三角網(wǎng)格曲面模型直接生成刀位軌跡,生成的刀位軌跡不能有效反映原始模型的型面 特征,且精度低。肖堯先等在學(xué)術(shù)期刊《計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào)》2001, 13(7), P631-635上發(fā)表的 論文"基于三角B6zier曲面的粗加工數(shù)控編程",采用三角B6zier曲面插值三角網(wǎng)格曲面模 型提高數(shù)控加工刀軌生成精度,將三角B&ier曲面與數(shù)控加工刀軌截面求交獲取刀位軌跡, 該方法生成的數(shù)控加工刀軌精度高,但三角Bfeier曲面插值運(yùn)算量大,曲面與數(shù)控加工刀軌 截面求交過程復(fù)雜,算法運(yùn)行速度慢。孫玉文等在學(xué)術(shù)期刊《機(jī)械工程學(xué)報(bào)》2002, 38(10), P50-54上發(fā)表的論文"基于三角網(wǎng) 格曲面模型的刀位軌跡計(jì)算方法",通過創(chuàng)建三角面片鄰接表,查找三角面片鄰接表中與數(shù)控 加工刀軌截面相交的三角面片,根據(jù)網(wǎng)格頂點(diǎn)法向矢量插值邊界曲線與數(shù)控加工刀軌截面的交點(diǎn)計(jì)算刀位數(shù)據(jù),該方法在一定程度上提高了刀軌精度,但其三角面片鄰接鏈表的建立及 維護(hù)過程過于繁瑣,鏈表中存在大量的面片冗余信息,嚴(yán)重影響三角網(wǎng)格曲面模型與數(shù)控加 工刀軌截面的求交速度。另外,由于邊界曲線插值過程復(fù)雜,當(dāng)?shù)盾壗孛孢^密時(shí),導(dǎo)致網(wǎng)格 邊界重復(fù)插值,刀軌生成效率低。綜上所述,現(xiàn)有的針對(duì)三角網(wǎng)格曲面模型的數(shù)控加工刀軌生成方法存在三角網(wǎng)格曲面模 型與數(shù)控加工刀軌截面求交速度慢,缺乏統(tǒng)一的構(gòu)建三角網(wǎng)格曲面模型拓?fù)浣Y(jié)構(gòu)的有效的數(shù) 據(jù)結(jié)構(gòu),算法運(yùn)行效率低等問題。發(fā)明內(nèi)容本發(fā)明的目的在于提供一種三角網(wǎng)格曲面模型高精度數(shù)控加工刀軌快速生成方法,以有 效縮短復(fù)雜外形產(chǎn)品的開發(fā)周期,降低產(chǎn)品成本。其技術(shù)方案為三角網(wǎng)格曲面模型高精度數(shù)控加工刀軌快速生成方法,其特征在于步驟依次為1)從三角網(wǎng)格曲面模型三角網(wǎng)格數(shù)據(jù)文件讀入網(wǎng)格模型數(shù)據(jù)到存儲(chǔ)器中,并為三角網(wǎng)格 數(shù)據(jù)建立線性鏈表存儲(chǔ)結(jié)構(gòu),基于改進(jìn)的R、tree建立三角網(wǎng)格模型動(dòng)態(tài)空間索引結(jié)構(gòu)2) 采用三角網(wǎng)格曲面模型動(dòng)態(tài)空間索引結(jié)構(gòu)的范圍査詢算法快速獲取三角網(wǎng)格曲面模型中共網(wǎng) 格頂點(diǎn)的三角面片集,以該三角面片集作為網(wǎng)格頂點(diǎn)的局部型面參考數(shù)據(jù),獲取該局部型面 參考數(shù)據(jù)中三角面片的個(gè)數(shù),計(jì)算其中每個(gè)三角面片的法向矢量和面積,求解網(wǎng)格頂點(diǎn)的法 向矢量,為三角網(wǎng)格曲面模型精度補(bǔ)償及刀位數(shù)據(jù)求解提供局部型面幾何特征參數(shù);3)三角 網(wǎng)格曲面模型與數(shù)控加工刀軌截面求交,獲取三角網(wǎng)格曲面模型中與數(shù)控加工刀軌截面相交 的三角面片;4)根據(jù)三角面片與數(shù)控加工刀軌截面的位置關(guān)系計(jì)算刀觸點(diǎn),并根據(jù)殘留高度 和刀具半徑計(jì)算刀軌行距,在加工方向上按照刀軌行距逐次調(diào)整數(shù)控加工刀軌截面獲取所有 的刀觸點(diǎn)集;5)計(jì)算刀觸點(diǎn)處的曲面法向矢量,將刀觸點(diǎn)沿曲面法向矢量偏置刀具半徑獲取 刀位點(diǎn),通過對(duì)單刀散亂刀位點(diǎn)集進(jìn)行排序,獲取單刀數(shù)控加工刀軌,連接所有單刀數(shù)控加 工刀軌得到三角網(wǎng)格曲面數(shù)控加工刀軌。為實(shí)現(xiàn)發(fā)明目的,所述的三角網(wǎng)格曲面模型高精度數(shù)控加工刀軌快速生成方法,在步驟1) 中,改進(jìn)R*-tree動(dòng)態(tài)空間索引結(jié)構(gòu)的方法具體是將三角面片及索引結(jié)點(diǎn)MBR(MinimumBoundingRectangle)統(tǒng)一表示為四維點(diǎn)對(duì)象(x,:v,z,d,其中x,y,z為MBR中心坐標(biāo),r為MBR外接球半徑值,采用k-means算法對(duì)三角面片集合進(jìn)行空間聚類分簇,構(gòu)建三角網(wǎng)格曲面模 型動(dòng)態(tài)空間索引結(jié)構(gòu)。為實(shí)現(xiàn)發(fā)明目的,所述的三角網(wǎng)格曲面模型高精度數(shù)控加工刀軌快速生成方法,在步驟1)中,采用k-means算法實(shí)現(xiàn)三角面片集合的空間聚類分簇的步驟具體是①任意選取A個(gè) 結(jié)點(diǎn)MBR中心作為索引結(jié)點(diǎn)的初始分簇中心;②將每個(gè)非分簇中心索引結(jié)點(diǎn)選擇距其MBR 中心最近的分簇進(jìn)行插入,將分裂結(jié)果規(guī)范化為四維點(diǎn)對(duì)象;③對(duì)于同簇結(jié)點(diǎn)中的W個(gè)索引 結(jié)點(diǎn),其四維標(biāo)準(zhǔn)化坐標(biāo)為A(JC^^,。) (—1,…W,將以。為權(quán)因子計(jì)算所得結(jié)點(diǎn)重心作為新分簇中心,用新分簇中心代替原來的分簇中心;④將新分簇中心和上一次分簇中心進(jìn)行 比較,如果相同則結(jié)束分簇,否則查看分簇次數(shù)是否超過最大分簇次數(shù),如果超過最大分簇 次數(shù),則結(jié)束,否則返回步驟②,繼續(xù)分簇。為實(shí)現(xiàn)發(fā)明目的,所述的三角網(wǎng)格曲面模型高精度數(shù)控加工刀軌快速生成方法,在步驟3) 中,獲取三角網(wǎng)格曲面模型中與數(shù)控加工刀軌截面相交的三角面片的方法具體是首先查詢 三角網(wǎng)格曲面模型動(dòng)態(tài)空間索引結(jié)構(gòu)中根結(jié)點(diǎn)MBR與數(shù)控加工刀軌截面的位置關(guān)系,若其 與數(shù)控加工刀軌截面相交,逐個(gè)査詢根結(jié)點(diǎn)中各個(gè)子結(jié)點(diǎn)MBR與數(shù)控加工刀軌截面的位置 關(guān)系,獲取與數(shù)控加工刀軌截面相交的子結(jié)點(diǎn);然后分別査詢各個(gè)相交結(jié)點(diǎn)中與數(shù)控加工刀 軌截面相交的子結(jié)點(diǎn);最后,獲取與數(shù)控加工刀軌截面相交的三角網(wǎng)格曲面模型動(dòng)態(tài)空間索 引結(jié)構(gòu)數(shù)據(jù)結(jié)點(diǎn),該數(shù)據(jù)結(jié)點(diǎn)中存儲(chǔ)的三角面片即為三角網(wǎng)格曲面模型中與數(shù)控加工刀軌截 面相交的三角面片。為實(shí)現(xiàn)發(fā)明目的,所述的三角網(wǎng)格曲面模型高精度數(shù)控加工刀軌快速生成方法,在步驟4) 中,根據(jù)三角面片與數(shù)控加工刀軌截面的位置關(guān)系計(jì)算刀觸點(diǎn)的步驟具體是①若三角面片 的三個(gè)頂點(diǎn)全部位于數(shù)控加工刀軌截面的上部或者全部位于數(shù)控加工刀軌截面的下部,則該 三角面片與數(shù)控加工刀軌截面無刀觸點(diǎn);②若三角面片的三個(gè)頂點(diǎn)全部位于數(shù)控加工刀軌截 面的內(nèi)部,則取指向三角網(wǎng)格曲面模型外側(cè)且沿?cái)?shù)控加工刀軌截面方向上,到三角網(wǎng)格曲面 模型距離最遠(yuǎn)的一個(gè)或者兩個(gè)三角面片頂點(diǎn)作為刀觸點(diǎn);③若三角面片的三個(gè)頂點(diǎn)中, 一'個(gè) 頂點(diǎn)位于數(shù)控加工刀軌截面的一側(cè),其它兩個(gè)頂點(diǎn)位于數(shù)控加工刀軌截面的另一側(cè),采用構(gòu) 建網(wǎng)格邊界曲線法求解刀觸點(diǎn); 若三角面片的三個(gè)頂點(diǎn)中,只有一個(gè)頂點(diǎn)位于數(shù)控加工刀 軌截面內(nèi)部,其它兩個(gè)頂點(diǎn)位于數(shù)控加工刀軌截面同側(cè),則將該頂點(diǎn)作為刀觸點(diǎn);⑤若三角 面片的三個(gè)頂點(diǎn)中,只有一個(gè)頂點(diǎn)位于數(shù)控加工刀軌截面內(nèi)部,其它兩個(gè)頂點(diǎn)位于數(shù)控加工 刀軌截面兩側(cè),則將位于數(shù)控加工刀軌截面上的頂點(diǎn)作為刀觸點(diǎn),將位于數(shù)控加工刀軌截面 兩側(cè)的頂點(diǎn)相連組成網(wǎng)格邊,釆用步驟③中構(gòu)建網(wǎng)格邊界曲線法求解刀觸點(diǎn);◎若三角面片 的三個(gè)頂點(diǎn)中,兩個(gè)頂點(diǎn)位于數(shù)控加工刀軌截面內(nèi)部,則將這兩個(gè)頂點(diǎn)作為刀觸點(diǎn)。為實(shí)現(xiàn)發(fā)明目的,所述的三角網(wǎng)格曲面模型高精度數(shù)控加工刀軌快速生成方法,在步驟4)中的刀觸點(diǎn)求解過程③中,構(gòu)建網(wǎng)格邊界曲線法求解刀觸點(diǎn)的方法具體是查找端點(diǎn)位于數(shù) 控加工刀軌截面的兩側(cè)的網(wǎng)格邊,過網(wǎng)格邊的兩端點(diǎn)分別作三角網(wǎng)格曲面局部型面的微切平 面,當(dāng)兩微切平面共面時(shí),數(shù)控加工刀軌截面與網(wǎng)格邊的交點(diǎn)即為刀觸點(diǎn),否則計(jì)算網(wǎng)格邊 在兩微切平面上投影線的交點(diǎn),構(gòu)造以交點(diǎn)和網(wǎng)格邊兩端點(diǎn)為控制點(diǎn)的拋物線逼近網(wǎng)格邊生 成網(wǎng)格邊界曲線,將網(wǎng)格邊界曲線與數(shù)控加工刀軌截面的交點(diǎn)作為刀觸點(diǎn)。 本發(fā)明與現(xiàn)有技術(shù)相比,具有以下優(yōu)點(diǎn)1) 基于改進(jìn)的R^tree組織三角網(wǎng)格曲面模型中三角面片的拓?fù)浣応P(guān)系,建立三角網(wǎng) 格曲面模型動(dòng)態(tài)空間索引結(jié)構(gòu),提高了三角網(wǎng)格曲面模型高精度數(shù)控加工刀軌快速生成方法 對(duì)于各類三角網(wǎng)格曲面模型的自適應(yīng)性;2) 深度優(yōu)先遍歷三角網(wǎng)格曲面模型動(dòng)態(tài)空間索引結(jié)構(gòu)可快速獲取三角網(wǎng)格曲面模型中與數(shù)控加工刀軌截面相交的三角面片,能夠根據(jù)三角面片與數(shù)控加工刀軌截面的位置關(guān)系準(zhǔn)確計(jì)算刀觸點(diǎn),有效提高了數(shù)控加工刀軌生成效率;3) 采用網(wǎng)格邊界曲線對(duì)三角網(wǎng)格曲面模型進(jìn)行精度補(bǔ)償,在有效提高數(shù)控加工刀軌求解 效率的同時(shí),保證了數(shù)控加工刀軌的生成精度。
圖l是本發(fā)明程序流程圖;圖2是本發(fā)明所建立的三角網(wǎng)格曲面模型動(dòng)態(tài)空間索引結(jié)構(gòu)整體結(jié)構(gòu)示意圖; 圖3是本發(fā)明動(dòng)態(tài)空間索引結(jié)構(gòu)索引結(jié)點(diǎn)規(guī)范化表示;圖4是本發(fā)明k-means算法分簇實(shí)現(xiàn)流程圖;圖5 圖9是本發(fā)明對(duì)某工件模型所建立的動(dòng)態(tài)空間索引結(jié)構(gòu)各層結(jié)點(diǎn)MBR模型圖; 圖10是本發(fā)明獲取包含某網(wǎng)格頂點(diǎn)的三角網(wǎng)格曲面模型動(dòng)態(tài)空間索引結(jié)構(gòu)數(shù)據(jù)結(jié)點(diǎn)示意圖;圖11是本發(fā)明提取圖10所示數(shù)據(jù)結(jié)點(diǎn)中三角面片,獲取以該網(wǎng)格頂點(diǎn)為公共頂點(diǎn)的三 角面片示意圖;圖12是本發(fā)明根據(jù)三角面片法向矢量和面積計(jì)算網(wǎng)格頂點(diǎn)法向矢量示意圖;圖13是本發(fā)明某工件三角網(wǎng)格曲面模型動(dòng)態(tài)空間索引結(jié)構(gòu)第一層結(jié)點(diǎn),以及該層中與數(shù)控加工刀軌截面相交的子結(jié)點(diǎn)示意圖;圖14是本發(fā)明某工件三角網(wǎng)格曲面模型動(dòng)態(tài)空間索引結(jié)構(gòu)中間層結(jié)點(diǎn),以及該層中與數(shù)控加工刀軌截面相交的子結(jié)點(diǎn)示意圖;圖15是本發(fā)明某工件三角網(wǎng)格曲面模型動(dòng)態(tài)空間索引結(jié)構(gòu)葉結(jié)點(diǎn),以及該層中與數(shù)控加 工刀軌截面相交的數(shù)據(jù)結(jié)點(diǎn)示意圖;圖16是本發(fā)明構(gòu)建網(wǎng)格邊界曲線計(jì)算刀觸點(diǎn)示意圖;圖17是本發(fā)明實(shí)施例1引擎蓋的三角網(wǎng)格曲面模型;圖18是本發(fā)明實(shí)施例1基于引擎蓋模型的高精度數(shù)控加工刀軌效果圖;圖19是本發(fā)明實(shí)施例2某地貌的三角網(wǎng)格曲面模型;圖20是本發(fā)明實(shí)施例2基于某地貌模型的高精度數(shù)控加工刀軌效果圖。
具體實(shí)施方式
下面結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步說明。采用C語言實(shí)現(xiàn)三角網(wǎng)格曲面模型高精度數(shù)控加工刀軌的快速生成,本發(fā)明三角網(wǎng)格曲 面模型的高精度數(shù)控加工刀軌的程序?qū)崿F(xiàn)流程圖如附圖1所示。三角網(wǎng)格曲面模型數(shù)據(jù)輸入 程序1負(fù)責(zé)讀入三角網(wǎng)格曲面模型數(shù)據(jù)文件,并為其創(chuàng)建線性鏈表存儲(chǔ)結(jié)構(gòu),以支持三角網(wǎng) 格數(shù)據(jù)線性順序遍歷。三角網(wǎng)格曲面模型動(dòng)態(tài)空間索引結(jié)構(gòu)構(gòu)建程序2采用嵌套的三維矩形 對(duì)點(diǎn)云數(shù)據(jù)進(jìn)行動(dòng)態(tài)空間聚類劃分,為數(shù)據(jù)輸入程序1所生成的數(shù)據(jù)線性鏈表建立改進(jìn)的 R、tree動(dòng)態(tài)空間索引結(jié)構(gòu)。三角網(wǎng)格曲面模型的網(wǎng)格頂點(diǎn)法向矢量計(jì)算程序3采用三角網(wǎng)格 曲面模型動(dòng)態(tài)空間索引結(jié)構(gòu)范圍査詢算法快速獲取共網(wǎng)格頂點(diǎn)的三角面片集,以該三角面片 集作為網(wǎng)格頂點(diǎn)的局部型面參考數(shù)據(jù),基于該局部型面參考數(shù)據(jù)求解網(wǎng)格頂點(diǎn)的法向矢量, 獲取網(wǎng)格頂點(diǎn)的法向矢量數(shù)據(jù),為三角網(wǎng)格曲面模型精度補(bǔ)償及刀位數(shù)據(jù)求解提供局部型面 幾何特征參數(shù)。三角網(wǎng)格曲面模型與刀軌截面的求交程序4査詢?nèi)蔷W(wǎng)格曲面模型動(dòng)態(tài)空間 索引結(jié)構(gòu)中根結(jié)點(diǎn)MBR與數(shù)控加工刀軌截面的位置關(guān)系,逐層查詢各子結(jié)點(diǎn)MBR與數(shù)控加 工刀軌截面的位置關(guān)系,獲取與數(shù)控加工刀軌截面相交的三角網(wǎng)格曲面模型動(dòng)態(tài)空間索引結(jié) 構(gòu)數(shù)據(jù)結(jié)點(diǎn),該數(shù)據(jù)結(jié)點(diǎn)中存儲(chǔ)的三角面片即為三角網(wǎng)格曲面模型與數(shù)控加工刀軌截面相交 的三角面片,提取相交的三角面片得到相交面片數(shù)據(jù)集。數(shù)控加工刀位點(diǎn)求解程序5根據(jù)三 角面片與數(shù)控加工刀軌截面的位置關(guān)系計(jì)算刀觸點(diǎn),根據(jù)殘留高度和刀具半徑計(jì)算數(shù)控加工 刀軌行距,在加工方向上按照刀軌行距逐次調(diào)整數(shù)控加工刀軌截面,直至整個(gè)工件加工完成, 獲取三角網(wǎng)格曲面模型數(shù)控加工的算亂刀觸點(diǎn)集,將刀觸點(diǎn)沿曲面法向矢量偏置刀具半徑獲 取刀位點(diǎn)。數(shù)控加工刀軌的生成程序6對(duì)單刀刀位點(diǎn)集進(jìn)行排序,獲取單刀數(shù)控加工刀軌, 連接所有單刀數(shù)控加工刀軌得到三角網(wǎng)格曲面模型數(shù)控加工刀軌。如圖2所示,是本發(fā)明三角網(wǎng)格曲面模型動(dòng)態(tài)空間索引結(jié)構(gòu)構(gòu)建程序2建立的三角網(wǎng)格曲面模型動(dòng)態(tài)空間索引結(jié)構(gòu)整體結(jié)構(gòu)示意圖。三角網(wǎng)格曲面模型動(dòng)態(tài)空間索引結(jié)構(gòu)的數(shù)據(jù)結(jié) 構(gòu)分為索引層和數(shù)據(jù)層,索引層由內(nèi)部結(jié)點(diǎn)、葉結(jié)點(diǎn)和數(shù)據(jù)結(jié)點(diǎn)構(gòu)成;數(shù)據(jù)層為數(shù)據(jù)鏈表, 其結(jié)點(diǎn)具有訪問上級(jí)索引層的能力。索引層結(jié)點(diǎn)分為索引結(jié)點(diǎn)和數(shù)據(jù)結(jié)點(diǎn),索引結(jié)點(diǎn)的子結(jié)點(diǎn)仍然是索引層結(jié)點(diǎn),數(shù)據(jù)結(jié)點(diǎn)只有指向具體空間數(shù)據(jù)對(duì)象的指針。索引結(jié)點(diǎn)結(jié)構(gòu)體中的type 標(biāo)識(shí)用于判斷該結(jié)點(diǎn)是內(nèi)部結(jié)點(diǎn)還是葉結(jié)點(diǎn),type等于O表示該結(jié)點(diǎn)為內(nèi)部結(jié)點(diǎn),type等于 1表示該節(jié)點(diǎn)為葉結(jié)點(diǎn)。內(nèi)部結(jié)點(diǎn)的子結(jié)點(diǎn)仍然是索引結(jié)點(diǎn),葉結(jié)點(diǎn)的子結(jié)點(diǎn)為數(shù)據(jù)結(jié)點(diǎn), 通過數(shù)據(jù)結(jié)點(diǎn)可以指向具體數(shù)據(jù)對(duì)象。對(duì)于三角網(wǎng)格曲面模型的存取,如圖3所示將三角網(wǎng) 格曲面模型中三角面片及索引節(jié)點(diǎn)MBR統(tǒng)一表示為四維點(diǎn)對(duì)象(;c,乂z,0,其中Jc,j;,z為MBR中心坐標(biāo),r為MBR外接球半徑值。對(duì)于三角網(wǎng)格曲面模型動(dòng)態(tài)空間索引結(jié)構(gòu)各層結(jié)點(diǎn)的子 結(jié)點(diǎn)數(shù)的上限M和下限m,以及結(jié)點(diǎn)重新插入數(shù)目及的取值,均由用戶根據(jù)三角網(wǎng)格數(shù)據(jù)的規(guī)模自行設(shè)置,通常取m-MX400/。,且lSm^^^, i =MX30%。采用k-means算法進(jìn)行2三角面片集合的空間聚類分簇的實(shí)現(xiàn)流程如附圖4所示將索引結(jié)點(diǎn)中心距離最遠(yuǎn)的一對(duì)結(jié) 點(diǎn)MBR的中心作為初始分簇中心,將數(shù)據(jù)對(duì)象添加到距分簇中心最近的分簇中,更新各分 簇中心,并與原來的分簇中心進(jìn)行比較,若分簇中心相同或分簇次數(shù)超過最大分簇次數(shù)則結(jié) 束分簇,否則繼續(xù)分簇。如圖5 圖9所示,是本發(fā)明某工件三角網(wǎng)格曲面模型所建立的動(dòng)態(tài)空間索引結(jié)構(gòu)各層結(jié) 點(diǎn)MBR模型圖。試驗(yàn)所用三角網(wǎng)格數(shù)據(jù)數(shù)量為3 468,所采用的索引參數(shù)附=8、 M=20,重 新插入結(jié)點(diǎn)數(shù)及=6,三角網(wǎng)格曲面模型動(dòng)態(tài)空間索引結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)構(gòu)建時(shí)間約為0.057224秒。 其中圖5顯示了某工件三角網(wǎng)格曲面模型,圖6顯示了動(dòng)態(tài)空間索引結(jié)構(gòu)根結(jié)點(diǎn)MBR,圖7 顯示了第二層結(jié)點(diǎn)MBR,圖8顯示了葉結(jié)點(diǎn)MBR,圖9顯示了數(shù)據(jù)結(jié)點(diǎn)MBR。該實(shí)驗(yàn)表明, 采用三維動(dòng)態(tài)空間索引結(jié)構(gòu)可準(zhǔn)確實(shí)現(xiàn)三角網(wǎng)格曲面模型的空間聚類劃分。如圖10所示,是本發(fā)明調(diào)用三角網(wǎng)格曲面模型網(wǎng)格頂點(diǎn)法向矢量計(jì)算程序3,采用三角 網(wǎng)格曲面模型動(dòng)態(tài)空間索引結(jié)構(gòu)范圍査詢算法快速定位包含某網(wǎng)格頂點(diǎn)的三角網(wǎng)格曲面模型 動(dòng)態(tài)空間索引結(jié)構(gòu)數(shù)據(jù)結(jié)點(diǎn)示意圖。提取這些數(shù)據(jù)結(jié)點(diǎn)中三角面片獲取以某網(wǎng)格頂點(diǎn)為公共 頂點(diǎn)的三角面片集合如圖11所示。如圖12所示,是本發(fā)明調(diào)用三角網(wǎng)格曲面模型網(wǎng)格頂點(diǎn)法向矢量計(jì)算程序3,根據(jù)三角 面片法向矢量和面積計(jì)算網(wǎng)格頂點(diǎn)法向矢量示意圖。設(shè)以網(wǎng)格頂點(diǎn)尸o為公共頂點(diǎn)的三角面片的個(gè)數(shù)為附,各面片的法向矢量為 ,面積為&,其中(l^A^/n)。根據(jù)公式"="4^求》*解Po處的法向矢量"。調(diào)用三角網(wǎng)格曲面模型動(dòng)態(tài)空間索引結(jié)構(gòu)與刀軌截面求交程序4獲取三角網(wǎng)格曲面模型 與數(shù)控加工刀軌截面相交的三角面片數(shù)據(jù)。如圖13 圖15所示,是本發(fā)明逐層遍歷三角網(wǎng) 格曲面模型動(dòng)態(tài)空間索引結(jié)構(gòu)獲取與刀軌截面相交各層結(jié)點(diǎn)MBR示意圖。根據(jù)加工條件確 定初始的數(shù)控加工刀軌截面,三角網(wǎng)格曲面模型動(dòng)態(tài)空間索引結(jié)構(gòu)各層結(jié)點(diǎn)MBR與數(shù)控加 工刀軌截面具有相離、相切和相交三種位置關(guān)系,逐層遍歷三角網(wǎng)格曲面模型動(dòng)態(tài)空間索引 結(jié)構(gòu)快速獲取與數(shù)控加工刀軌截面相交的數(shù)據(jù)結(jié)點(diǎn)。如圖13所示,是本發(fā)明三角網(wǎng)格曲面模 型動(dòng)態(tài)空間索引結(jié)構(gòu)第一層結(jié)點(diǎn),以及該層中與數(shù)控加工刀軌截面相交的子結(jié)點(diǎn)示意圖,其 中細(xì)框代表當(dāng)前層結(jié)點(diǎn)MBR,粗框代表當(dāng)前層中與數(shù)控加工刀軌截面相交子結(jié)點(diǎn)MBR。圖 14所示,是本發(fā)明三角網(wǎng)格曲面模型動(dòng)態(tài)空間索引結(jié)構(gòu)中間層結(jié)點(diǎn),以及該層中與數(shù)控加工 刀軌截面相交的子結(jié)點(diǎn)示意圖。圖15所示,是本發(fā)明三角網(wǎng)格曲面模型動(dòng)態(tài)空間索引結(jié)構(gòu)葉 結(jié)點(diǎn),以及該層中與數(shù)控加工刀軌截面相交的數(shù)據(jù)結(jié)點(diǎn)示意圖。數(shù)控加工刀位點(diǎn)求解程序5基于獲取的數(shù)控加工刀軌截面相交的三角面片,根據(jù)三角面 片與數(shù)控加工刀軌截面的位置關(guān)系計(jì)算刀觸點(diǎn),并將刀觸點(diǎn)沿曲面法向矢量偏置刀具半徑獲 取刀位點(diǎn)。如圖16所示,是構(gòu)建網(wǎng)格邊界曲線計(jì)算刀觸點(diǎn)示意圖,其中邊尸o^為與數(shù)控加工刀軌截面相交的三角網(wǎng)格曲面模型網(wǎng)格邊,網(wǎng)格頂點(diǎn)尸o、尸!出法向矢量為"。、作過尸o法向矢量為"。的三角網(wǎng)格曲面模型的微切平面,過iV法向矢量為",的三角網(wǎng)格曲面模型的微切平面,/y^在兩微切平面上投影線的交點(diǎn)為尸,根據(jù)公式C(")^7-z^尸。+2"(7-"尸+M^,所表示的拋物線方程逼近網(wǎng)格邊尸o^得到網(wǎng)格邊界曲線。由于共享同一頂點(diǎn)的網(wǎng)格邊界曲線 具有相同的切平面約束,可保證網(wǎng)格邊界曲線1階連續(xù),將網(wǎng)格邊界曲線與數(shù)控加工刀軌截 面的交點(diǎn)作為網(wǎng)格邊尸oPi處的刀觸點(diǎn)。計(jì)算刀觸點(diǎn)處的曲面法向矢量,由于復(fù)雜曲面模型數(shù)控加工時(shí)一般采用球頭銑刀,所以 將刀觸點(diǎn)沿曲面法向矢量偏置刀具半徑獲取刀位點(diǎn)。設(shè)工件加工殘留高度為// = 0.01附附,刀具半徑為r-2mw,根據(jù)公式/) = 2^/(2卜計(jì)算數(shù)控加工刀軌行距i),在加工方向上按照刀軌行距逐次調(diào)整數(shù)控加工刀軌截面獲取所有的刀位點(diǎn)集。調(diào)用數(shù)控加工刀軌的生成程序6對(duì)單刀散亂刀位點(diǎn)集進(jìn)行排序,獲取單刀數(shù)控加工刀軌, 通過連接所有單刀數(shù)控加工刀軌得到三角網(wǎng)格曲面模型數(shù)控加工刀軌。設(shè)鏈表『存儲(chǔ)每刀刀位點(diǎn),集合r為鏈表中所有點(diǎn),集合i/存放f的最小生成樹的頂點(diǎn),集合r存放f的最小生 成樹的邊,將各點(diǎn)之間的距離作為各條邊的權(quán)值,單刀散亂刀位點(diǎn)集排序具體步驟如下:①將每刀刀位點(diǎn)存儲(chǔ)到『中;②令集合C/的初值為^7-^1 (從交點(diǎn)w,開始創(chuàng)建最小生成樹), 集合T初值為空;從所有"et/, v-F-f/的邊中,選取具有最小取值的邊(",v),將頂點(diǎn)v加入到集合f/中,將 ,v)加入到集合r中;③若tz-r,完成最小生成樹的創(chuàng)建,執(zhí)行 ,否則執(zhí)行②; 依次輸出集合T中最小生成樹邊的頂點(diǎn),即為有序刀位點(diǎn)集。 其它復(fù)雜三角網(wǎng)格曲面模型的高精度數(shù)控加工刀軌生成方法同上。
權(quán)利要求
1、一種三角網(wǎng)格曲面模型高精度數(shù)控加工刀軌快速生成方法,其特征在于步驟依次為1)從三角網(wǎng)格曲面模型三角網(wǎng)格數(shù)據(jù)文件讀入網(wǎng)格模型數(shù)據(jù)到存儲(chǔ)器中,并為三角網(wǎng)格數(shù)據(jù)建立線性鏈表存儲(chǔ)結(jié)構(gòu),基于改進(jìn)的R*-tree建立三角網(wǎng)格模型動(dòng)態(tài)空間索引結(jié)構(gòu);2)采用三角網(wǎng)格曲面模型動(dòng)態(tài)空間索引結(jié)構(gòu)的范圍查詢算法快速獲取三角網(wǎng)格曲面模型中共網(wǎng)格頂點(diǎn)的三角面片集,以該三角面片集作為網(wǎng)格頂點(diǎn)的局部型面參考數(shù)據(jù),獲取該局部型面參考數(shù)據(jù)中三角面片的個(gè)數(shù),計(jì)算其中每個(gè)三角面片的法向矢量和面積,求解網(wǎng)格頂點(diǎn)的法向矢量,為三角網(wǎng)格曲面模型精度補(bǔ)償及刀位數(shù)據(jù)求解提供局部型面幾何特征參數(shù);3)三角網(wǎng)格曲面模型與數(shù)控加工刀軌截面求交,獲取三角網(wǎng)格曲面模型中與數(shù)控加工刀軌截面相交的三角面片;4)根據(jù)三角面片與數(shù)控加工刀軌截面的位置關(guān)系計(jì)算刀觸點(diǎn),并根據(jù)殘留高度和刀具半徑計(jì)算刀軌行距,在加工方向上按照刀軌行距逐次調(diào)整數(shù)控加工刀軌截面獲取所有的刀觸點(diǎn)集;5)計(jì)算刀觸點(diǎn)處的曲面法向矢量,將刀觸點(diǎn)沿曲面法向矢量偏置刀具半徑獲取刀位點(diǎn),通過對(duì)單刀散亂刀位點(diǎn)集進(jìn)行排序,獲取單刀數(shù)控加工刀軌,連接所有單刀數(shù)控加工刀軌得到三角網(wǎng)格曲面數(shù)控加工刀軌。
2、 如權(quán)利要求l所述的三角網(wǎng)格曲面模型高精度數(shù)控加工刀軌快速生成方法,其特征在 于步驟l)中,改進(jìn)R^tree動(dòng)態(tài)空間索引結(jié)構(gòu)的方法具體是將三角面片及索引結(jié)點(diǎn)MBR統(tǒng)一表示為四維點(diǎn)對(duì)象(U,z,。,其中x,少,z為MBR中心坐標(biāo),r為MBR外接球半徑值,采用k-means算法對(duì)三角面片集合進(jìn)行空間聚類分簇,構(gòu)建三角網(wǎng)格曲面模型動(dòng)態(tài)空間索引 結(jié)構(gòu)。
3、 如權(quán)利要求2所述的三角網(wǎng)格曲面模型高精度數(shù)控加工刀軌快速生成方法,其特征在 于步驟l)中,采用k-means算法實(shí)現(xiàn)三角面片集合的空間聚類分簇的步驟具體是①任意 選取it個(gè)結(jié)點(diǎn)MBR中心作為索引結(jié)點(diǎn)的初始分簇中心;②將每個(gè)非分簇中心索引結(jié)點(diǎn)選擇 距其MBR中心最近的分簇進(jìn)行插入,將分裂結(jié)果規(guī)范化為四維點(diǎn)對(duì)象;③對(duì)于同簇結(jié)點(diǎn)中 的W個(gè)索引結(jié)點(diǎn),其四維標(biāo)準(zhǔn)化坐標(biāo)為; ,(1,,少,,^。) (/=1,...局,將以r,為權(quán)因子計(jì)算所得結(jié)點(diǎn)重心作為新分簇中心,用新分簇中心代替原來的分簇中心;④將新分簇中心和上一次分 簇中心進(jìn)行比較,如果相同則結(jié)束分簇,否則査看分簇次數(shù)是否超過最大分簇次數(shù),如果超 過最大分簇次數(shù),則結(jié)束,否則返回步驟②,繼續(xù)分簇。
4、 如權(quán)利要求l所述的三角網(wǎng)格曲面模型高精度數(shù)控加工刀軌快速生成方法,其特征在 于步驟3)中,獲取三角網(wǎng)格曲面模型中與數(shù)控加工刀軌截面相交的三角面片的方法具體是首先査詢?nèi)蔷W(wǎng)格曲面模型動(dòng)態(tài)空間索引結(jié)構(gòu)中根結(jié)點(diǎn)MBR與數(shù)控加工刀軌截面的位 置關(guān)系,若其與數(shù)控加工刀軌截面相交,逐個(gè)查詢根結(jié)點(diǎn)中各個(gè)子結(jié)點(diǎn)MBR與數(shù)控加工刀軌截面的位置關(guān)系,獲取與數(shù)控加工刀軌截面相交的子結(jié)點(diǎn);然后分別査詢各個(gè)相交結(jié)點(diǎn)中 與數(shù)控加工刀軌截面相交的子結(jié)點(diǎn);最后,獲取與數(shù)控加工刀軌截面相交的三角網(wǎng)格曲面模 型動(dòng)態(tài)空間索引結(jié)構(gòu)數(shù)據(jù)結(jié)點(diǎn),該數(shù)據(jù)結(jié)點(diǎn)中存儲(chǔ)的三角面片即為三角網(wǎng)格曲面模型中與數(shù) 控加工刀軌截面相交的三角面片。
5、 如權(quán)利要求1所述的三角網(wǎng)格曲面模型高精度數(shù)控加工刀軌快速生成方法,其特征在 于步驟4)中,根據(jù)三角面片與數(shù)控加工刀軌截面的位置關(guān)系計(jì)算刀觸點(diǎn)的步驟具體是 ①若三角面片的三個(gè)頂點(diǎn)全部位于數(shù)控加工刀軌截面的上部或者全部位于數(shù)控加工刀軌截 面的下部,則該三角面片與數(shù)控加工刀軌截面無刀觸點(diǎn);②若三角面片的三個(gè)頂點(diǎn)全部位于 數(shù)控加工刀軌截面的內(nèi)部,則取指向三角網(wǎng)格曲面模型外側(cè)且沿?cái)?shù)控加工刀軌截面方向上, 到三角網(wǎng)格曲面模型距離最遠(yuǎn)的一個(gè)或者兩個(gè)三角面片頂點(diǎn)作為刀觸點(diǎn);③若三角面片的三 個(gè)頂點(diǎn)中, 一個(gè)頂點(diǎn)位于數(shù)控加工刀軌截面的一側(cè),其它兩個(gè)頂點(diǎn)位于數(shù)控加工刀軌截面的 另一側(cè),采用構(gòu)建網(wǎng)格邊界曲線法求解刀觸點(diǎn);④若三角面片的三個(gè)頂點(diǎn)中,只有一個(gè)頂點(diǎn) 位于數(shù)控加工刀軌截面內(nèi)部,其它兩個(gè)頂點(diǎn)位于數(shù)控加工刀軌截面同側(cè),則將該頂點(diǎn)作為刀 觸點(diǎn);⑤若三角面片的三個(gè)頂點(diǎn)中,只有一個(gè)頂點(diǎn)位于數(shù)控加工刀軌截面內(nèi)部,其它兩個(gè)頂 點(diǎn)位于數(shù)控加工刀軌截面兩側(cè),則將位于數(shù)控加工刀軌截面上的頂點(diǎn)作為刀觸點(diǎn),將位于數(shù) 控加工刀軌截面兩側(cè)的頂點(diǎn)相連組成網(wǎng)格邊,采用步驟③中構(gòu)建網(wǎng)格邊界曲線法求解刀觸點(diǎn); ◎若三角面片的三個(gè)頂點(diǎn)中,兩個(gè)頂點(diǎn)位于數(shù)控加工刀軌截面內(nèi)部,則將這兩個(gè)頂點(diǎn)作為刀^4點(diǎn)。
6、 如權(quán)利要求5所述的三角網(wǎng)格曲面模型高精度數(shù)控加工刀軌快速生成方法,其特征在 于在步驟4)中的刀觸點(diǎn)求解過程③中,構(gòu)建網(wǎng)格邊界曲線法求解刀觸點(diǎn)的方法具體是 査找端點(diǎn)位于數(shù)控加工刀軌截面的兩側(cè)的網(wǎng)格邊,過網(wǎng)格邊的兩端點(diǎn)分別作三角網(wǎng)格曲面局 部型面的微切平面,當(dāng)兩微切平面共面時(shí),數(shù)控加工刀軌截面與網(wǎng)格邊的交點(diǎn)即為刀觸點(diǎn), 否則計(jì)算網(wǎng)格邊在兩微切平面上投影線的交點(diǎn),構(gòu)造以交點(diǎn)和網(wǎng)格邊兩端點(diǎn)為控制點(diǎn)的拋物 線逼近網(wǎng)格邊生成網(wǎng)格邊界曲線,將網(wǎng)格邊界曲線與數(shù)控加工刀軌截面的交點(diǎn)作為刀觸點(diǎn)。
全文摘要
本發(fā)明提供一種三角網(wǎng)格曲面模型高精度數(shù)控加工刀軌快速生成方法,其特征在于首先構(gòu)建三角網(wǎng)格曲面模型的動(dòng)態(tài)空間索引結(jié)構(gòu),然后基于該結(jié)構(gòu)快速獲取三角網(wǎng)格曲面模型的局部型面參考數(shù)據(jù),并分析三角網(wǎng)格曲面模型的局部型面微分幾何性質(zhì),深度優(yōu)先遍歷三角曲面模型動(dòng)態(tài)空間索引結(jié)構(gòu)獲取三角網(wǎng)格曲面模型中與數(shù)控加工刀軌截面相交的三角面片,通過相交三角面片與數(shù)控加工刀軌截面求交獲取刀觸點(diǎn),將刀觸點(diǎn)沿法向矢量偏置刀具半徑確定刀位點(diǎn),對(duì)散亂刀位點(diǎn)優(yōu)化排序生成數(shù)控加工刀軌,實(shí)例證明該算法數(shù)據(jù)適應(yīng)性強(qiáng),生成數(shù)控加工刀軌精度高,算法運(yùn)行速度快。
文檔編號(hào)G05B19/4097GK101403908SQ20081015974
公開日2009年4月8日 申請(qǐng)日期2008年11月12日 優(yōu)先權(quán)日2008年11月12日
發(fā)明者孫殿柱, 李延瑞, 李心成, 田中朝 申請(qǐng)人:山東理工大學(xué)