0.引言
在過去的50多年里,數控加工技術有了長足的發展,控制器由早期的無存儲能力的控制器發展成為基于PC機的開放式數控(Computer Numerical Control,CNC)系統,一直作為數控設備編程語言的G/M代碼(ISO6983),現在成為下一代數控系統發展的瓶頸。
一種新的國際標準與產品模型數據交換標準兼容的數據接口(STandard for the Exchange of Product model data-compliant Numerical Control data interface,STEP-NC),將被作為新一代數控系統的基礎。這一標準為計算機輔助制造(Computer Aided Manufacturing,CAM)和CNC的生產廠商提供了將計算機輔助設計(Computer Aided Design,CAD)/CAM系統與新一代智能CNC系統集成起來的可能。
計算機輔助工藝設計(Computer Aided Process Planning,CAPP)是連接CAD與CAM的橋梁,開發基于STEP-NC的CAPP系統將成為下一代數據系統及STEP-NC標準發展的關鍵。
STEP-NC是一個面向對象的新型NC編程數據接口國際標準(ISO14649)。STEP-NC數據模型基于制造特征(如孔、型腔、倒角等)進行編程,即對STEP-NC控制器而言,它告訴的是CNC“要加工什么”,而不是“如何加工”的具體動作,因此不需要后置處理程序,具體的動作由CNC確定,程序具有良好的互操作性和可移植性。STEP-NC的詳細數據結構已在其他文獻中作了詳細介紹。
本文通過對STEP-NC及相關國際標準的研究,開發了基于STEP-NC的CAPP/CAM系統。本系統基于數據庫進行開發,將幾何、拓撲和工藝信息映射到數據庫,工藝規劃完成后,將工步、操作等信息存儲到數據庫中。本系統以數據庫為橋梁,實現數據的可操作性,為實現數據信息在CAD/CAPP/CAM系統中的雙向流動打下堅實的基礎。
1. 基于STEP-NC的CAPP的系統總體結構
系統主要包括四個模塊(如圖1),分別為幾何信息提取模塊、特征信息提取模塊、工藝規劃模塊和STEP—NC文件生成模塊,還包括幾何信息庫、工藝資源庫和工藝信息庫三個數據庫。

