易同祥,李利
(1.上海福伊特水電設備有限公司;2.上海而習信息技術有限公司,上海 200240)
目前在投標項目中,對常規(guī)項目而言所給的投標時間較短,但在投標階段中要求提供的保證值較多,為保證在項目實施過程中不出現(xiàn)大的偏差,在投標階段要進行盡可能詳細準確的計算。以水輪機主軸重量估算來說,在投標階段給出的部件重量要盡可能接近部件的真實重量,避免在項目實施過程中因誤差過大造成損失。要在短時間內得到比較準確的部件重量信息,就要不斷提高設計效率和預估準確度,通過對不同的設計結果進行比計較,得到最優(yōu)的解決方案。鑒于水輪機主軸大體上可歸為4大類,可以標準化建模通過參數(shù)控制來建立相對比較準確的三維模型,從而節(jié)約了建立主軸三維模型所花的時間,提高設計的效率,然后根據(jù)實際項目統(tǒng)計結果得到更接近真實主軸的控制尺寸,從而提高設計模型準確度,而基于Excel VBA的Solid Edge二次開發(fā)能很好地解決這一問題。
Solid Edge是三維建模中常用的軟件,由美國Unigraphics Solutions公司開發(fā),因其簡單易學,高效易用的特點在機械設計領域得到了廣泛的應用。該軟件是基于Windows平臺開發(fā)的三維軟件,支持包括VB VC++在內的的多種工具的二次開發(fā),從而大大拓展其功能。VB擁有一個內置的Jet數(shù)據(jù)庫引擎,可以直接訪問Excel工作表,Excel本身有較強的分析計算能力本文正是利用Excel支持的VBA技術進行主軸三維建模的參數(shù)化設計,通過參數(shù)控制得到比較準確的主軸三維模型,進而縮短設計周期,提高設計效率,滿足在投標階段高標準的要求。
根據(jù)以往投標和實際執(zhí)行項目的經(jīng)驗,可以將水輪機主軸大體上分為4類:(1)兩端帶外法蘭、不帶軸領;(2)兩端帶外法蘭、帶軸領;(3)一端外法蘭一端中法蘭、不帶軸領;(4)一端外法蘭一端中法蘭、帶軸領,見圖1。

圖1 四種主軸三維基礎模型
將上述四種模型作為參數(shù)驅動的基礎模型,新的主軸三維模型將以此為基礎,通過判斷excel來判斷主軸的類型,選擇合適的基礎模型,然后通過excel表格中的新主軸的參數(shù)來對基礎模型中的對應參數(shù)進行更新,從而得到新主軸的三維模型。VBA參數(shù)化設計的實質是在基礎模型及變量表的基礎上,通過重新設置模型參數(shù)來驅動Solid Edge生成新的相似的三維模型,因此有必要在基礎模型建立時設定好其控制參數(shù)的名稱。
在Solid Edge二維圖中首先畫出水輪機主軸的二維草圖,設計二維草圖時要保證輪廓草圖處于全約束狀態(tài),以保證依此基礎模型能正確創(chuàng)建其它相似三維模型。再利用三維旋轉命令來建立主軸的三維模型。在“工具”中點擊“變量”菜單,在變量中手動添加該模型的控制尺寸參數(shù),建立起與模型尺寸的對應關系。設計開發(fā)的流程可以用圖2表示。

圖2 VBA開發(fā)流程圖
根據(jù)上述開發(fā)流程圖,在基礎模型中定義了模型的控制參數(shù)及名稱,要實現(xiàn)三維建模的參數(shù)化設計還要在Excel中建立一個相對應關聯(lián)表格,關聯(lián)表格中的尺寸名稱要與基礎模型變量表中的尺寸名稱嚴格一致,以新主軸的控制尺寸來代替基礎模型中的尺寸數(shù)值,然后通過驅動Solid Edge應用程序生成新的主軸三維模型。在Excel中建立一個新的工作表,在表格的第一行輸入控制參數(shù)的名稱,以后各行依次輸入其它控制參數(shù),其中表格第一部分為程序名稱,第二部分為判斷主軸類型的控制參數(shù),最后為主軸的各種控制尺寸。主軸的控制尺寸可以分為兩種,一種是關鍵尺寸,需要手動輸入,另外一種是關聯(lián)尺寸,可以通過關鍵尺寸通過計算得到。本程序的關聯(lián)結合Excel的強大分析功能通過統(tǒng)計分析計算得到,同時為了操作方便,可以在表格的適當位置放置一個按鈕控件,用于更新得到新的三維模型。該按鈕控件可以通過Excel“控件工具箱”添加實現(xiàn)(見圖3)。

圖3 控制參數(shù)輸入界面簡圖
限于篇幅,這里僅顯示VBA程序中關鍵部分源代碼,源代碼設計的思路為,首先設定基礎模型中的控制參數(shù)變量,然后根據(jù)Excel工作表中新的控制參數(shù)數(shù)據(jù)調入到基礎模型的控制參數(shù)變量中,在此基礎上生成新的三維模型,該新模型與基礎模型是相似模型。關鍵的四個模塊分別為定義變量、打開Solid Edge及判斷主軸類型、給變量賦值、生成新的主軸三維模型,為方便操作可以在Excel VBA編程環(huán)境下創(chuàng)建一個“NewModel”的宏,該宏的部分關鍵代碼如下。
2.2.1 定義變量

2.2.2 打開Solid Edge 并判斷主軸類型

2.2.3 給變量賦值


2.2.4 生成新的模型

將編寫好的“NewModel”的宏添加到Excel控件中,用于更新新的三維模型。運行本程序時,只需要將Excel表格打開,將新主軸的類型和尺寸填好,然后程序會自動判斷Solid Edge 是否已經(jīng)打開,然后點擊“Create 3D Model”按鈕就可以得到新參數(shù)控制下的三維模型了。
為了驗證新生成的主軸模型在重量方面的準確度,選取了已經(jīng)實際生產的16個項目的主軸進行對比分析,可以看出通過參數(shù)化生成的三維模型在重量方面與實際主軸的重量差別很小,最大的誤差在2.2%,完全滿足投標階段的設計需要。但通過參數(shù)化的設計能在較短的時間內得到主軸的三維模型,在準確度能滿足的前提下,能為投標階段的設計節(jié)省時間,提高效率及準確度。

圖4 主軸重量預測值與實測值對比分析
在投標設計階段對大量需要重復生成的部件三維模型,通過Excel VBA對Solid Edge的二次開發(fā),介紹了其主要的設計思路。通過本應用程序,輸入幾個具體的控制參數(shù)就可以生成一個新的模型,從而得到該模型的具體參數(shù)如質量、中心等,不僅提高了設計效率,同時也大大節(jié)約了設計時間,重量等信息的準確度也在允許的范圍之內,通過不同的設計結果,可以為遴選最優(yōu)的設計方案提供可靠的幫助,同時也可作為其他部件三維參數(shù)化設計的有益參考,從而從整體上提高投標階段的設計效率。
[1]李強等.基于Excel VBA和Solid Edge創(chuàng)建標準件庫的方法和實例 [J].2005.1.