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