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