陳積翠,郭建勛,席東
中車株洲電力機車有限公司 湖南株洲 412001
隨著市場對電力機車外觀的要求越來越高,電力機車外型不斷創新,新車均采用流線型構造,復雜三維曲面蒙皮大量出現在車體結構中。由于采購專用模具非常昂貴,目前在小批量項目中,一般制造企業采用薄板成型機配合手工調修的方法實現蒙皮成形,使用鋼模進行蒙皮檢驗。由于鋼模繪制極其復雜且費時,一套鋼模從三維造型到二維出圖,一位工程師可能需花費一天的時間來完成。隨著蒙皮數量的增大,改善鋼模的繪制方法勢在必行。
鋼模三維模型如圖1所示,鋼模設計要求由鋼模插板組合而成的上表面與三維蒙皮外形完全吻合。設計流程為“設立基準面→三維曲面投影→繪制草圖→拉伸→剪切→插板開槽→提取插板特征生成獨立零件→繪制零件草圖→繪制鋼模裝配圖……”。

圖1 鋼模三維模型
此方法存在較大缺陷:①初步統計,1位工藝員完成上述任務約需8h,耗費大量的時間。②鋼模設計要求高且設計過程中需要使用的NX命令繁多,導致鋼模繪制的方法無法推廣。
本文利用UG軟件平臺上UG/OPEN提供的UG/Open API(應用程序接口)、UG/OPEN GRIP(圖形交互程序)、UG/OPEN UIStyle(用戶界面制作工具)和UG/OPEN MenuScript(界面菜單編制語言)等二次開發工具,結合鋼模繪制的需求以及鋼模設計企業標準,基于C++語言設計程序算法,采用Ufun與NXOpen結合的方式對UG進行二次開發,實現鋼模設計的全過程自動化、規范化和高效化[1,2]。
采用UG自帶的UG/OPEN UIStyle制作出圖2所示的鋼模自動設計操作界面,操作步驟如圖3所示。本文開發程序中的鋼模自動設計界面包含兩個部分:一是零件處理,實現坐標系轉換、鏈接面、草圖和拉伸體自動生成;二是數據顯示與輸入,實現三維曲面尺寸自動計算與顯示以及插板間距交互輸入[3]。

圖2 鋼模自動設計操作界面

圖3 鋼模自動設計操作步驟
(1)三維曲面前處理 圖4所示為某車型關鍵部件的外部蒙皮。在設計過程中,三維曲面的坐標系為工作坐標系(WCS),為了便于后續草圖搭建和算法設計,需在鋼模設計前,將三維曲面零件坐標轉換至與絕對坐標系(ACS)重合。
根據線性代數理論,二維坐標系的轉換分為旋轉變換和平移變換。三維空間內坐標系轉換都可以由兩個二維旋轉矩陣的乘積來表示。在UG二次開發中,裝配件零件的移動可以通過調用UF_ASSEM_repositon_instance來完成。
首先通過交互界面由用戶按逆時針選擇3個點(見圖4),調用NXOpen中的DatumPlaneBuilder命令創建基準面,通過UF_CSYS_create_csys創建WCS坐標系,再調用UF_CSYS_set_wcs設置實體對象的坐標系,使整個實體對象沿著基準面擺平。通過UF_ASSEM_repositon_instance將實體對象移動至絕對坐標系。

圖4 三維多曲率蒙皮
為了保證生成的鋼模貼合蒙皮下表面,需抽取蒙皮的下表面生成鏈接曲面,將鏈接曲面投影至上述生成的基準面中。由于蒙皮的下表面可能是離散的,通常需要由用戶選擇多個面組合而成,因此需先構建一個Face指針型Vector變量,來收集所有曲面。再通過NXOpen中WaveLinkBuilder、FaceDumbRule來生成鏈接曲面。
(2)鋼模設計數據處理 為保證鋼模的可制造性,按現有工藝方法,將三維實體轉換為由X方向和Y方向板厚均勻的插板組合而成的裝配體,替代之前處理過程中生成的三維實體。為了合理設置插板間距,在程序運行前,需要提取三維曲面的長、寬、高尺寸,在交互界面進行展示[4]。
在UG二次開發中獲取蒙皮的長、寬、高尺寸通常有兩種方法。
1)通過UF_MODL_ask_bounding_box得到零件的最大包絡面。此函數獲取基于絕對坐標系下的X、Y、Z3個方向的最大值及最小值。零件的長、寬、高表述如下。

2)通過遍歷體的點和點的空間距離獲取零件的三維尺寸。雖然UG中點的坐標都是基于絕對坐標系表達的,但由于之前已經將零件的WCS坐標系轉換為絕對坐標系,因此通過對獲取的點進行排序,即可求出零件X、Y、Z3個方向的尺寸,再在交互界面控制函數update_cb中調用Set函數即可,調用程序如下。
this->double0->GetProperties()->SetDouble(“Value”,dialog_xuanzeti->x);
this->double01->GetProperties()->SetDouble(“Value”,dialog_xuanzeti->y);
this->double02->GetProperties()->SetDouble(“Value”,dialog_xuanzeti->z);
(3)插板生成算法設計 三維鋼模主體由相互垂直的插板彼此組合而成,用插板上表面組成的包絡面來擬合三維曲面輪廓。鋼模自動設計程序步驟如圖5所示。

