王 勁,趙宏偉,郭天德
WANG Jin, ZHAO Hong-wei, GUO Tian-de
(西安理工大學(xué) 機(jī)械與精密儀器工程學(xué)院,西安 710048)
Solid Edge是Siemens PLM Software公司面向中端市場推出的Velocity Series解決方案中的三維CAD軟件,Velocity Series解決方案包括Solid Edge、Femap、CAM Express和Teamcenter共4個產(chǎn)品,涵蓋了產(chǎn)品開發(fā)過程中的產(chǎn)品設(shè)計(jì)、仿真分析、數(shù)控加工和產(chǎn)品數(shù)據(jù)管理。
機(jī)械設(shè)計(jì)處理的對象都是三維實(shí)體,采用三維CAD軟件進(jìn)行機(jī)械產(chǎn)品設(shè)計(jì)不僅使設(shè)計(jì)過程直觀、方便,同時(shí)也為機(jī)械產(chǎn)品后續(xù)作業(yè),如工程分析、工藝設(shè)計(jì)、物性計(jì)算、運(yùn)動仿真、數(shù)控編程等各領(lǐng)域的應(yīng)用提供了方便,對實(shí)現(xiàn)CAD/CAM技術(shù)的集成、保證產(chǎn)品數(shù)據(jù)的一致性和完整性提供了技術(shù)支持。近年來三維CAD技術(shù)已經(jīng)在國內(nèi)企業(yè)有了比較廣泛的應(yīng)用,三維CAD軟件大有取代AutoCAD等二維CAD軟件之勢。
某環(huán)保企業(yè)為提高企業(yè)的設(shè)計(jì)技術(shù)水平,采用三維CAD軟件替代目前使用的CAXA二維CAD軟件,在CAD軟件選型招標(biāo)中,通過對UG NX、Pro/E、SolidWorks和Solid Edge四種軟件在軟件價(jià)格、參數(shù)化設(shè)計(jì)、標(biāo)準(zhǔn)件庫、可開發(fā)性和支持中文等方面的反復(fù)比較,最終選定了Solid Edge軟件。
灰斗是該環(huán)保企業(yè)產(chǎn)品中的一個重要部件,圖1所示為某型號產(chǎn)品的灰斗組,灰斗組是由多個灰斗構(gòu)成的矩陣,根據(jù)設(shè)備要求不同,灰斗的高度、寬度、傾斜角度、灰斗組的數(shù)量和各灰斗板上筋板的數(shù)量等會發(fā)生變化。圖2所示為單個兩層灰斗,下面以圖2所示灰斗為例,說明灰斗參數(shù)化三維模型設(shè)計(jì)的方法。
圖1 灰斗組
圖2 灰斗
灰斗設(shè)計(jì)參數(shù)包括下口的長度和寬度、上口的長度和寬度、高度、面板上橫筋的間距、面板上豎筋的間距等。為方便運(yùn)輸要求每塊面板的高度不能超過2.9m,為此高度比較大的灰斗必須分層,灰斗分層高度的確定需要設(shè)計(jì)員根據(jù)工程實(shí)際情況確定,一般不會超過4層。圖2所示的灰斗的高度為3728.65mm,為保證運(yùn)輸和提高材料利用率,將灰斗分成2層,底層高度為1997.65 mm,第2層高度為1731.00 mm,這樣該灰斗一共由8塊灰斗板圍成。
當(dāng)灰斗的上下口尺寸和每層高度確定后,每塊灰斗板的外形尺寸就可以確定下來,面板上橫筋和豎筋的數(shù)量需要根據(jù)其間距要求來確定。
根據(jù)以上分析,為提高灰斗參數(shù)化三維模型的適應(yīng)性,不同層數(shù)的灰斗模型應(yīng)該分別建立,每種灰斗模型層高的確定需要有較高的人機(jī)交互性。當(dāng)灰斗模型的參數(shù)變化后,灰斗參數(shù)化三維模型能夠發(fā)生相應(yīng)的改變,相應(yīng)的灰斗和灰斗板的工程圖紙也自動發(fā)生相應(yīng)的改變,從而提供產(chǎn)品設(shè)計(jì)效率。
Solid Edge提供了較多參數(shù)化三維模型的設(shè)計(jì)和開發(fā)方法,在工程實(shí)際中用的較多的有變量表編輯、Excel電子表格復(fù)制鏈接、VBA編程、和VB、VC二次開發(fā)編程等。每種方法各有特點(diǎn),在灰斗參數(shù)化三維模型的設(shè)計(jì)中使用了多種方法。
Solid Edge模型的所有變量都可以通過變量表進(jìn)行訪問和編輯,變量表中變量可以是建模過程中自動生成的,包括尺寸變量、特征變量和用戶變量,也可以在變量表中通過鍵入變量名和變量值的方法建立變量,變量表中的變量可以建立函數(shù)關(guān)系,利用同級變量還可以通過變量表建立零件或部件之間的鏈接關(guān)系。變量表編輯是Solid Edge建立參數(shù)化模型應(yīng)用最簡便的方法,圖6所示灰斗板3中有橫筋和豎筋,當(dāng)灰斗板3的寬度尺寸和高度尺寸變化時(shí),橫筋和豎筋的數(shù)量會發(fā)生變化,建立模型時(shí),可以采用固定方式的矩形陣列,x,y方向的間距和數(shù)量作為變量,可以通過灰斗板3的變量表進(jìn)行修改。為保證矩形陣列后筋板對稱排布,需要從中間向兩側(cè)進(jìn)行陣列,陣列的數(shù)量與排列距離尺寸之間可以按fix(距離/x或y向間距)建立函數(shù)關(guān)系。圖3所示為圖2灰斗的變量表,變量表中列出了灰斗的各個參數(shù);圖4為該灰斗的第2層部件變量表,從圖中可以看出第2層部件中一些變量的值是通過粘貼鏈接與灰斗的變量表相鏈接;圖5所示為第2層灰斗中的灰斗板3部件的變量表,從表中可以看出灰斗板3部件的一些變量值是從第2層部件變量表鏈接來的。通過建立零部件變量表之間的鏈接關(guān)系,可以構(gòu)建起灰斗的參數(shù)化模型。
圖3 灰斗變量表
圖4 第2層部件變量表
圖5 灰斗板3部件變量表
圖6 灰斗板3
利用變量表可以很容易地建立起零部件變量之間的函數(shù)關(guān)系,但是對于一些比較復(fù)雜的關(guān)系,要直接建立變量之間的關(guān)系可能會比較困難,這時(shí)可以利用VBA(Visual Basic for Application)編寫函數(shù),通過在變量表中調(diào)用VBA程序,實(shí)現(xiàn)比較復(fù)雜的運(yùn)算。VBA與Visual Basic的語法結(jié)構(gòu)是相同的,VBA程序依附于Solid Edge主應(yīng)用程序。
圖7所示草圖為圖6灰斗板3中槽鋼1的拉伸截面草圖,槽鋼型號確定了槽鋼拉伸截面草圖的尺寸,針對灰斗板中常用的10、12和14號槽鋼,本文用VBA編寫了CaoGang函數(shù),該函數(shù)通過槽鋼1零件模型的變量表加載后,其變量表如圖8所示,當(dāng)槽鋼型號變量修改后,槽鋼的截面尺寸會自動發(fā)生相應(yīng)的變化。
圖7 槽鋼1拉伸截面草圖
圖8 槽鋼1變量表
CaoGang函數(shù)的VBA代碼如下:
Solid Edge是基于Windows系統(tǒng)開發(fā)的軟件,提供了完整的基于COM(Component Object Model組件對象模型)的應(yīng)用程序接口API,任何支持COM的編程語言都可以作為Solid Edge的開發(fā)工具,比較常用的開發(fā)工具有:Visual Basic、Visual C++、Visual Basic .NET和Visual C#等。Solid Edge提供的核心COM類庫是操作Solid Edge的API,Solid Edge的核心API見表1;Solid Edge的功能API能夠在不打開Solid Edge的情況下直接讀取或修改Solid Edge模型的信息,Solid Edge的功能API如表2所。
Visual Basic語言簡單易學(xué)、功能強(qiáng)大,是Solid Edge二次開發(fā)使用比較多的程序設(shè)計(jì)語言。Visual Basic 6.0以COM為基礎(chǔ)進(jìn)行編譯和運(yùn)行;Visual Basic .NET是Visual Basic 6.0的后續(xù)產(chǎn)品,是Visual Studio.NET的一種開發(fā)語言,可以開發(fā).NET Framework為平臺的應(yīng)用軟件,Solid Edge提供的類型庫可以通過.NET的封裝器訪問,該類型庫允許應(yīng)用程序控制Solid Edge。
本文建立灰斗三維模型時(shí),以Solid Edge ST2為平臺,用Visual Basic .NET 2008進(jìn)行了二次開發(fā)。使用二次開發(fā)的方法構(gòu)建三維模型時(shí),可以采用兩種方法:1.編寫程序連接并控制Solid Edge軟件直接生成需要的三維模型;2.用Solid Edge預(yù)先建立好典型三維參數(shù)化模型,編寫應(yīng)用程序連接并修改Solid Edge中模型的變量,模型更新后生成需要的三維模型。由于灰斗模型比較復(fù)雜,且后續(xù)工作中需要利用灰斗模型來生成相應(yīng)零部件的工程圖紙,為了簡化二次開發(fā)、并提高模型的利用效率,本文采用了第2種方法。首先用Solid Edge建立典型灰斗三維參數(shù)化模型,在該模型中設(shè)置好變量之間的函數(shù)關(guān)系,然后編寫應(yīng)用程序,采用交互方式計(jì)算灰斗分層高度,確定每層灰斗板的尺寸數(shù)據(jù),通過應(yīng)用程序在Solid Edge中自動修改已建立的典型灰斗三維參數(shù)化模型的變量,生成所需要的灰斗模型,由于零部件的工程圖與灰斗典型模型相鏈接,零部件的工程圖也會發(fā)生相應(yīng)的更改。圖9所示為灰斗設(shè)計(jì)參數(shù)計(jì)算的應(yīng)用程序界面,本程序可以計(jì)算4段以內(nèi)的灰斗數(shù)據(jù);圖10為應(yīng)用程序按照設(shè)定的設(shè)計(jì)參數(shù)計(jì)算出的每層灰斗及灰斗板的數(shù)據(jù)顯示界面,如果數(shù)據(jù)不合適可以返回圖9所示界面,修改后重新計(jì)算;圖11為讀取典型灰斗模型變量、并對變量進(jìn)行修改的程序界面。
表1 示Solid Edge核心API
表2 Solid Edge功能API
圖9 灰斗設(shè)計(jì)參數(shù)的計(jì)算界面
圖10 灰斗各層的計(jì)算數(shù)據(jù)
本文使用Solid Edge ST2設(shè)計(jì)了灰斗參數(shù)化三維模型,針對該模型使用變量表編輯、VBA編程和VB.NET編程等方法進(jìn)行了二次開發(fā),提高了設(shè)計(jì)效率,在設(shè)計(jì)工作中取得了比較好的應(yīng)用效果。
圖11 灰斗變量編輯界面
[1]李銀海,章躍洪.基于S01idEdge工程手冊的機(jī)械零件快速設(shè)計(jì)[J].制造業(yè)自動化,2009,(3):120-122.
[2]謝備達(dá),郭云卿.基于SolidEdge的螺旋鋼管焊接系統(tǒng)設(shè)計(jì)方法[J].焊接2009,(7):65-67.
[3]施也沖.NET組件與COM組件的互操作[J].現(xiàn)代計(jì)算機(jī)2001,(5):31-33.
[4]張劍澄,賈仲文.SolidEdge同步建模技術(shù)快速入門[M].北京:清華大學(xué)出版社,2009.
[5]李憲文.SolidEdge中BOM信息的自動提取與管理[J].青島大學(xué)學(xué)報(bào)(自然科學(xué)版),2005,(9):77-80.