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