0 引言
CAD/ CAPP/ CAM 集成是當今計算機在製造科學與工程中應用的一個重要方向, 但現有的CAD、CAPP、CAM 係統是相互獨(dú)立發展(zhǎn)起來的, 它們之(zhī)間沒有(yǒu)一個完整的產品信(xìn)息模型(xíng)支持。從(cóng)目(mù)前的研究狀況看, 實現CAD/ CAPP/ CAM 集成(chéng)的最佳選擇是(shì)利(lì)用特征技術建立統一的數據模(mó)型。其實現的途徑(jìng)有兩類[ 1~3] : ( 1) 建立一個統(tǒng)一的CAD/CAPP/ CAM 信息模型(xíng), 使產品在其生命周期各階(jiē)段都可以進行(háng)數據共(gòng)享; ( 2) 麵向現有的(de)CAD 係統, 通(tōng)過特征定義和提(tí)取(qǔ)信息, 實現間接集成。由於機械產品形式多樣, 製(zhì)造條件各(gè)異, 難於有(yǒu)一個萬能的CAPP 平台適應各種製造環境。隨著(zhe)CAD 技術的廣泛應用, 要求在不同的CAD 軟(ruǎn)件平台上, 針對企(qǐ)業技術產品開發相應的(de)專用的(de)CAPP 係統。所以這種(zhǒng)間接(jiē)集成的(de)CAPP 開發方法將逐漸成為企業的一種需求。
MDT ( AutoCAD Mechanical Deskto p) 是在AutoCAD 基礎上開發的通用三維機械CA D 平(píng)台[ 4] , 主(zhǔ)要包括機械(xiè)CAD 參數化特征造型、曲麵造型(xíng)和裝配(pèi)造型3 大部分, 並(bìng)提(tí)供了ObjectARX 和(hé)MCAD API 等強大(dà)的二(èr)次開發工具, 在我國有著眾多的用戶。在MDT 特征造型的基礎上, 通過(guò)特征識別(bié)和提取, 並附加工藝信息, 實現間接信息集成並開發箱體(tǐ)類零件CA D/ CAPP/ CAM 係統可為有關企業的CAD/ CAPP 集成提(tí)供技術支持。
1 ObjectARX 和MCAD API 開發環境
ObjectARX ( AutoCAD Runt ime eXtension, AutoCAD 的運行擴展庫) 是Autodesk 公司推出的一種用以(yǐ)替代ADS 的新的AutoCAD 二次開發(fā)工具。ARX 程序實際(jì)上(shàng)是與AutoCAD 共享地址空間的Window s 動態連接庫( DLL ) , 它可以直接調用AutoCAD 內核數據和函數, 因此(cǐ)能夠獲得比AutoLISP和ADS 更快的速度。並且ObjectARX 還可以充分利(lì)用Visual C+ + 提供的Micro sof t 基礎類庫 ( MFC) , 能夠最大程度地利用MFC 所提供的方便條件。ObjectARX 由基本ARX 類庫構成(chéng), 是典型的文檔-控製-視結構, 包括AcDb、Adsrx 、AcEd、AcRx 、AcGi、AcGe、ACIS、AcBr 等類[ 5] 。
MCAD API( Mechanical A pplicat io n Prog rammingInterface) 是MDT 應用程序接口函數庫, 增強並擴展了ObjectARX。MCAD API 由一係列接口(kǒu)函數構成, 提供(gòng)了參數化特征編輯和高層建模技術, 並通過Object Keys 技術與ARX 類庫交互作用, 為程序(xù)員提供(gòng)了通用(yòng)的C 語言(yán)接口(kǒu)函數。MCAD API 具(jù)有統一的對象引用機製, 統一了API 函數接口, 強化了幾何抽象, 支持幾何變更事(shì)件, 為參數化模(mó)型生(shēng)成過程提供了統一(yī)的集成, 並支持屬性的創(chuàng)建、定製、附加、查(chá)詢和編輯等功能。
同ADS 程序一樣, 利用(yòng)ObjectARX 和MCADAPI 開(kāi)發應用程序時, 必須也有類似ADS main ( )函數的入口函數acrxEnt ryPoint ( ) 和initApp ( ) 、unlo adApp( ) 等(děng)程序初始化函數。入口(kǒu)函數acrxEntrypoint ( ) 用於MDT 與應用程序進行信息(xī)交換, initApp( ) 函數用於MFC 的初始化和命令的注冊,而unlo adApp( ) 函數用於關閉應用程序時撤消注冊命令和MFC 初始化。
2 基(jī)於ObjectARX 與MCAD API 實現(xiàn)CAD/CAPP 的關鍵技術
2. 1 MDT 環境下箱(xiāng)體類零件特征造型和特征庫的建立
MDT 的零件特征分為3 類: 草圖特征、放置特征和陣列(liè)特征。草圖(tú)特征包(bāo)括(kuò)拉伸、旋轉、掃描生成的基本(běn)特征; 放置特征包括打孔(kǒng)、倒圓(yuán)、倒角、曲麵切割; 陣(zhèn)列特征包括有圓形陣列特(tè)征和矩形陣列特征。
MDT 環境(jìng)下箱體類零件特(tè)征(zhēng)建(jiàn)模過程( 如圖(tú)1所示) 的一般步驟為: ( 1)零(líng)件設計構思; ( 2) 生成基本特征; ( 3) 分析零件; ( 4)生成其餘特征; ( 5) 分(fèn)析(xī)零件; ( 6) 必要時修改特征(zhēng)。基於上述基本特征,
可以綜(zōng)合(hé)利用MDT 命令、ARX 類庫和(hé)MCAD API函數根據實際(jì)需要創(chuàng)建箱體(tǐ)類零件形狀特征庫。特征庫中的(de)各(gè)特征類包括幾何形(xíng)狀特征(zhēng)屬(shǔ)性和精度特征屬性等。從加工角度看,箱體類(lèi)零件形狀特征(zhēng)可分為基本特征和複合特征[ 6] 。
2. 2 箱體類零件特征信
息模型的表達(dá)根據需要建(jiàn)立基(jī)本特征和複合特征信息(xī)的框架表達, 即建立特征數(shù)據庫和知識庫, 然後利(lì)用MDT的屬性和對(duì)象鍵( Object Keys) 機製建立工藝信息與零件形狀特征模(mó)型(xíng)的(de)動態關聯關係[ 5] 。
用戶應用程序和MCAD API 之間的交互大部分是通過對象鍵( Object Key s) 進行的, 在API 函數中使用Keys 來引用實體, 如幾何鍵( Geometr yKeys) 用來引用幾何對象( 曲麵、曲線(xiàn)、點) ; 使用零件鍵( Part Keys) 和特征鍵( Featur e Keys) 來引用零件(jiàn)和特征對象。而引用對象的必要信息全部存儲在Key 對象中, 當(dāng)Key 傳遞給API 函(hán)數時, MDT 係統就會知道是哪個程序創建該Key, 從而執行相應的代碼, 完成相應的功能。Key 是一個(gè)持久的引用對象, 他可(kě)保護應用程序不隨(suí)對象的改變而改變。屬性( At t ributes) 是與(yǔ)實體相關聯的數據。屬性可通過對象鍵( Object Keys) 機製附加到任何(hé)幾何體(tǐ)上(shàng), 所附加的屬性在(zài)模型的生成過程中始終保持有效。屬性的創建一般有兩(liǎng)種方法: 可實例化屬性( Attribute class) 和繼承屬性( Derived class) 。屬(shǔ)性的操作有: 定義, 創建(jiàn), 實例化; 附加(jiā), 查詢, 存儲(chǔ)和讀入等。
應用程序的數據既可通過屬性附加等方法隨同MDT 數據(jù)庫( . dw g 文件) 一起存儲, 也可以存儲(chǔ)在(zài)外部數據文件中。對於零件總體特征信息通過屬性機製與特(tè)定(dìng)零件之(zhī)間建立動態關聯關係, 而與特征(zhēng)有關的工藝信息, 如精度特征等則(zé)與相(xiàng)應的特征或特(tè)征麵之間建立動態關聯關係。對於所需的外部數
據如加工鏈決策庫、刀具資源庫、加(jiā)工餘量數據庫,可(kě)利用ODBC( 開發式數據庫互聯) 建立外部(bù)數據庫或數據文(wén)件(jiàn)。
在MDT 零件特征造(zào)型的過程中, 利用MDT屬性和對象(xiàng)鍵( Object Keys) 機製編製的應用(yòng)程序以交(jiāo)互方式由用戶分別定義總體特征和特征工藝信息(xī), 從而建立麵向(xiàng)CAD/ CAPP 的箱體類零件完整特征信息模型。
2. 3 特征識別和信息提(tí)取
建(jiàn)立零件特征信息模型之後, 就(jiù)可以對特征進行信息提(tí)取, 最後(hòu)輸出為以麵向對象框架描述(shù)的零件特征信息, 作為後續CAPP 的(de)輸入信息。特征信息提取主(zhǔ)要包(bāo)括特征描述信息的(de)提取和特征工藝信息( 特征附加屬性) 的(de)提取。
特征描述信息的提(tí)取是通過特(tè)征描述器進行的。特征描述器( Featur e Descripto rs) 包含構造特(tè)征的所有信息(xī), 內容主(zhǔ)要有: ( 1) 特征(zhēng)的一(yī)般信息, 如孔的直徑、倒圓的半徑等; ( 2) 特征的定位信息( Locator); ( 3) 特征終止信息( T erminator) 。
特征(zhēng)工藝信息作為特征附加屬性是利用MDT的屬性機製實現的(de)。零件(jiàn)特征提取算法的一般步驟(zhòu)如下: ( 1) 選擇零件, 獲取零件Key, 建立零件對象CPart ; ( 2) 取零件總體特征數據; ( 3) 取所有加(jiā)工特征; ( 4) 選擇一個(gè)特征, 獲(huò)取特征Key , 建立特征對象CFeat ; ( 5) 取特征描(miáo)述數據, 包括(kuò)特征名稱、特征類(lèi)型、特征尺寸參數信息、特征的定位信息、特征終止信息等; ( 6) 取特征工藝數(shù)據; ( 7) 重複步驟4 至6, 直到掃描(miáo)完零件的所有加工特征(zhēng)。
在程(chéng)序中, 對於某一幾何形狀特征而言, 必須提取表示該形狀特征的基本參數。例如, 對於形狀特征盲孔通孔而言, 必須提取其兩個基本參數, 即半徑和孔長。該特(tè)征通過父類槽繼承預先建立的孔類框架FHole 的屬性數據、規則(zé)和方法, 作為(wéi)後續特(tè)征單元排序和工藝規程生成(chéng)的推理依據。
3 箱體類(lèi)零件CAD/CAPP 集成係統的框架結構
零件信息(xī)的描述和處理是箱體類零件CAPP 係統的(de)關鍵之一, 其描(miáo)述方法常受係統工(gōng)藝設計原理和零件幾何特征等因素的影響。采用MDT 環(huán)境下的特征(zhēng)技術則會很(hěn)好地解決這個問題: 在MDT 環境(jìng)下對箱(xiāng)體(tǐ)類(lèi)零件進行特征造型, 並通過人機交互方式輸入工藝信息, 這樣在工藝分析時(shí)就可以通過特征(zhēng)識別和信息提取技術來獲得(dé)必要的幾何信息和工藝信息。工藝設計是CAPP 係統(tǒng)的核心, 根據特征的麵(miàn)向對象性(xìng)質, 采用工藝知識(shí)的框架形式的表示方法可以建立起工(gōng)藝信息與零件特征的動態關聯, 從而進行工藝推理。
本CAD/ CAPP 集(jí)成係統是作為計算機輔助生產線設(shè)計係統中一個子係(xì)統而開發的, 其工作流程是: 在MDT 特征造型基礎上, 提取特征幾何信息,通過人機接口界麵添加工藝信息, 而後輸入到CAPP 係統中, 通過推理生成加(jiā)工路線, 為計算機輔助生產線設計提供設計基礎(chǔ)。係統的結構如圖2 所示, 主要包括有控製模塊, 零件工藝輸入模塊, MDT特征造型模塊, 特征識別與信息提(tí)取模塊(kuài), 工藝設計模塊, 輸出模塊和零件特征(zhēng)工藝庫(kù)等模塊[ 3, 7] 。
在應用層主要包括麵向用戶的(de)操作界麵、加工鏈決策庫、刀具資源庫(kù)、加工餘量數據庫和切削用量庫等數(shù)據(jù)庫的操作。由於加工鏈決策庫、刀具資(zī)源庫、加工餘量數據庫和切削用量庫是外部規則庫, 不同的生產環境會有不同的選擇結果, 因此麵向用戶開放, 用戶可以進行增加、刪除和修改。
4 運(yùn)行實例與結論
以某變速箱殼體為例, 該零件圖如圖3 所示, 其主要加工特征為孔、麵和凸台。通過(guò)如圖4 所(suǒ)示的(de)特征信息輸入(rù)界(jiè)麵輸入工藝信息, 並保存在程(chéng)序內部的數據結構中, 從該數據結構中可(kě)以提取工(gōng)藝(yì)排序所需的所有特征信息, 輸出(chū)到工藝排序的應用程序中, 通過CAPP 係(xì)統的推理決(jué)策, 可得到加工路(lù)線如圖5 所示。
通過天津第(dì)一機床廠柔性自動線快速響應設計係(xì)統開發過程對MDT 的二次開發工具ObjectARX和MCAD API 的(de)實際使用表明: 它(tā)可以使CAD 與CAPP 間接信息集成; 同時(shí), 以Window s 95 或Windows NT 為操作係統, 利用MS Visual C+ + 、ARX類庫、MFC 類庫、MCAD API 函數等構建(jiàn)的應用程序功能強大(dà), 運行速(sù)度快, 而(ér)且程序分明(míng)、代碼簡潔,具有良好的可(kě)維護性和可重用性。
如果您有機床行業、企業相關新聞稿件發表,或進行資訊合作(zuò),歡迎聯係本網編輯部, 郵箱:skjcsc@vip.sina.com