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