圖5 鋼模自動設計程序步驟
用戶輸入插板間距值并繪制X、Y方向的基準線。為了保證由基準線生成的實體能夠完整地切割由鏈接面投影后生成的實體,在拉伸前需對基準線進行延長,以Pt0(x0,y0,z0)、Pt1(x1,y1,z1)兩點構成的X方向基準線為例,延長算法如下。
1)先獲取基準線的方向向量,其中Length為基準線長度。

2)再沿著方向向量,對兩個點的坐標延長距離L。

3)根據新坐標,調用NXOpen內函數CreateLine重新生成基準線。
程序基于延長后的基準線及用戶輸入的插板間距自動陣列生成草圖后,對三維曲面前處理中生成的三維實體進行反復求差。以X方向插板生成為例,進行算法說明。
插板整體生成流程如下。
首先,對Y方向基準線進行偏置,對實體進行剪切,生成插槽。

式中,Li為偏置間距(mm);t為插板厚度(mm);Length為X方向基準線長度(mm);Lx-space為用戶輸入的X方向間距(mm);count為總列數。
其次,對X方向基準線進行偏置,對實體進行剪切,生成插板。

插板生成算法如圖6所示,生成后X方向的插板和插槽如圖7所示。

圖6 插板生成算法

圖7 X方向的插板和插槽
(4)鋼模零件批量生成 上述生成的插板屬于拉伸體,為了使這些拉伸體變成單獨的零部件,程序在執行過程中需自動對全部拉伸體調用去除特征參數api接口,將拉伸體轉變為獨立的實體。
實體生成后,通過調用裝配模塊接口函數新建零件。將上述獨立的實體按裝配圖名稱順序保存為單獨的零件,在保存的過程中,對每個零件自動賦予材料參數,并自動計算該零件的長、寬尺寸,同時標注序號,便于后面信息的導出。
(1)自動出圖 一套鋼模在繪制完成后,通常由15~30個獨立的零件組成。在實際生產過程中,先采用激光切割完成零件的下料,再通過組焊完成整個裝配過程。因此,需要繪制鋼模的零件圖樣以及鋼模的裝配圖。
為了提高鋼模整體完成效率,本文設計了自動出圖模塊。基于生成的鋼模三維裝配圖,通過程序自動循環遍歷裝配體中的每一個零件,同時通過坐標系轉換和零件最大表面比對輸出單個零件的三視圖,并導出DWG二維圖樣。
由于插板在實際生成過程中,是通過鏈接面對實體進行剪切而獲得的,因而導致在蒙皮曲率較大處生成的插板經常存在上、下兩個表面不一致的情況(見圖8)。在實際生產過程中,生成插板草圖時,投影插板的最大平面用于激光切割下料,因此在生成零件草圖時,需進行處理,方法如下。

圖8 插板上、下表面
1)獲取最大平面。通過UF_MODL_ask_body_faces、UF_MODL_ask_list_item函數循環遍歷獲取實體對象的所有平面,通過MeasureFaces函數獲取所有平面的面積,排序后得到面積最大的平面Face_max。
2)設置零件圖法向。通過UF_MODL_ask_face_data獲取Face_max的法向向量Dir(nx0,ny0,nz0),并設置為二維零件圖樣的法向。
3)設置零件圖X方向。由式(3)可獲得X方向基準線的方向向量(xx,yy,zz),由于向量垂直則乘積為零,所以如果nx0×xx+ny0×yy+nz0×zz=0,就可以將方向向量(xx,yy,zz)設置為零件圖樣的X方向。
由于在鋼模設計過程中,已經賦予了鋼模中每個零件獨立的序號,因此可以同時生成鋼模的裝配圖,便于鋼模的組裝與焊接。鋼模自動設計結果如圖9所示[5]。

圖9 鋼模自動設計結果
(2)C++與KF語言結合信息輸出 通常在鋼模圖樣準備完成后,需要編制相應的工藝文件來指導車間進行生產。工藝文件中包含鋼模零件圖號、最大長寬尺寸、零件厚度和數量等信息,采用人工編制以上文件極其繁瑣。
因此,在完成鋼模三維模型設計與二維圖樣輸出后,本文程序中也設計了鋼模零件信息批量輸出模塊。但UG本身對于數據導出至其他軟件保留了一定的權限,不太方便,因此可將UG與KF語言相結合,并通過預制模板的方式,將程序獲取到的數據輸出至鋼模設計工藝文件當中,用戶可以直接使用,無需進行修改。
本文基于UG二次開發,實現了三維鋼模的自動設計,完成了三維零件生成、零件屬性賦予、二維裝配圖樣和零件圖樣的自動輸出以及零件信息自動導出過程的全自動化,主要價值包括以下幾個方面。
1)將設計鋼模過程中用到的全部UG功能集成到程序中并自動執行,用戶只需輸入少量參數,操作簡便。
2)本文中所設計的程序算法可滿足任意類型的多曲率三維蒙皮鋼模設計。
3)本文提出的鋼模自動設計方法規范了鋼模設計流程,用戶無需再思考鋼模設計過程,只需與軟件進行交互。
4)極大地提高了工藝準備效率。通過程序自動化執行,消除了諸如零件生成、圖樣輸出和零件信息輸出等重復性工作,大大提高了鋼模設計效率。以往專業的工程師繪制鋼模的時間長達8h,而采用本文中的程序來進行鋼模設計,時間可以縮短至5min以內,效率提升了95倍。