圖l.基于STEP-NC的CAPP的系統結構圖
(1)幾何信息庫.主要用于存放對STEP文件解析后的幾何信息,這些幾何信息是特征提取、工藝規劃及STEP-NC文件生成的數據基礎。建立幾何信息庫主要考慮三個方面因素:①STEP文件中實體的定義方式;②STEP文件描述零件的幾何外形時各個實體間的引用關系和層次關系;③EXPRESS語言數據類型與數據庫中數據類型的映射關系。
(2)工藝資源庫.主要為工藝規劃提供工藝資源信息,包括機床、刀具、夾具及材料等。
(3)工藝信息庫.用于存儲工藝規劃過程中產生的加工特征、工步、操作等信息。
(4)幾何信息提取模塊.主要用于對零件的STEP文件進行解析,提取STEP文件頭段部分的信息、數據段中用于描述零件幾何外形的實體信息和實體間的引用關系,并將這些信息存儲到幾何信息庫中。
(5)特征信息提取模塊.用于提取加工特征的幾何、位置、方向等信息,并將加工特征的相關信息寫入到工藝信息庫中。工藝規劃時,設計人員可以在三維交互界面中選擇加工特征的關鍵點和面,進而進行加工特征信息的提取。
(6)工藝規劃模塊.通過人機交互實現,主要用于零件的工藝規劃,并生成一系列的加工工步和操作。工藝設計人員首先確定加工特征,然后為該特征選擇和添加刀具、切削速度、主軸轉速和安全平面等工藝信息。
(7)STEP-NC.程序生成模塊在一個零件的工藝規劃過程完成后,將工藝信息庫的加工特征、工步、操作等信息按照ISO14649標準寫入STEP-NC程序。
2. STEP文件與數據庫的映射
本系統將STEP文件的信息映射到數據庫中,由于數據庫具有良好的互操作性,要將STEP文件的幾何信息存放到幾何信息庫中,首先對STEP文件進行解析,讀取其數據信息,將幾何信息存儲到數據庫中。因此,系統首先要實現EXPRESS數據類型與C++數據類型的映射,再實現與SQL Server數據類型的映射。
2.1 數據類型的映射
2.1.1 簡單數據類型的映射
EXPRESS描述的簡單數據類型到C++數據類型和SQL Server數據類型的映射關系如表1所示。
表1.EXPRESS和C++、SQL Server數據類型映射
2.1.2 聚合數據類型的映射
聚合數據類型是具有相同數據類型值的集合。在應用程序中,系統將根據具體情況采用不同的方法實現數據類型的映射,主要包括:
(1)聚合數據類型與數組映射。
(2)根據聚合型數據元素的個數,定義相同個數的變量與其映射,這些變量的類型與聚合型數據元素數據類型相同,映射方法采用簡單數據類型的映射方法。
(3)聚合數據類型一般出現在實體的屬性中,可以將實體與C++類進行映射,聚合型數據也就映射成類中的變量。
幾何信息庫用于存放STEP文件的幾何信息,所以其表結構可以反映文件中相關信息的關系和結構。在數據庫中,通過建立二維表來實現與聚合數據類型的映射,以及數據表中的列與變量的元素映射。
2.1.3 命名數據類型的映射
命名數據類型是用戶說明的數據類型,包含實體數據類型和定義數據類型。這里主要討論實體數據類型的映射方法。
(1)實體數據類型與C++中類的映射
類是一種將不同類型的數據和與這些數據相關的操作封裝在一起的復雜的數據類型,它使得應用中的實體在程序中可以表示為一個標識符,并可以對其進行引用和操作,使得程序中的概念和應用中的概念之間比較一致和對應。
本系統通過建立與STEP文件中實體相對應的類,將實體對應類的內部數據結構與實體的幾何信息建立一一對應的關系,實現了數據的封裝和隱藏。
EXPRESS語言的一個強大之處是面向對象的繼承機制,在繼承關系上引入了三個關系運算子,即ONE OF,AND,ANDOR,這三個繼承算子可以任意組合,嵌套使用,它們與C++中的繼承性和派生類映射關系如表2所示。
表2.EXPRESS語言與c++中的繼承機制映射表
(2)實體數據類型與SQL Server實體數據表的映射
實體數據類型包含的信息比較復雜,同時也會引用其他類型的實體。STEP文件中,通過為實體數據類型添加實體型屬性,實現實體數據類型之間的引用與被引用關系。在SQL Server數據庫中,將實體數據類型映射成二維數據表,通過為不同的實體數據類型建立對應的二維數據表,實現實體數據類型與數據表的映射;通過數據表之間主鍵、外鍵的聯系來映射實體數據之間的引用與被引用關系。
2.2 幾何信息庫的建立
AP203文件描述零件幾何信息的模型反映了各個實體間的引用關系和層次關系,文獻給出了AP203文件數據模型。通過對模型中實體信息及其引用關系的分析,可以得到兩方面信息:①幾何信息庫所包含的實體數據表,為STEP文件中每一種實體建立一個實體數據表與之對應;②上述數據表之間的引用關系,根據圖中實體間的引用關系和層次關系,定義數據庫中實體數據表的引用關系。
數據庫中數據表的具體建立方法如下:
(1)實體的每一個顯式屬性映射為該實體表的一個字段,不同的數據類型屬性按照前面所述的映射規則進行映射。
(2)將該實體的ID號字段設為數據表的主鍵。
(3)如果該實體引用其他類型的實體,添加其所引用實體的ID號字段,體現兩個實體間引用與被引用關系。
利用上述方法建立的幾何信息庫不僅體現了實體數據的屬性信息,還體現了STEP文件中實體間的引用與被引用關系。
2.3 詞法分析
詞法分析是通過對STEP文件的解析,提取出文件中的實體、屬性信息,使之與已經定義好的實體類相匹配的過程。STEP文件中每一行語句表示一個實體,構成了一個實體語句段。對于每一個語句段,詞法分析的作用就是提取實體語句段中的實體名、實體的ID號、實體的各個屬性值。詞法分析的關鍵是解析實體語句段中的單詞序列,實現與實體類的匹配。
系統首先將一個零件的STEP文件讀取到內存中,并定義一個字符指針變量指向該字符串。然后以識別界符“I”為標記,讀取一行文件,即得到了一個實體語句段。詞法分析對這樣一個實體語句段的解析過程的實現流程如圖2所示。

圖2.實體語句段的詞法分析流程圖
現以笛卡爾點為例介紹實體語句段的詞法分析過程,笛卡爾點的語句如下:
#47=CARTESIAN_POIN(“,(-1.5E2,1.E2,-1.5E2));
詞法分析時,首先得到笛卡爾點ID號是47,將ID號賦值給實型數組AttriVarArray的第1個元素;然后得到實體名稱是CARTESIAN_ POINT,將實體名稱賦值給字符串變量EntityName;最后得到三個實型變量-1.5E2,1.E2和-1.5E2,表示笛卡爾點X,Y,Z軸的坐標信息,將它們賦值給實型數組AttriVarArray的第2~4個元素。整個STEP文件的解析過程就是若干個實體語句段的解析過程。在完成一個實體語句段的詞法分析后,對字符申變量EntityName(即實體名稱)進行判斷,找到后續程序的人口,從而將該類實體映射成的實體類實例化,完成將STEP文件幾何信息寫入幾何信息庫中的操作。
2.4 幾何信息庫的相關操作
通過詞法分析,從STEP文件中提取到了幾何信息,通過EXPRESS數據類型、SQL Server數據類型、實體數據表的映射建立了幾何信息庫,現在要解決的問題是如何將幾何信息存儲到幾何信息庫中。
從上文可知,對應于STEP文件中.的實體,系統建立與之對應的類。這些類不但封裝了實體的幾何信息,而且封裝了實體對應函數的操作,這些操作由類中定義的函數實現,包括幾何信息的讀取、匹配、寫入幾何信息庫、從幾何信息庫中讀出等。以笛卡兒點(cartesian_point)為例,它所映射成的類名為CCartesian_point,該類主要包括SQL_insert(),GetData(),Getxyz(CString CCPoint_Id)三個函數。
2.5 STEP文件與幾何信息庫的映射過程
系統定義了相應的實體類,并與STEP文件中的實體類型進行映射,STEP文件與幾何信息庫的映射過程如圖3所示。系統首先要解析零件的STEP文件,當完成一個實體語句段的詞法分析后,會得到實體的ID號、實體的名稱及屬性集。然后,根據實體名稱調用相應的實體類對已經解析出來的幾何信息進行處理,將幾何存入到幾何信息中相應的數據表中。

