摘要:在NC(Numerical Control)仿真中,工件三維圖形處理是一項(xiàng)關(guān)鍵技術(shù)。既要實(shí)現(xiàn)幾何造型的顯示功能,又要求三維圖形具有可加工性、加工成品的信息具有可記錄性。為此,采用Brep(邊界表示法)模型和面向?qū)ο蠹夹g(shù)相結(jié)合的方法,設(shè)計(jì)一種記錄NC仿真中工件形狀數(shù)據(jù)變化信息的數(shù)據(jù)結(jié)構(gòu),構(gòu)建NC仿真系統(tǒng)中工件表面動(dòng)態(tài)幾何模型。實(shí)現(xiàn)NC仿真中每個(gè)數(shù)控刀位工件加工表面的生成與判斷。NC仿真完成后,可以判斷零件的加工表面與非加工表面,進(jìn)而分析零件表面加工質(zhì)量(表面粗糙度)。
關(guān)鍵詞:NC仿真; Brep模型;工件
中圖分類號(hào):TP391.9 文獻(xiàn)標(biāo)識(shí)碼:A
Building Workpiece Surface Dynamic Geometry
Model Basing on Brep Model
ZHANG Xia1,YANG Yue2
(1.Dept of computer science Xiangnan University, Chenzhou423000,China,
2.Dept.of Transport Engineering, Central South University ,Changsha410075,China)
Abstract:The key technical problem of roughcast in NC machining simulation is to handle threedimension shape, which includes the method of display and machinability of threedimension geometrical shape of roughcast, recording the information of parts process. A kind of data structure of threedimension shape is used to record the workpiece shape changing information which manages workpiece entity dynamic data efficiently. New workpiece machining surfaces are generated and judged ineach NC simulation step. NC simulation finished,the machining surface and the nonprocessed surface are analyzed and then workpiece surface roughness can be predicated.
Key words:NC simulation; Brep model; workpiece
1概述
NC仿真是代替?zhèn)鹘y(tǒng)試切來驗(yàn)證NC加工程序的重要手段。為縮短產(chǎn)品的開發(fā)周期、降低生產(chǎn)成本及提高企業(yè)的市場競爭力發(fā)揮重要的作用[1]。NC加工仿真可采用兩種方法來實(shí)現(xiàn),一種是基于圖像空間的消隱算法來實(shí)現(xiàn)動(dòng)畫顯示。另一種是基于三維實(shí)體建模技術(shù),利用布爾實(shí)體造型的方式,實(shí)現(xiàn)NC加工過程動(dòng)態(tài)圖形仿真。前者在定性的圖形顯示和干涉檢驗(yàn)方面即幾何仿真起到了重要作用。但若用基于圖像空間消隱法來實(shí)現(xiàn),則原始數(shù)據(jù)都會(huì)轉(zhuǎn)化為像素值,不能滿足我們仿真系統(tǒng)后續(xù)進(jìn)行工件表面加工質(zhì)量分析提取有幾何信息(如切削深度和寬度)的需要。并且由于工件實(shí)體的數(shù)據(jù)都轉(zhuǎn)化為像素值,仿真完成后,零件的表面信息無法獲取,不能判斷零件加工表面與非加工表面,以致無法進(jìn)行工件表面加工質(zhì)量分析。另外考慮到我們的開發(fā)平臺(tái)AutoCAD建立的實(shí)體模型是BRep(Boundary representation)模型。邊界表示法[2]構(gòu)建的實(shí)體模型正確描述了物體邊界上的面、環(huán)、邊、點(diǎn)的數(shù)據(jù)及連接關(guān)系。而且AutoCAD的二次開發(fā)工具ObjectARX提供的AcBr庫,可以實(shí)現(xiàn)對(duì)實(shí)體邊界信息的訪問和獲取。所以,我們?cè)O(shè)計(jì)了基于實(shí)體邊界模型以邊界面為核心的單鏈表表示的工件數(shù)據(jù)結(jié)構(gòu),能夠記錄NC仿真中工件形狀數(shù)據(jù)變化信息,有效地實(shí)現(xiàn)了工件形狀動(dòng)態(tài)數(shù)據(jù)管理。這樣既實(shí)現(xiàn)了工件切削過程動(dòng)態(tài)幾何仿真,又可獲取零件的邊界面信息和一些有用的幾何信息。為本NC仿真系統(tǒng)后續(xù)的零件加工表面質(zhì)量分析研究做好了準(zhǔn)備。
2邊界表示法(Brep)
實(shí)體建模技術(shù)是伴隨著CAD/CAM技術(shù)的發(fā)展而出現(xiàn)的,它大約出現(xiàn)在70年代初,經(jīng)過20多年的發(fā)展,現(xiàn)已經(jīng)成為一門較為成熟的技術(shù)。
目前國際上出現(xiàn)了各種各樣的實(shí)體建模方法,如體素調(diào)用法、單元分解法、掃描變換法、八叉樹法、邊界表示法、構(gòu)造實(shí)體幾何法和混合表示法等。由于本文的工件數(shù)據(jù)結(jié)構(gòu)是基于實(shí)體邊界模型,下面主要討論邊界表示法。
邊界表示法是以三維物體邊界為基礎(chǔ)來定義和描述幾何形體的方法,即將物體的邊界拆成一些有邊界的面的子集來表示。如圖1所示,邊界表示法中每一個(gè)面可通過它的邊界邊和邊的端點(diǎn)來表示。并可用以下的定義公式表示:
Bs=(VS,ES,F(xiàn)S)(1)
其中VS、ES和FS分別表示三維物體S相應(yīng)的點(diǎn)集、邊集和面集。
圖1邊界表示法
邊界表示法強(qiáng)調(diào)物體外表的細(xì)節(jié),詳細(xì)記錄了構(gòu)成物體的所有幾何元素的信息及相互間的聯(lián)接關(guān)系。因而可以直接提取物體的各個(gè)組成面、面的邊界邊及各個(gè)頂點(diǎn)的數(shù)據(jù),且有利于以面、邊為基礎(chǔ)的各種幾何算法和操作,如線框圖的繪制、有限元網(wǎng)格剖分、數(shù)控加工刀具軌跡計(jì)算、碰撞干涉檢驗(yàn)和真實(shí)感圖形顯示等。
計(jì)算技術(shù)與自動(dòng)化2012年9月
第31卷第3期張霞等:基于Brep的工件表面動(dòng)態(tài)幾何模型
3工件切削過程幾何仿真
對(duì)于工件幾何切削仿真,我們采用實(shí)體建模技術(shù),利用布爾實(shí)體造型,連續(xù)地將刀具運(yùn)動(dòng)軌跡上每個(gè)數(shù)控刀位的刀具掃描體與工件作布爾差運(yùn)算來實(shí)現(xiàn)。工件與刀具掃描體的布爾差運(yùn)算,通過AutoCAD的二次開發(fā)工具ObjectARX的AcDb3dSolid類的成員函數(shù)booleanOper()來實(shí)現(xiàn)。
4工件表面動(dòng)態(tài)幾何模型
4.1工件實(shí)體模型
采用AutoCAD的三維實(shí)體造型技術(shù)來定義工件。可根據(jù)工件的實(shí)際形狀和尺寸,應(yīng)用拉伸法、旋轉(zhuǎn)法、掃描法進(jìn)行三維造型方法或者利用AutoCAD提供的一些基本體素進(jìn)行布爾運(yùn)算生成三維實(shí)體,并將實(shí)體模型保存起來,形成工件圖形庫,在仿真時(shí)直接調(diào)入。
4.2工件數(shù)據(jù)結(jié)構(gòu)
在NC仿真中,工件形狀不斷變化逐漸形成最終的零件,為了記錄零件形狀數(shù)據(jù)變化信息,有必要設(shè)計(jì)工件三維形體的數(shù)據(jù)結(jié)構(gòu)。由第2節(jié)可知邊界表示的實(shí)體模型正確描述了物體邊界上的面、環(huán)、邊、點(diǎn)的數(shù)據(jù)及連接關(guān)系。另外,AutoCAD的二次開發(fā)工具ObjectARX提供的AcBr庫,可以實(shí)現(xiàn)對(duì)實(shí)體邊界信息的訪問和獲取。因此,我們?cè)O(shè)計(jì)了單鏈表的數(shù)據(jù)結(jié)構(gòu)來描述工件表面動(dòng)態(tài)幾何模型。該數(shù)據(jù)結(jié)構(gòu)以面為核心,記錄工件的B—Rep模型的數(shù)據(jù),具體包括實(shí)體、表面、邊和點(diǎn)四個(gè)層次。圖2所示的數(shù)據(jù)結(jié)構(gòu)表示了它們之間的相互關(guān)系。
圖2工件實(shí)體數(shù)據(jù)結(jié)構(gòu)
采用面向?qū)ο螵3]的方法定義了邊類EdgePara、面類FacePara和體類SolidPara來表示工件幾何體。圖3給出了它們的具體形式:
(a) 工件幾何體邊類 (b) 工件幾何體面類
(c) 工件幾何體體類
圖3工件幾何體的表示
圖中邊類操作ComparaTwoEdges(EdgePara *pedge1, EdgePara *pedge1)用于比較兩邊的異同;面類操作ComparaTwoFaces(FacePara *pface1, FacePara *pface1)用于比較兩面的異同;操作ColTwoFaces(FacePara *pface1, FacePara *pface1)用于判斷兩面是否相互包含,該函數(shù)用集合的思想實(shí)現(xiàn)面的包容判斷,對(duì)面Face1與面Face2求交,得到面Face3,若面Face3的邊界數(shù)據(jù)與Face2完全相同,則認(rèn)為面Face2被面Face1包容。體類操作getFaceofSolid(AcDb3dSolid *psolid,int n)獲得實(shí)體面的信息并返回面的首指針。
4.3工件加工表面的生成與判斷
NC仿真系統(tǒng)運(yùn)行時(shí),刀具每走一個(gè)數(shù)控刀位,工件的幾何形狀都要發(fā)生改變[4],即生成了一些新的加工表面。利用上面給出的工件實(shí)體數(shù)據(jù)結(jié)構(gòu)可以記錄工件的表面數(shù)據(jù)。但對(duì)于每一數(shù)控刀位新形成的表面,其中有些表面是由上一數(shù)控刀位表面切去一部分而形成的,即它們被以前數(shù)控刀位的所形成表面所包容。那么這些面的表面質(zhì)量是應(yīng)由以前相應(yīng)數(shù)控程序段仿真的幾何參數(shù)和加工參數(shù)所確定。所以在生成新表面的同時(shí),還必須進(jìn)行邊界面的包容判斷。
如下圖4所示,其中圖4(a)為某段NC程序仿真前的情況,4(b)為仿真后的情況。從圖我們可以知道,對(duì)應(yīng)圖4(b)中的面b11和面b12被圖4(a)中的面a1包含,而面b21和b22被圖4(a)中的a2包含。它們是由前段仿真步驟生成的邊界面,在本次仿真中被切除了一部分改變了面的邊界而重新生成,因此,它們的表面質(zhì)量在前段仿真步驟已決定,在本次仿真不更新。
(a) 新表面加工前 (b)新表面加工后
圖4加工表面的包容判斷
在NC仿真前,用實(shí)體類的成員函數(shù)getFaceofSolid(AcDb3dSolid *psolid,int n) 獲得工件所包含的各個(gè)面的信息并返回面的首指針,形成最初工件邊界面數(shù)據(jù)文件。用同樣的方法得到在每一步仿真前后工件各個(gè)面的信息,再用面類的兩成員函ComparaTwoFaces(FacePara *pface1, Face Para
*pface2)和colTwoFaces(FacePara *face1,F(xiàn)acePara *face2)比較該步仿真前的工件的每個(gè)面與仿真后工件每個(gè)面的信息,對(duì)于不同且不包含的面即為該步仿真新生成的面,并將其添加到記錄新生成面的信息的數(shù)據(jù)文件中。直到仿真結(jié)束,在用面類的成員函數(shù)colTwoFaces(FacePara *face1, FacePara *face2)將該數(shù)據(jù)文件中記錄的所有面與最初的數(shù)據(jù)文件中的面進(jìn)行遍歷比較,找出被最初的數(shù)據(jù)文件中的面包含的所有面,它們即為該數(shù)控仿真過程中的非加工表面,而其它面為加工表面。下圖5給出了工件切削仿真過程中,加工表面的生成與判斷流程。利用該工件表面動(dòng)態(tài)幾何模型以及工件加工表面的生成與判斷算法,NC加工仿真結(jié)束后,我們可以判斷出工件的加工表面和非加工表明,再利用表面加工質(zhì)量預(yù)測模型可估算出加工表面的粗糙度。下圖6給出了一殼體零件NC仿真結(jié)果。
圖5零件加工表面的生成與判斷
圖6NC仿真結(jié)果
5結(jié)束語
我們提出了基于實(shí)體邊界模型、以邊界面為核心的單鏈表表示的工件數(shù)據(jù)結(jié)構(gòu),并采用面向?qū)ο蟮姆椒ń⒘诉咁怑dgePara、面類FacePara和體類SolidPara,有效地實(shí)現(xiàn)了工件加工表面數(shù)據(jù)動(dòng)態(tài)管理。該工件數(shù)據(jù)結(jié)構(gòu)與本系統(tǒng)建立的表面誤差數(shù)學(xué)模型相結(jié)合,NC仿真完成后,既可得到“真實(shí)”零件三維實(shí)體模型,又可觀測零件的加工尺寸和預(yù)測零件加工表面的粗糙度,實(shí)現(xiàn)了仿真結(jié)果的可視化。
參考文獻(xiàn)
[1]何玉林.計(jì)算機(jī)圖形學(xué)[M].北京:機(jī)械工業(yè)出版社,2004.
[2]韓向春,鄭蓉建.數(shù)控圖形仿真的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與設(shè)計(jì),2006,6:2281—2284.
[3]張祖浩,葛建芳.C++程序設(shè)計(jì)基礎(chǔ)與實(shí)踐教程[M].北京:電子工業(yè)出版社,2009.
[4]梁宏寶,李國喜,陳穎.三坐標(biāo)虛擬加工環(huán)境研究[J].計(jì)算機(jī)輔助設(shè)計(jì)與制造,2001,6:31—32.