趙文輝,張 琪,段振云,孔令斌
(沈陽工業(yè)大學 機械工程學院,沈陽 110870)
?
基于STEP的大型模具自動編程技術*
趙文輝,張 琪,段振云,孔令斌
(沈陽工業(yè)大學 機械工程學院,沈陽 110870)
提出一種基于STEP的自動編程方法,快速準確編制大型模具的孔與平面加工程序。建立模具三維模型STEP中性文件EXPRESS語言與VC++的映射關系,設計詞法分析模塊處理文件信息,提取模具幾何信息。對提取的孔特征和平面特征的幾何信息進行歸類統(tǒng)計,優(yōu)化刀具路徑后,生成NC子程序,用于定義刀具路徑。根據(jù)加工工藝,設計NC主程序代碼模板,設定工藝參數(shù),調用子程序,實現(xiàn)孔和定位平面的快速自動編程。提高了大型模具的編程效率和質量,是STEP-NC技術的有益探索。
大型模具;STEP-NC;自動編程;程序模板
近年來汽車工業(yè)迅猛發(fā)展,眾多企業(yè)都努力縮短研發(fā)周期,降低生產成本。大型汽車模具造型復雜、孔與平面數(shù)量種類繁多、模型數(shù)據(jù)量龐大。傳統(tǒng)的數(shù)控加工主要依靠CAM軟件交互式編程,需要操作者通過人機交互選擇幾何信息。操作過程繁瑣,需要配置工藝參數(shù),工作量繁重,容易出錯或遺漏。
因此,研究自動編程技術尤其是大型模具的孔和平面的數(shù)控編程有著重要的實際意義,而前提是獲取模型的信息。蔡麗安等利用API函數(shù)來獲取零件的實體信息,識別模型中的特征,用于后續(xù)加工,但僅限于SolidWorks軟件[1]。產品數(shù)據(jù)交換標準STEP(Standard for the Exchange of Product model data)獨立于CAX軟件,是產品全生命周期中數(shù)據(jù)表達和交換共享的國際標準,標準代號為ISO 10303[2-4]。目前,在常規(guī)數(shù)控機床上還無法直接使用STEP-NC,需要轉換成G代碼或者構建后置處理器[5]。
本文建立STEP文件與VC++映射關系,提取模具模型的特征信息。由于大型模具編程的特殊性,對提取的孔特征和平面特征的幾何信息進行歸類統(tǒng)計,優(yōu)化數(shù)控加工的刀具路徑,生成刀具路徑子程序,設計平面加工、過孔加工、銷孔加工等NC主程序代碼模板,并調用子程序,實現(xiàn)孔和小平面的快速自動編程。
大型模具模型復雜、數(shù)據(jù)量龐大,需要加工大量的孔和定位平面。圖1是一種大型汽車模具中的上模,總體長寬高分別為2200×1800×300mm。該模具上有大量的孔和定位面,傳統(tǒng)的NC代碼數(shù)控編程方法采用交互式編程,編程效率低。編程者為了避免遺漏和出錯,手工對不同的孔和平面分門別類,標上顏色。因此,迫切需要一種自動編程技術,提高效率和準確性[6]。
而STEP-NC以STEP格式統(tǒng)一表示數(shù)控加工過程中的幾何、精度、工藝參數(shù)等全部信息,將產品數(shù)據(jù)交換標準從CAD擴展至CAM,從而取代傳統(tǒng)的CNC代碼。但STEP-NC技術尚處于研究階段,目前還沒有實用級別的STEP-NC系統(tǒng)。通過后置處理器,將STEP文件與CNC數(shù)控系統(tǒng)連接, 是針對現(xiàn)有CNC 系統(tǒng)的一個過渡形式[7-9]?,F(xiàn)有的CNC系統(tǒng)種類繁多且互不兼容,并且STEP-NC代碼解析復雜,因此為每個CNC系統(tǒng)開發(fā)專用STEP-NC后置處理單元是非常龐大的工程。
圖1 大型模具上模(加工時方向,工作時倒置)
2.1 STEP文件
STEP文件是STEP-NC技術的基礎,采用純正文編碼格式,遵循國際標準ISO-10303標準中的第21部分定義規(guī)則書寫。文件總體格式如圖2所示。
STEP文件基于邊界表達法(b-rep)來描述產品,實體造型由點、線、面、殼等組成,通過路徑使產品幾何與拓撲信息聯(lián)系在一起[10]。EXPRESS能夠完整地描述產品信息,但是EXPRESS是非編程語言,需要另一種編程語言與之映射,從而提取產品信息。VC++語言是最常用的CAX軟件開發(fā)的平臺。
圖2 STEP文件格式
2.2 幾何信息提取
STEP中性文件是一個龐大的字符串形式的文本文件,必須對其詞法分析才能進行信息提取。經(jīng)過詞法分析后,產品信息被保存在數(shù)組中,并賦給相應的實體。具體幾何信息提取方法如下:
(1)打開STEP文件,定義關鍵字數(shù)組char *key[]以及分隔符數(shù)組char *separator[]。分隔符有“,”、“=”、“(”、“)”、“))”等。
(2)建立文件行讀取函數(shù)ReadLine(int i),遍歷文件中的實體關鍵字,查找出關鍵字相應的VC++實體類,建立映射關系。由于中性文件數(shù)據(jù)段有著固定的描述格式,因此可以逐行分析讀入的數(shù)據(jù),根據(jù)讀取每段內的字符串數(shù)據(jù),提取實體號、實體屬性值等信息。
(3)建立信息提取函數(shù)LineScan(int i)。通過分隔符,提取字符串信息,并存放到一個二維數(shù)組中。包括實體標識號、實體關鍵字、實體名稱、實體屬性(1、2、3……)等。
(4)變量賦值。將提取的實體號、屬性等信息,賦值給定義的變量,如string instanceAtt[]。
(5)實例化。根據(jù)實體類型在char*key[]中的位置,定義VC++類對象,用string instanceName作為對象名,將string instanceAtt[]的值賦給成員變量,提取出相應實體的屬性信息(比如孔的直徑),位置信息(比如圓心坐標)。
針對大型模具加工目前存在的困難和現(xiàn)有的加工設備,從STEP文件中提取幾何信息,用孔和平面加工模板,實現(xiàn)孔和平面的自動編程是理想的方法。
模具孔作為模具中的基本組成特征,其加工方式統(tǒng)一,但是數(shù)據(jù)量龐大,增加了模具的編程時間。由于孔(平面)的加工工藝類似,有相同的工步,因此可以設定NC代碼模板。比如過孔需要進行中心鉆、鉆孔和擴孔工序。銷孔需要進行中心鉆、鉆孔、擴孔和鉸孔工序。在模具的眾多孔中,可以分成幾組,分別采用同一種加工工序模板,每個模板設置相同的參數(shù)。對提取的孔特征和平面特征的幾何信息進行歸類統(tǒng)計,優(yōu)化刀具路徑后,生成NC子程序,用于定義刀具路徑。根據(jù)加工工藝,設計過孔、盲孔、銷孔和平面加工的NC主程序代碼模板,設定工藝參數(shù),調用子程序,實現(xiàn)孔和定位平面的快速自動編程。
圖3所示為從模具中提取的6個過孔的屬性,上表面為120mm,下表面為90mm。對這些孔按直徑分類,分別是2個直徑6mm的孔(坐標為-110,250;110,330),和4個直徑為6.5mm的孔(坐標為-110,210;-110,370;110,210;110,370)。然后自動生成刀具軌跡點位子程序,分別是O0010,O0020和O0030,如圖4所示。過孔加工主程序如圖5所示,依次選擇中心鉆、6mm鉆頭、6.5mm鉆頭,設置加工參數(shù),調用上述子程序,完成中心鉆、鉆孔工步。
圖3 孔幾何信息
圖4 刀具點位軌跡子程序 圖5 孔加工主程序
(1)大型模具上孔和小平面規(guī)格繁多,數(shù)量龐大。手工編程或交互式編程的工作量繁重,效率低,且容易出錯。本文根據(jù)三維模型的STEP文件,提取幾何信息。對幾何信息進行分類統(tǒng)計,生成G代碼。提高了大型模具的編程效率和質量,是STEP-NC技術的有益探索。
(2)深入分析STEP文件的數(shù)據(jù)格式,建立EXPRESS語言與VC++語言之間的映射關系,設計STEP
文件詞法分析器,實現(xiàn)產品信息的提取。
(3)將提取出的位置信息、屬性信息分類整合,整合后的信息生成NC子程序,用于定義刀具路徑。設計了過孔、盲孔、銷孔和平面加工的NC主程序模板,設定工藝參數(shù),調用子程序,實現(xiàn)孔和定位平面的快速自動編程。保證了數(shù)據(jù)的準確性,極大地提高了編程與加工的效率。
[1] 蔡麗安, 徐穎, 張友梅. 基于實體模型的自動特征識別技術[J]. 上海師范大學學報,2010,39 (2) : 161-165.
[2] 劉保國,徐小定,岳龍旺,等. 基于STEP中性文件的旋轉機械Pro/E模型C++實例化[J]. 制造業(yè)自動化,2013(4):79-81.
[3] Michael J Pratt. Introduction to ISO 10303-the STEP Standard for Product Data Exchange [J].American Society of Mechanical Engineers,2001(1):102-103.
[4] ISO. ISO 10303-1 Overview and fundamental principles[S].International Standard, Geneva: ISO TCl84/SC4,1994-12-15.
[5] 肖文磊,郇極. 基于XSLT的通用STEP-NC后置處理器開發(fā)[J].計算機集成制造系統(tǒng),2012,18(10): 2196-2200.
[6] 段振云, 孔令斌, 趙文輝,等.覆蓋件模具數(shù)控加工方法的研究[J].組合機床與自動化加工技術,2015(4): 123-125.
[7] ISO . ISO 10303-11 Description methods: The EXPRESS language reference manual [S]. International Standard, Geneva: ISO TCl84/SC4, 2003-7-21.
[8] 王銳, 張承瑞,劉日良. STEP中性文件的信息提取與圖形顯示[J]. 機械科學,2004,23(9):1117-1119.
[9] 張英男, 王軍, 孫軍,等.基于STEP-NC的自由曲線曲面插補技術的研究[J]. 組合機床與自動化加工技術, 2010(2):1-4.
[10] ISO Industrial Automation Systems and Integration-Product Data Representation and Exchange-Part21: Implementation Method: Clesr Text Encoding of the Exchange Structure[S]. ISO 10303-21, 1994.
(編輯 李秀敏)
Automatic Programming Technology of Large-scale Mold Based on STEP
ZHAO Wen-hui, ZHANG Qi, DUAN Zhen-yun, KONG Ling-bin
(School of Mechanical Engineering, Shenyang University of Technology, Shenyang 110870,China)
An automatic programming method based on STEP is proposed to quickly and accurately compile the NC program of hole and plane of large-scale mold. The mapping relationship between the STEP file EXPRESS language of the mould 3D model and the VC++ is established. Mould geometry information is extracted, by designing lexical analysis module to process file information. The geometrical information of the hole and the plane is classified, then the NC subroutine is generated, which is used to define the tool path. According to the processing technology, the NC main program code template is designed to set the process parameters and call the subroutine. The fast automatic programming of the hole and the positioning plane improves the programming efficiency and quality of the large-scale mold, and it is a useful exploration of STEP-NC technology.
large-scale mold; STEP-NC; automatic programming; program template
1001-2265(2016)10-0142-03
10.13462/j.cnki.mmtamt.2016.10.038
2015-11-04
“十二五”國家科技支撐計劃(2015BAH47F02)
趙文輝(1978—),男,浙江溫嶺人,沈陽工業(yè)大學講師,博士,研究方向為自由曲面的重構與加工的研究,(E-mail)atuitoto@hotmail.com。
TH165;TG506
A