圖3.STEP文件與幾何信息庫的映射過程
3. 工藝規劃與STEP-NC程序生成
STEP-NC程序的生成過程包括加工特征信息的提取、工藝規劃和程序文件的生成三個部分。
3.1 特征信息提取
特征信息提取是提取加工特征的類型、幾何、位置等信息的過程。加工特征信息的提取實質是加工特征的幾個關鍵面信息的提取,然后對關鍵面的信息進行分析進而得到加工特征的特征信息。以平底盲孔為例,平底盲孑L由一個底面和兩個半圓柱面組成,得到了這三個面的信息后,對它們進行分析就可以得到盲孔的相關信息了。限于篇幅,具體的算法將在其他文獻中介紹。本系統通過人機交互的方式進行工藝規劃,工藝人員在三維模型交互界面中選擇加工特征,得到該特征的關鍵幾何信息后進行特征信息提取。
3.2 工藝規劃
工藝規劃是根據加工特征的類型及工藝要求設置工步、操作、工藝參數的過程。工藝規劃包括工序的安排、機床選擇、刀具選擇、加工策略、切削參數的確定。當通過人機交互完成加工特征的選擇、信息提取后,在工藝參數設置界面中設置詳細的工藝信息。
3.3 STEP-NC文件的生成
STEP-NC文件的生成過程就是將特征信息提取、工藝規劃過程中生成的零件基本信息、坐標系、材料、夾緊點、加工特征、工步、操作等信息按照IS014649標準寫入STE—NC文件的過程,具體過程如圖4所示。

圖4.STEP-NC程序生成沉程
本系統中,程序行號包括七位,分為三組:第一位是第一組,分別取值1,2,3,其中1表示工程、工作計劃、工件和加工工步等基本信息,2表示加工特征信息,3表示操作信息;中間三位是第二組,表示的含義根據第一組的取值變化而變化;后3位是第三組,從001開始遞增,沒有明確的含義。詳細信息如表3所示。
表3.STEP-NC程序行號規則表
4.原型系統
基于上述方法,作者開發基于STEP-NC的CAPP實驗原型系統。利用VC++6.0開發環境,以AutoVue作為三維模型交互顯示界面,數據庫采用SQL Sever 2000。運行時的界面如圖5所示,圖中三維模型由Pro/E建立,并生成STEP文件。

圖5.基于STEP-NC的CAPP系統
在該系統中,首先打開STEP文件,通過詞法分析實現對STEP文件的解析,提取實體屬性信息并存入幾何信息庫中。然后,用戶在三維模型交互顯示界面中選取加工特征,并為該加工特征設置工步、工藝參數,設置界面如圖6所示。工藝規劃完成后,寫出的STEP-NC程序如圖7所示。

圖6.加工工步中工藝參數的設置界面
圖7.STEP-NC程序實例
5.結束語
本文建立了基于STEP-NC的CAPP系統總體結構,分析了各模塊的功能。文中重點研究了STEP文件映射成的幾何信息庫的建立過程,以及STEP文件與幾何信息庫的映射方法和過程。該系統的幾何、工藝信息存放于數據庫中,為將來實現數據信息雙向流動打下了很好的基礎。
相關文章
- 2021-09-08BIM技術叢書Revit軟件應用系列Autodesk Revit族詳解 [
- 2021-09-08全國專業技術人員計算機應用能力考試用書 AutoCAD2004
- 2021-09-08EXCEL在工作中的應用 制表、數據處理及宏應用PDF下載
- 2021-08-30從零開始AutoCAD 2014中文版機械制圖基礎培訓教程 [李
- 2021-08-30從零開始AutoCAD 2014中文版建筑制圖基礎培訓教程 [朱
- 2021-08-30電氣CAD實例教程AutoCAD 2010中文版 [左昉 等編著] 20
- 2021-08-30電影風暴2:Maya影像實拍與三維合成攻略PDF下載
- 2021-08-30高等院校藝術設計案例教程中文版AutoCAD 建筑設計案例
- 2021-08-29環境藝術制圖AutoCAD [徐幼光 編著] 2013年PDF下載
- 2021-08-29機械AutoCAD 項目教程 第3版 [繆希偉 主編] 2012年PDF