如何從CAD 系統(tǒng)模型中獲取CAPP 所需信息是目前研究CAD/ CAPP 信息集成的一個(gè)關(guān)鍵問(wèn)題.現(xiàn)代商品軟件MDT ( Mechanical Desktop) 是基于AutoCAD 軟件包開(kāi)發(fā)的新一代特征造型系統(tǒng), 實(shí)現(xiàn)了微機(jī)平臺(tái)上的三維實(shí)體造型( 3D Solid Modelling) 功能.
MDT ARX 開(kāi)發(fā)環(huán)境是AutoCAD 的一種新的二次開(kāi)發(fā)手段, 它是由ARX 核心類(lèi)庫(kù), MCAD API庫(kù)構(gòu)成可以直接訪(fǎng)問(wèn)AutoCAD 數(shù)據(jù)庫(kù)結(jié)構(gòu)、圖形及CAD 幾何造型核心, 建立加工特征的識(shí)別系統(tǒng)對(duì)已完成的零件實(shí)體模型按加工特征進(jìn)行識(shí)別與參數(shù)提取, 解決與CAPP 系統(tǒng)的集成問(wèn)題. 我們以箱體類(lèi)零件為例, 利用面向?qū)ο蠹夹g(shù)對(duì)API 函數(shù)進(jìn)行封裝, 對(duì)API 函數(shù)的功能進(jìn)行分類(lèi)整理, 建立了一套較完整的實(shí)用工具類(lèi)庫(kù)API CLASS. 針對(duì)箱體類(lèi)零件加工特征的特點(diǎn), 開(kāi)發(fā)了一個(gè)基于MDTAPI 加工特征識(shí)別與提取系統(tǒng), 并與面向 柔性生產(chǎn)線(xiàn) 的箱體類(lèi)零件CAPP 系統(tǒng)實(shí)現(xiàn)了初步集成.從而提供了一種從外部( 指其他應(yīng)用程序) 對(duì)全部數(shù)據(jù)結(jié)構(gòu)進(jìn)行控制和管理的途徑.
1 MDT 零件造型特征與箱體類(lèi)零件加工特征
MDT 的零件特征分為三類(lèi): 草圖特征、放置特征和陣列特征. 其中草圖特征為拉伸、旋轉(zhuǎn)、掃掠生成的基本特征; 放置特征是打孔、倒圓、倒角和曲面切割; 陣列特征分為圓形陣列特征和矩形陣列特征.
從加工角度看, 箱體類(lèi)零件形狀特征分為基本特征和復(fù)合特征. 所謂基本特征是單一的、連的、相對(duì)獨(dú)立的簡(jiǎn)單幾何形狀, 與其他特征信息無(wú)相互位置與連接次序的拓?fù)潢P(guān)系, 描述的是零件的基本幾何型面( 諸如直孔、螺紋孔、槽、凸臺(tái)等) ; 復(fù)合特征從形式上看是基本特征的組合, 體現(xiàn)了各個(gè)基本特征之間相互位置關(guān)系與連接次序的拓?fù)潢P(guān)系, 但從制定加工工藝時(shí)的易加工性方面( 與刀具形狀、路徑的映射關(guān)系) 考慮的特征類(lèi)型, 易加工性指的是保證尺寸和位置精度下的快捷加工, 從總體來(lái)看是基本特征在功能、結(jié)構(gòu)與工藝特點(diǎn)上的有機(jī)結(jié)合. 如圖1.
比較兩類(lèi)特征, 造型特征側(cè)重于實(shí)體, 加工特征側(cè)重于型面. 所以, 針對(duì)基本特征有些可以從MDT 中直接提取相應(yīng)的造型特征及其相應(yīng)的參數(shù), MDT 中陣列特征也可為復(fù)合特征提供可參考的信息, 但從滿(mǎn)足整個(gè)零件特征的加工工藝角度考慮, 應(yīng)對(duì)從MDT 中提取的特征做些后置處理. 比如: 在MDT零件特征造型中, 用放置特征類(lèi)型的打孔方式繪制孔1、孔2 ( 孔1 與孔2 不是沉頭孔) 且均以A 面為草圖平面( 如圖2) , 這樣對(duì)孔1 與孔2 用MDT API 函數(shù)提取時(shí), 方向矢量相同. 所以在面向CAPP 進(jìn)行特征處理時(shí), 可先將孔1 和孔2 分別定為特征孔1, 特征孔2. 若孔1 是孔2 的同軸度基準(zhǔn), 加工順序?yàn)?span>F孔1- > F孔2; 否則F孔2- > F孔1. 從表面來(lái)看, 這兩種方法變化不大, 但在計(jì)算切削時(shí)間上差異顯著. 即切削路徑為: 方法1: l1 和l2; 方法2: l2 和l1- l2. 特征工藝信息說(shuō)明各特征之間的拓?fù)潢P(guān)系, 諸如有同軸度的孔形成同軸孔系; 有平行度要求的孔或面形成平行軸孔系或平行平面系列等. 所以為了滿(mǎn)足與后續(xù)子系統(tǒng)( CAPP 系統(tǒng)) 信息集成的需要, 將各個(gè)特征的工藝屬性( 精度、粗糙度、形位公差等) 添加到特征的數(shù)據(jù)結(jié)構(gòu)中, 構(gòu)成零件產(chǎn)品定義模型.
2 加工特征識(shí)別與參數(shù)提取
特征數(shù)據(jù)模型包括描述特征的全部信息, 即特征自身數(shù)據(jù)信息 ( 特征本身幾何尺寸、定位坐標(biāo)、工藝特性、精度、粗糙度等) 和表示特征之間相互關(guān)聯(lián)的拓?fù)湫畔?span>( 關(guān)聯(lián)尺寸、位置公差等) . 特征的幾何尺寸、坐標(biāo)數(shù)據(jù)提取完全依賴(lài)于CAD 系統(tǒng)底層數(shù)據(jù)結(jié)構(gòu)的開(kāi)放程度. 通過(guò)標(biāo)準(zhǔn)文件格式接口直接訪(fǎng)問(wèn)、自動(dòng)交換所有相關(guān)信息. 而特征工藝信息是通過(guò)人機(jī)交互界面添加到相應(yīng)的特征項(xiàng)中.
特征信息識(shí)別系統(tǒng)是在面向?qū)ο罂蚣苷Z(yǔ)言的基礎(chǔ)上開(kāi)發(fā)的特征描述語(yǔ)言, 自動(dòng)生成特征描述框架, 填充有關(guān)的槽值. 特征描述信息的提取是通過(guò)特征描述器( Feature Descriptors) 進(jìn)行的.
MDT 提供了強(qiáng)大的API 函數(shù)來(lái)進(jìn)行特征及其參數(shù)的識(shí)別與提取. 最直接的方法是在開(kāi)發(fā)的程序中調(diào)用MDT API 函數(shù)amiGetPartFeat s ( ) ( 特征的識(shí)別與提取) 和amiGetFeatParams ( ) ( 特征參數(shù)的識(shí)別與提取) .形狀特征識(shí)別和提取模塊程序由Visual C++ 結(jié)合MDT 的API 函數(shù)寫(xiě)成. 該程序段主要由接口程序和主程序組成. 在主程序中, 可調(diào)入MDT 類(lèi)庫(kù)中的用于識(shí)別和提取特征的API 函數(shù) ( 如圖3 所示) , 接口程序的作用是把MDT 環(huán)境和V isual C + + 程序開(kāi)發(fā)環(huán)境連接起來(lái), 利用Microsof t V isual C+ + 和MFC 類(lèi)庫(kù)的可視化工具建立可在MDT 環(huán)境中運(yùn)行的人機(jī)接口界面,如各種信息輸入對(duì)話(huà)框. 在V isual C+ + 開(kāi)發(fā)環(huán)境下進(jìn)行編譯調(diào)試, 最后生成動(dòng)態(tài)庫(kù)ARX (ADS Runt ime Ex tension) , 載入MDT 環(huán)境.
2. 1 特征的拾取方式
( 1) 人工識(shí)別特征: 設(shè)計(jì)者在與各個(gè)加工特征對(duì)應(yīng)的造型特征處用鼠標(biāo)逐個(gè)拾取( pick up) 相應(yīng)的型面, 得到該特征的幾何信息.
( 2) 自動(dòng)識(shí)別特征: 用鼠標(biāo)直接拾取( pick up) 零件, 則自動(dòng)生成零件的全部幾何信息.
2. 2 零件特征的后置處理
無(wú)論是用鼠標(biāo)人工有選擇地拾取, 還是點(diǎn)取零件自動(dòng)得到全部特征信息, 所獲取的只是幾何參數(shù), 描述特征的工藝信息則是通過(guò)人機(jī)界面對(duì)應(yīng)輸入的. 所以對(duì)零件特征要進(jìn)行以下幾步處理, 即所謂的 后置處理 過(guò)程.
( 1) 通過(guò)各特征的方向矢量及類(lèi)型, 自動(dòng)生成特征編碼.
箱體類(lèi)零件采用方向描述的方法. 零件上有待加工特征的型面叫方位面, 以特征所在方位面的方向矢量作為零件特征的定位描述方向. 通過(guò)對(duì)零件特征方位面的編碼, 在工藝規(guī)劃中計(jì)算機(jī)可以很方便地識(shí)別出加工特征的具體方位, 進(jìn)刀方向以及易于選擇工作臺(tái)的類(lèi)型( 固定式或可轉(zhuǎn)位式) 等.
在提取零件特征時(shí)會(huì)自動(dòng)生成特征的方向矢量( cosa, cosβ, cosγ) , 其中cosa、cosβ、cosγ分別表示為某一特征所在方位面的法向矢量與X 軸, Y 軸, Z 軸的夾角余弦. 所以零件特征的方位面可用它的法向矢量與投影在坐標(biāo)系坐標(biāo)平面的方向余弦來(lái)表示, 見(jiàn)表1:
特征拾取時(shí)自動(dòng)生成類(lèi)型編碼為4 位碼輸入相關(guān)信息, 生成全部特征序列.
“XXXX”, 第1 位為方位編碼; 第2 位為類(lèi)型碼,
面= “ 1”, 孔= “ 0”; 第3 位為類(lèi)別碼, 直孔=” 1”, 沉頭孔= “ 2”, 倒角孔= “3”, 凸臺(tái)= “4”, 槽= “ 5”, 平面= “ 6”, 矩形陣列= “ 7”,圓形陣列= “ 8”; 第4 位為螺紋標(biāo)識(shí)碼= “ 8”.同樣特征類(lèi)型編碼也是易于計(jì)算機(jī)在后續(xù)CAPP系統(tǒng)中的處理.
( 2) 零件特征總體信息和工藝信息的輸入過(guò)程.零件總體信息包括零件的名稱(chēng)、型號(hào)、材料和生產(chǎn)批量等; 工藝信息包括描述待加工特征的精度、粗糙度、形位公差等. 對(duì)于人工拾取: 通過(guò)人機(jī)界面進(jìn)行添加, 生成特征鏈表結(jié)構(gòu). 對(duì)于自動(dòng)提取: 通過(guò)人機(jī)界面先刪除非加工特征, 再所以特征模型信息描述如下:
特征( xx xx ) : : = 方位面名稱(chēng)/ 特征類(lèi)型/ 特征名稱(chēng)/ 毛坯形式/ 幾何尺寸/ 表面粗糙度/ 形狀公差/ 位置公差/ 特征基準(zhǔn)識(shí)別. 陣列特征: : = 特征名稱(chēng)/ 被陣列特征/ 陣列參數(shù)/ 相關(guān)尺寸/位置公差. 復(fù)合特征: : = 特征名稱(chēng)/ 組合特征數(shù)目/ 被組合特征名稱(chēng)/ 相關(guān)尺寸/ 位置公差.
( 3) 特征歸一化操作: 確定基本特征庫(kù), 復(fù)合特征庫(kù), 陣列特征庫(kù). 如圖4.
3 CAD/ CAPP 信息集成
本系統(tǒng)是在Window s NT 操作系統(tǒng)上, 用Visual C+ + 5. 0 調(diào)用MFC 類(lèi)庫(kù)、ARX 核心類(lèi)庫(kù), 及MDT API 函數(shù)庫(kù)進(jìn)行MDT 二次開(kāi)發(fā)的ARX 程序. 在MDT 零件特征造型的過(guò)程中, 利用MDT 屬性和對(duì)象鍵( Object Keys) 機(jī)制編制的應(yīng)用程序, 以交互方式由用戶(hù)分別定義總體特征和工藝特征信息, 從而建立面向CAPP 的箱體類(lèi)零件完整的加工特征信息模型. 如圖5 所示.
在計(jì)算機(jī)內(nèi)部處理過(guò)程中, 特征工藝信息( 尺寸公差、形位公差和表面粗糙度等) , 皆與具體形狀有關(guān). 其中尺寸公差和某些形位公差與三維CAD 模型的型面、邊相關(guān). 表面粗糙度和某些形位公差則與模型的型面相關(guān).
當(dāng)輸入尺寸公差時(shí), 可設(shè)置一個(gè)指針, 指向特征有公差要求的尺寸. 在形狀公差中, 除了直線(xiàn)度公差指向要求的直線(xiàn)度邊外, 其余公差指針都指向要求該項(xiàng)公差的某個(gè)型面. 對(duì)于位置公差, 由于涉及到兩個(gè)或兩個(gè)以上的面, 故指針必須同時(shí)指向所涉及到的所有型面, 并指明哪個(gè)是基準(zhǔn)面. 由于表面粗糙度只涉及到一個(gè)型面, 故指針只要指向該型面即可. 在計(jì)算機(jī)內(nèi)部實(shí)現(xiàn)時(shí), 可用帶參數(shù)的函數(shù)來(lái)表示, 說(shuō)明如下:
dimtolerance ( double value, int code, DataT ype*p) / / 尺寸公差函數(shù), 其中value 為公差, code 為配合代號(hào), p 是指針;
shapetolerance ( int type, double value, DataType* p ) / / 形狀公差, 其中type 為類(lèi)別, value 為
公差, p 是指針;
pos t olerance ( int type, double value, DataT ype* p, int BaseFace, int other 〔 〕 / / 位置公差,其中type 為類(lèi)別, value 為公差, p 是指針, BaseFace 是基準(zhǔn)面, other 〔 〕 是其它面; roug hness ( double value, DataType * p) / / 粗糙度, 其中value 是粗糙度值, p 是指針.
注: DataType 為指針?biāo)柑卣鞯臄?shù)據(jù)類(lèi)型.
當(dāng)描述加工特征的所有信息生成后, 在計(jì)算機(jī)內(nèi)部以鏈表結(jié)構(gòu)存儲(chǔ)在零件的定義數(shù)據(jù)模型中, 無(wú)須建立中性接口文件而直接傳遞給下續(xù)的CAPP 系統(tǒng), 實(shí)現(xiàn)無(wú)縫連接.
4 結(jié)束語(yǔ)
在MDT 環(huán)境下, 利用已開(kāi)發(fā)的工具類(lèi)庫(kù)API 函數(shù), 開(kāi)發(fā)人員可以方便地對(duì)三維實(shí)體零件采用自動(dòng)識(shí)別與人工識(shí)別( 菜單選擇) 相結(jié)合的方式進(jìn)行加工特征幾何信息的提取, 最有效地發(fā)揮Auto-CAD 的功能, 以確保CAD 底層數(shù)據(jù)對(duì)各應(yīng)用模塊進(jìn)行信息傳遞的可靠性. 通過(guò)人機(jī)交互界面方式對(duì)應(yīng)各個(gè)特征添加工藝信息, 并進(jìn)行歸類(lèi), 構(gòu)成箱體.
如果您有機(jī)床行業(yè)、企業(yè)相關(guān)新聞稿件發(fā)表,或進(jìn)行資訊合作,歡迎聯(lián)系本網(wǎng)編輯部, 郵箱:skjcsc@vip.sina.com