易同祥,李利
(1.上海福伊特水電設備有限公司;2.上海而習信息技術(shù)有限公司,上海 200240)
目前在投標項目中,對常規(guī)項目而言所給的投標時間較短,但在投標階段中要求提供的保證值較多,為保證在項目實施過程中不出現(xiàn)大的偏差,在投標階段要進行盡可能詳細準確的計算。以水輪機主軸重量估算來說,在投標階段給出的部件重量要盡可能接近部件的真實重量,避免在項目實施過程中因誤差過大造成損失。要在短時間內(nèi)得到比較準確的部件重量信息,就要不斷提高設計效率和預估準確度,通過對不同的設計結(jié)果進行比計較,得到最優(yōu)的解決方案。鑒于水輪機主軸大體上可歸為4大類,可以標準化建模通過參數(shù)控制來建立相對比較準確的三維模型,從而節(jié)約了建立主軸三維模型所花的時間,提高設計的效率,然后根據(jù)實際項目統(tǒng)計結(jié)果得到更接近真實主軸的控制尺寸,從而提高設計模型準確度,而基于Excel VBA的Solid Edge二次開發(fā)能很好地解決這一問題。
Solid Edge是三維建模中常用的軟件,由美國Unigraphics Solutions公司開發(fā),因其簡單易學,高效易用的特點在機械設計領(lǐng)域得到了廣泛的應用。該軟件是基于Windows平臺開發(fā)的三維軟件,支持包括VB VC++在內(nèi)的的多種工具的二次開發(fā),從而大大拓展其功能。VB擁有一個內(nèi)置的Jet數(shù)據(jù)庫引擎,可以直接訪問Excel工作表,Excel本身有較強的分析計算能力本文正是利用Excel支持的VBA技術(shù)進行主軸三維建模的參數(shù)化設計,通過參數(shù)控制得到比較準確的主軸三維模型,進而縮短設計周期,提高設計效率,滿足在投標階段高標準的要求。
根據(jù)以往投標和實際執(zhí)行項目的經(jīng)驗,可以將水輪機主軸大體上分為4類:(1)兩端帶外法蘭、不帶軸領(lǐng);(2)兩端帶外法蘭、帶軸領(lǐng);(3)一端外法蘭一端中法蘭、不帶軸領(lǐng);(4)一端外法蘭一端中法蘭、帶軸領(lǐng),見圖1。
圖1 四種主軸三維基礎模型
將上述四種模型作為參數(shù)驅(qū)動的基礎模型,新的主軸三維模型將以此為基礎,通過判斷excel來判斷主軸的類型,選擇合適的基礎模型,然后通過excel表格中的新主軸的參數(shù)來對基礎模型中的對應參數(shù)進行更新,從而得到新主軸的三維模型。VBA參數(shù)化設計的實質(zhì)是在基礎模型及變量表的基礎上,通過重新設置模型參數(shù)來驅(qū)動Solid Edge生成新的相似的三維模型,因此有必要在基礎模型建立時設定好其控制參數(shù)的名稱。
在Solid Edge二維圖中首先畫出水輪機主軸的二維草圖,設計二維草圖時要保證輪廓草圖處于全約束狀態(tài),以保證依此基礎模型能正確創(chuàng)建其它相似三維模型。再利用三維旋轉(zhuǎn)命令來建立主軸的三維模型。在“工具”中點擊“變量”菜單,在變量中手動添加該模型的控制尺寸參數(shù),建立起與模型尺寸的對應關(guān)系。設計開發(fā)的流程可以用圖2表示。
圖2 VBA開發(fā)流程圖
根據(jù)上述開發(fā)流程圖,在基礎模型中定義了模型的控制參數(shù)及名稱,要實現(xiàn)三維建模的參數(shù)化設計還要在Excel中建立一個相對應關(guān)聯(lián)表格,關(guān)聯(lián)表格中的尺寸名稱要與基礎模型變量表中的尺寸名稱嚴格一致,以新主軸的控制尺寸來代替基礎模型中的尺寸數(shù)值,然后通過驅(qū)動Solid Edge應用程序生成新的主軸三維模型。在Excel中建立一個新的工作表,在表格的第一行輸入控制參數(shù)的名稱,以后各行依次輸入其它控制參數(shù),其中表格第一部分為程序名稱,第二部分為判斷主軸類型的控制參數(shù),最后為主軸的各種控制尺寸。主軸的控制尺寸可以分為兩種,一種是關(guān)鍵尺寸,需要手動輸入,另外一種是關(guān)聯(lián)尺寸,可以通過關(guān)鍵尺寸通過計算得到。本程序的關(guān)聯(lián)結(jié)合Excel的強大分析功能通過統(tǒng)計分析計算得到,同時為了操作方便,可以在表格的適當位置放置一個按鈕控件,用于更新得到新的三維模型。該按鈕控件可以通過Excel“控件工具箱”添加實現(xiàn)(見圖3)。
圖3 控制參數(shù)輸入界面簡圖
限于篇幅,這里僅顯示VBA程序中關(guān)鍵部分源代碼,源代碼設計的思路為,首先設定基礎模型中的控制參數(shù)變量,然后根據(jù)Excel工作表中新的控制參數(shù)數(shù)據(jù)調(diào)入到基礎模型的控制參數(shù)變量中,在此基礎上生成新的三維模型,該新模型與基礎模型是相似模型。關(guān)鍵的四個模塊分別為定義變量、打開Solid Edge及判斷主軸類型、給變量賦值、生成新的主軸三維模型,為方便操作可以在Excel VBA編程環(huán)境下創(chuàng)建一個“NewModel”的宏,該宏的部分關(guān)鍵代碼如下。
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)實際生產(chǎn)的16個項目的主軸進行對比分析,可以看出通過參數(shù)化生成的三維模型在重量方面與實際主軸的重量差別很小,最大的誤差在2.2%,完全滿足投標階段的設計需要。但通過參數(shù)化的設計能在較短的時間內(nèi)得到主軸的三維模型,在準確度能滿足的前提下,能為投標階段的設計節(jié)省時間,提高效率及準確度。
圖4 主軸重量預測值與實測值對比分析
在投標設計階段對大量需要重復生成的部件三維模型,通過Excel VBA對Solid Edge的二次開發(fā),介紹了其主要的設計思路。通過本應用程序,輸入幾個具體的控制參數(shù)就可以生成一個新的模型,從而得到該模型的具體參數(shù)如質(zhì)量、中心等,不僅提高了設計效率,同時也大大節(jié)約了設計時間,重量等信息的準確度也在允許的范圍之內(nèi),通過不同的設計結(jié)果,可以為遴選最優(yōu)的設計方案提供可靠的幫助,同時也可作為其他部件三維參數(shù)化設計的有益參考,從而從整體上提高投標階段的設計效率。
[1]李強等.基于Excel VBA和Solid Edge創(chuàng)建標準件庫的方法和實例 [J].2005.1.