王善濤,劉日良
(山東大學 機械工程學院 高效潔凈機械制造教育部重點實驗室,濟南 250061)
螺桿作為許多機械產(chǎn)品的重要部件,在機械領域有著很廣泛的應用。由于不同螺桿的螺旋曲面廓型成型機理不同、型線樣式復雜多變,螺桿的加工難度越來越大[1]。計算機輔助設計與制造(CAD/CAM)技術是數(shù)字化、信息化制造技術的基礎[2],在螺桿的設計制造中具有廣泛的應用。
關于螺桿CAD/CAM技術,學者們做了大量研究。北京化工大學的康凱敏采用基于Visual Basic6.0環(huán)境的SolidWorks二次開發(fā)原理,以及Access數(shù)據(jù)庫傳遞螺桿參數(shù)的方法開發(fā)出了擠出螺桿的二維零件圖的參數(shù)化設計系統(tǒng)[3]。華南理工大學的胡志明以UG為開發(fā)平臺,Visual C++6.0為編程工具,通過Access數(shù)據(jù)庫建立關系型數(shù)據(jù)表實現(xiàn)了擠出機普通螺桿BM型螺桿、銷釘型螺桿及屏障型螺桿的參數(shù)化設計,用戶輸入螺桿參數(shù)后就可在短時間內完成螺桿的三維造型[4]。華南理工大學的王明君和文勁松在Pro/E軟件中進行二次開發(fā),實現(xiàn)了單螺桿元件的三維造型參數(shù)化設計系統(tǒng)[5]。天津科技大學的梁欣和王平對異型螺桿CAD/CAM進行了相關的研究,討論了幾種異型螺桿造型和加工的方法[6]。目前,尚未出現(xiàn)功能完整的從螺桿模型的快速創(chuàng)建到螺桿加工過程中的刀具軌跡求解的專用CAD/CAM系統(tǒng)。在前人研究基礎上,本文針對螺桿的造型設計和旋風銑削加工方法,希望解決上述不足,研發(fā)出專用CAD/CAM系統(tǒng)。
為了實現(xiàn)螺桿CAD/CAM系統(tǒng),本文選擇以UG NX 8.0軟件為平臺,綜合運用NX Open、Block UI Styler和Menu Script二次開發(fā)工具,以C#為編程語言,結合visual studio 2010作為編程工具。
NX Open是NX面向對象的編程接口,支持多種開發(fā)語言(VB、C++,Java和C#等),可擴展性好,功能強大。UG NX 8.0軟件擁有的JA文件錄制功能[7]可以記錄和回放交互環(huán)境下用戶的操作,利用該功能可以方便快捷地進行二次開發(fā)。NX提供了定制菜單的專用模塊Menu Script。使用Menu Script工具,用戶可以生成自己的菜單,替換UG原有的菜單,也可實現(xiàn)對UG某個菜單的編輯并生成自己的菜單。NX擁有的專用對話框設計工具Block UI Styler幾乎可以滿足所有NX二次開發(fā)需要的界面,并且對話框設計完成后可以自動生成代碼模板,方便用戶編寫程序。
系統(tǒng)采用了可以縮短設計時間、提高設計效率的模塊化設計方式。如圖1所示,根據(jù)螺桿的造型和加工特點,螺桿CAD/CAM系統(tǒng)分為三大模塊:螺桿參數(shù)化設計模塊、讀取螺桿模型模塊和刀具軌跡求解模塊。
螺桿參數(shù)化設計模塊可以快速實現(xiàn)螺桿的三維建模。用戶輸入螺桿參數(shù)和螺桿軸截面線參數(shù)后可以快速生成需要的螺桿三維模型。讀取螺桿模型模塊用于獲得螺桿參數(shù)信息。用戶使用該模塊讀取螺桿模型可以快速了解螺桿模型的參數(shù)信息,方便對其進行刀具軌跡求解。刀具軌跡求解模塊用于求解內旋風包絡銑削加工螺桿時的刀具軌跡。用戶在該模塊中輸入螺桿參數(shù)、螺桿軸截面線參數(shù)和螺桿加工刀具參數(shù)后可以顯示刀具軌跡。
圖1 系統(tǒng)結構功能圖
作為UG環(huán)境下的應用程序,螺桿CAD/CAM系統(tǒng)的開發(fā)遵循二次開發(fā)的常用步驟,包括環(huán)境配置、Menu Script菜單制作、Block UI Styler對話框設計、創(chuàng)建程序框架和程序的編寫與調試等,其完整開發(fā)流程如圖2所示。
首先建立一個名為“UGII_USER_DIR”的用戶變量使其指向一個絕對路徑。在該路徑下新建兩個文件夾application和startup。在startup文件夾下建立一個文本文檔,使用Menu Script腳本語言寫入菜單內容并以.men格式保存,UG啟動后會自動加載。
利用Block UI Styler對話框設計工具,用戶可以根據(jù)自身需求選擇相應的塊目錄添加到要設計的對話框中[8]。對話框設計完成后選擇代碼生成語言為C#,命名保存后會自動生成.dlx文件和.c#文件兩個文件,將.dlx文件放在application文件夾下。
將“%UG安裝路徑%UGOPEN/vs_filesVC#/”下的文件和文件夾復制到“%VS2010安裝目錄%/VC#/”文件夾中,使用UG NX 8.0自帶的基于C#語言的開發(fā)向導NX8 Open C# Wizard編寫程序。啟動visual studio 2010,選用該開發(fā)向導新建一個項目(項目名稱需與對話框名稱相同)。打開新建項目,將原有的.c#文件替換為Block UI Styler生成的.c#文件,之后添加相關引用,編寫程序,調試出.dll文件,將其復制到application文件夾下。
圖2 開發(fā)流程圖
在UG CAD中,二次開發(fā)的參數(shù)化設計[9]方法有兩種,即基于圖形模板的參數(shù)化設計和基于參數(shù)化程序的設計?;趫D形模板的參數(shù)化設計方法的思想是通過修改圖形模板的特征,從而驅動圖形模板發(fā)生相應的變化,達到參數(shù)化設計的目的?;趨?shù)化程序的設計方法的思想遵循點、線、面、體的方式進行,通過尋找模型上的關鍵點或根據(jù)數(shù)學方程求得關鍵點,再把關鍵點連成線,由線構面再構體。基于圖形模板的參數(shù)化設計方法具有參數(shù)修改靈活,程序代碼量小,編譯鏈接快等優(yōu)點,但功能有限?;趨?shù)化程序的設計方法雖然程序代碼量大,不易編譯,但是其功能更為強大。每一種方法都可以通過NXOPEN API編程實現(xiàn)。
結合螺桿造型和實際情況,復雜造型的螺桿設計更傾向于采用基于圖形模板的參數(shù)化設計方法,簡單造型的螺桿設計則可以多采用第二種方法。下面分別對這兩種方法進行介紹。
4.1.1 基于螺桿模板的參數(shù)化設計
基于螺桿模板的參數(shù)化設計是采用三維模型與程序控制相互結合的方式,通過修改部件的表達式,進而修改模型。根據(jù)部件的設計要求,事先建立模型,并確立一組可以完全控制三維模型形狀和大小的設計參數(shù)。參數(shù)化程序針對這些參數(shù)進行編程,實現(xiàn)設計參數(shù)的查詢和修改,根據(jù)新的參數(shù)值更新模型。具體步驟如下:
(1)創(chuàng)建螺桿模板。用UG創(chuàng)建一個由參數(shù)驅動的螺桿三維模型,使其包含基本的設計意圖和設計對象的拓撲特征,并用表達式將參數(shù)關聯(lián)起來。本文建立的螺桿模板及其建模方法如圖3所示。螺桿模板的螺旋槽由螺旋槽樣條曲線和螺旋槽平底組成,如圖4所示。螺桿模板確定螺旋槽樣條曲線的型值點個數(shù)為18個,螺旋槽平底是一條直線段,螺旋槽平底兩端的連續(xù)性為G0連續(xù)。
(2)根據(jù)給定參數(shù),在螺桿模板基礎上生成新的螺桿三維模型。通過相關的程序,編輯螺桿模板文件中的表達式參數(shù)值,然后驅動系統(tǒng)生成新的螺桿三維模型。用戶給定參數(shù)的對話框如圖5所示。其中,螺旋槽半個周期內的型值點個數(shù)即為確定螺旋槽樣條曲線的型值點個數(shù)。
圖3 螺桿模板及其建模方法
圖4 螺桿模板軸截面
圖5 基于螺桿模板的參數(shù)化設計對話框
由于螺桿模板限制,型值點個數(shù)最多為18個。型值點個數(shù)大于2個,螺旋槽平底寬為0時,螺桿模板更新為另一種類型的雙螺桿;型值點個數(shù)為2個,螺旋槽平底寬不為0時,螺桿模板變?yōu)樘菪坞p螺桿;型值點個數(shù)為2個,螺旋槽平底寬為0時,螺桿模板變?yōu)槿切坞p螺桿。因此,用戶使用此螺桿模板生成的螺桿類型最多只有上述4種。
4.1.2 基于參數(shù)化程序的螺桿設計
采用基于參數(shù)化程序的設計方法快速構建螺桿三維模型的程序思路為:
(1)根據(jù)螺桿尺寸參數(shù)插入圓和螺旋線的表達式,使用規(guī)律曲線(LawCurveBuilder)生成圓和螺旋線;
(2)根據(jù)螺桿軸向截面線型值點坐標生成樣條線(StudioSplineBuilderEx),結合螺旋槽平底寬建立基準平面(DatumPlaneBuilder),樣條線基于基準平面鏡像復制(MirrorCurveBuilder)一個,之后分別連接(AssociativeLineBuilder)和橋接(BridgeCurveBuilder)這兩段樣條線,生成一條閉合曲線;
(3)根據(jù)螺桿長度對生成的圓進行拉伸(ExtrudeBuilder),讓閉合曲線沿著螺旋線掃掠(SweptBuilder),生成掃掠體,之后將掃掠體沿Z軸旋轉(MoveObjectBuilder)180度并復制一個;
(4)圓柱體對兩個掃掠體求差(BooleanBuilder),生成螺桿三維模型。
利用Block UI Styler對話框設計工具制作的示例向導對話框界面如圖6所示。用戶依次選擇螺桿樣式、輸入螺桿參數(shù)和螺桿軸向截面線信息后即可生成螺桿三維模型?!斑x擇樣式”一欄包括螺桿的旋向、單雙和錐形或柱形三種?!奥輻U參數(shù)”一欄包括螺桿的大徑、長度和導程等。系統(tǒng)設定型值點個數(shù)最少為2個,最多20個。螺旋槽平底處的連續(xù)性通過第一個型值點的切線方向(TangentDirection)確定,G0連續(xù)不做處理,G1連續(xù)即將其切線方向設為(0,0,1)。
圖6 基于參數(shù)化程序的螺桿設計對話框
用戶使用螺桿CAD/CAM系統(tǒng)的讀取螺桿模型模塊打開需要讀取參數(shù)的螺桿模型,即可顯示螺桿的參數(shù)信息。
讀取螺桿模型的基本原理是通過程序獲得UG工作區(qū)中螺桿的所有特征(Feature),然后逐步獲得這些特征的名稱(GetFeatureName)和表達式(GetExpressions),最后輸出每個特征的名稱和控制該特征的表達式(Expression)的描述(Description)以及表達式(Expression)的名稱和值(Equation)。讀取螺桿模型模塊的實例如圖7所示,左側為螺桿三維模型,右側信息框顯示螺桿的基本參數(shù),包括螺桿長度,底部直徑和圓錐角等。
圖7 讀取螺桿模型實例
螺桿的加工方式有很多種,由此產(chǎn)生的刀具軌跡各有不同。螺桿CAD/CAM系統(tǒng)刀具軌跡求解模塊求取的刀具軌跡是指內旋風包絡銑削加工螺桿過程中的刀具軌跡。利用Block UI Styler對話框設計工具制作的示例向導對話框界面如圖8所示。用戶根據(jù)步驟輸入螺桿參數(shù)、軸向截面線參數(shù)和刀具信息后點擊“完成”按鈕,即可顯示刀具軌跡信息。
圖8 刀具軌跡求解向導對話框
系統(tǒng)求取刀具軌跡的具體方法是刀具軌跡求解軸截面法,具體原理參見文獻[10]。設內旋風銑削刀具刀尖中心點On的坐標為xn,yn,刀尖圓弧半徑為r0,內銑刀盤安裝角為δ,則投影刀尖橢圓模型曲線可表示為:
(1)
刀具軌跡求解模塊對用戶輸入的螺桿軸截面型值點坐標自動進行三次均勻B樣條曲線擬合。具體原理是根據(jù)這些型值點反求出三次均勻B樣條的控制點[11],再基于這些控制點求出三次均勻B樣條曲線的方程,即螺桿軸截面廓型曲線的方程,可寫成如下形式:
(2)
設曲線w(x)與螺桿軸截面廓型曲線(擬合的三次均勻B樣條曲線)的切點為pn,則兩條曲線在pn處有相同的公切線,所以存在以下關系:
(3)
刀具軌跡求解模塊在每段B樣條曲線上等距選取不同的t值(即等參數(shù)選取點),t值由用戶確定,即“每段B樣條取點數(shù)”輸入框。t值確定后就確定了每段B樣條曲線上的點,將這一系列的點設為螺桿軸截面廓型曲線與投影刀尖橢圓模型曲線的切點pn(x,y)。例如,“每段B樣條取點數(shù)”為3時,示意圖如圖9所示。將pn的坐標值帶入由式(1)和式(3)組成的方程組求解即可得到投影刀尖橢圓模型的圓心即刀尖中心點On的坐標xn,yn。
采用軸截面法求解刀具軌跡的過程,工件在每次轉動的過程中為勻速等步距角轉動,同時刀盤沿著工件軸截面的軸向進給運動也為等步距的進給運動,在加工完一個軸截面槽后,工件要轉過一個步距角,根據(jù)螺旋曲面的形成原理可知,刀盤必須要軸向進給一個對應的軸向進給距離來保證螺旋曲面的生成。因此,內旋風銑削螺桿的數(shù)控編程中的NC加工代碼C、X、Z插補信息可表示為:
(4)
其中,△φ為步距角,d為螺桿的底徑值,P為螺桿的導程,△z為刀盤沿著工件的軸向進給步距。
圖9 示意圖
一右旋雙頭擠出螺桿,導程為48mm,外徑35.6mm,底徑23.6mm,螺棱寬2.88mm,螺旋槽平底寬3.12mm,螺桿長度為48mm,螺桿軸截面(螺旋槽部分)半個周期的有效型值點如表1所示。
表1 螺桿軸截面有效型值點數(shù)據(jù)
每段B樣條取點數(shù)為3個,螺旋槽平底兩端G1連續(xù)。內旋風銑削加工螺桿的工藝參數(shù)設置為刀盤安裝角為23.2°,菱形刀片的刀尖圓弧半徑為1.6mm,內銑刀盤的回轉半徑為60mm。
打開UG NX 8.0,在菜單欄會有定制的螺桿CAD/CAM系統(tǒng)菜單,如圖10所示。
圖10 螺桿CAD/CAM系統(tǒng)菜單
根據(jù)以上信息,使用螺桿CAD/CAM系統(tǒng)的螺桿參數(shù)化設計模塊中的基于參數(shù)化程序的螺桿設計方法建立的螺桿三維模型如圖11所示。使用刀具軌跡求解模塊則求解出了相應的螺桿加工過程中的刀位數(shù)據(jù)。
圖11 螺桿三維模型
本文詳細介紹了螺桿CAD/CAM系統(tǒng)的開發(fā)平臺、編程接口和開發(fā)步驟;深入地敘述了CAD/CAM系統(tǒng)的模塊化結構和功能;最后通過一個典型螺桿零件的實例,介紹了CAD/CAM系統(tǒng)的應用情況。該螺桿CAD/CAM系統(tǒng)初步實現(xiàn)了從螺桿的設計到加工的集成,顯著提高了螺桿的設計和制造效率,未來的研究重點是對螺桿的加工過程進行仿真模擬。
[1] Wang K, Wang S Q, Sun X W, et al. Machining Theory of Forming Complex Inner Helicoid and Numerical Algorithm to Design Contour of the Disc-Mill Cuter[J]. Applied Mechanics & Materials, 2011, 141:339-343.
[2] 陳鋼, 王新云, 金俊松,等. 基于UG的轎車差速器直錐齒輪專用CAD/CAM系統(tǒng)[J]. 機械傳動, 2009, 33(3):32-34.
[3] 康凱敏. 新型擠出螺桿參數(shù)化設計系統(tǒng)的研究[D].北京:北京化工大學, 2007.
[4] 胡志明. 基于UG的擠出機螺桿參數(shù)化設計系統(tǒng)的研究[D].廣州:華南理工大學, 2014.
[5] 王明君, 文勁松. 基于Pro/Engineer的擠出機螺桿三維參數(shù)化模塊開發(fā)[J]. 塑料科技, 2009, 37(5):71-73.
[6] 梁欣, 王平. 異型螺桿CAD/CAM的研究[J]. 天津科技大學學報, 2004, 19(1):55-57.
[7] 周臨震, 李青祝, 秦珂. 基于UG NX系統(tǒng)的二次開發(fā)[M]. 鎮(zhèn)江:江蘇大學出版社, 2012.
[8] 汪銳. NX Open API編程技術[M]. 北京:電子工業(yè)出版社, 2012.
[9] 李開林, 胡志明. 擠出螺桿參數(shù)化設計在UG中的實現(xiàn)[J]. 塑料, 2013, 42(6):103-105.
[10] 韓泉泉. 復雜廓型螺桿類零件的內旋風包絡銑削技術研究[D].濟南:山東大學,2014.
[11] 中國煤炭地質總局航測遙感局. 煤航技術研究(10)[M]. 西安:西安地圖出版社, 2009.