孫志洋,仲梁維,魯康東,石海林
(上海理工大學(xué)機(jī)械工程學(xué)院,上海200093)
二次開發(fā)是提高產(chǎn)品研發(fā)設(shè)計(jì)效率的有效手段,也是二十一世紀(jì)制造業(yè)關(guān)注的熱點(diǎn)問題之一。面對(duì)日漸激烈的市場(chǎng)競(jìng)爭,企業(yè)能否在最短的時(shí)間內(nèi)快速響應(yīng)市場(chǎng)的需求,將是決定企業(yè)能否生存和發(fā)展的關(guān)鍵。為了在市場(chǎng)競(jìng)爭中取得優(yōu)勢(shì),企業(yè)需要不斷革新技術(shù)縮短開發(fā)周期、提高開發(fā)效率和降低開發(fā)成本,二次開發(fā)憑借更貼近現(xiàn)代設(shè)計(jì)的理念和思想,博得了越來越多產(chǎn)品開發(fā)工程師的青睞。工程師可以在產(chǎn)品開發(fā)過程中利用二次開發(fā),建立模型模版,保存到模型庫中,開發(fā)中用到同類零件時(shí),直接從模型庫中調(diào)取,通過參數(shù)化驅(qū)動(dòng)進(jìn)而快速獲得自己想要的零件,這樣減少了大量重復(fù)的工作,提高了開發(fā)效率,縮短了開發(fā)周期。
SolidWorks的參數(shù)化和特征造型技術(shù),能方便、快捷地創(chuàng)建幾乎任何復(fù)雜形狀的實(shí)體,可以滿足絕大部分工程設(shè)計(jì)的需要。SolidWorks采用統(tǒng)一的內(nèi)部數(shù)據(jù)庫,全數(shù)據(jù)相關(guān),任何一個(gè)功能模塊中對(duì)零件的修改都會(huì)自動(dòng)反映到其他模塊中。本文以基于Solid-Works參數(shù)化設(shè)計(jì)的立罐系統(tǒng)開發(fā)來說明Solid-Works在產(chǎn)品開發(fā)中的強(qiáng)大作用。
立罐開發(fā)系統(tǒng)采用了SolidWorks二次開發(fā)技術(shù),使用VB.net為高級(jí)編程語言,數(shù)據(jù)存儲(chǔ)在SQL sever中,在VB.net中創(chuàng)建ActiveX DLL工程,根據(jù)項(xiàng)目的具體要求編寫代碼和開發(fā)若干用戶界面的插件并插入SolidWorks中,并在工程中添加對(duì)SolidWorks類庫的引用,且將編寫好的代碼連接為DLL文件,最終實(shí)現(xiàn)預(yù)期功能。
用戶根據(jù)自己的設(shè)計(jì)參數(shù)要求按照模板用excel制作一個(gè)BOM表,然后進(jìn)入立罐設(shè)計(jì)系統(tǒng),將BOM表導(dǎo)入數(shù)據(jù)庫,然后再從數(shù)據(jù)庫中讀取數(shù)據(jù)到VB.net的程序中,最后按照需要在系統(tǒng)中驅(qū)動(dòng)模型模板生成新產(chǎn)品的三維模型和生成工程圖。流程如圖1所示。
參數(shù)化程序是通過修改三維軟件系統(tǒng)建立模型時(shí)自動(dòng)生成的設(shè)計(jì)變量來驅(qū)動(dòng)生成零件的尺寸,Solid-Works在建模過程中會(huì)自動(dòng)生成系統(tǒng)變量,并給每個(gè)變量賦予名稱,這些程序代碼都是比較簡潔的,因此在參數(shù)化驅(qū)動(dòng)時(shí)只需要修改這些變量的值就可以按照需要驅(qū)動(dòng)生成新的尺寸。

圖1 立罐開發(fā)系統(tǒng)工作流程圖
下面是立罐快速設(shè)計(jì)系統(tǒng)筒體驅(qū)動(dòng)的一些程序:
Sw App=GetObject("","sldworks.application")'獲得SolidWorks對(duì)象
part=Sw App.ActiveDoc
part=Sw App.OpenDoc6(destination Directory Name&"\立罐.SLDASM",2,0,"",longstatus,longwarnings)'打開裝配體文件筒體尺寸驅(qū)動(dòng)
part=Sw App.ActiveDoc part.Parameter("D2@草圖1@筒體-1@立罐.SLDASM").SystemValue=Val(datacheckliguan1.TextBox89.Text)/1000'筒體直徑part.Parameter("D1@草圖1@筒體-1@立罐.SLDASM").System Value=Val(datacheckliguan1.TextBox90.Text)/1000'筒體厚度
boolstatus=part.EditRebuild3
part=Sw App.ActiveDoc
本文中的立罐是壓力容器的一種,屬于立式壓力容器,按壓力等級(jí)分屬于低壓壓力容器,級(jí)別為II類,設(shè)計(jì)時(shí)需要按照GB150并且滿足《壓力容器安全監(jiān)察規(guī)程》。原本的設(shè)計(jì)方法是用三維軟件繪制,然而用分析軟件進(jìn)行力學(xué)性能的分析和檢核花費(fèi)的時(shí)間比較長,新的產(chǎn)品還需要重新建模。本文利用VB.net作為編程語言對(duì)SolidWorks進(jìn)行二次開發(fā),做成人工交互界面,只要導(dǎo)入相關(guān)參數(shù)即可進(jìn)行快速設(shè)計(jì),大大地縮短了產(chǎn)品設(shè)計(jì)周期,提高了效率。
為了方便設(shè)計(jì)和滿足客戶的需求,需要對(duì)產(chǎn)品進(jìn)行模塊劃分。模塊劃分根據(jù)具體階段可分為面向設(shè)計(jì)的模塊劃分、面向制造的模塊劃分和面向使用和維修的模塊劃分。本文主要涉及的是根據(jù)各組成部分功能上的相關(guān)聯(lián)程度進(jìn)行的面向設(shè)計(jì)的模塊劃分,如圖2所示。
立罐快速設(shè)計(jì)系統(tǒng)中數(shù)據(jù)存儲(chǔ)在SQL Server中,SQL Server是Microsoft公司推出的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)。具有使用方便、可伸縮性好與相關(guān)軟件集成度高等優(yōu)點(diǎn),SQL Server是一個(gè)全面的數(shù)據(jù)庫平臺(tái),使用集成的商業(yè)智能 (BI)提供了企業(yè)級(jí)的數(shù)據(jù)管理。SQL Server數(shù)據(jù)庫引擎為關(guān)系型數(shù)據(jù)和結(jié)構(gòu)化數(shù)據(jù)提供了更安全可靠的存儲(chǔ)功能,使您可以構(gòu)建和管理用于業(yè)務(wù)的高可用和高性能的數(shù)據(jù)應(yīng)用程序,因此可以滿足SolidWorks二次開發(fā)的要求。

圖2 立罐的模塊劃分
由于不同合同號(hào)的產(chǎn)品可能存在一些特征上的差異,比如合同號(hào)a產(chǎn)品中存在法蘭n但是在合同號(hào)b的產(chǎn)品中卻不存在。為了解決這個(gè)問題,在建立模型模板時(shí)盡可能將所有特征都建立出來,在VB.net程序中通過編寫代碼將那些需要壓縮的特征賦予壓縮與解壓縮功能,這樣可解決不同合同號(hào)產(chǎn)品特征不同的問題。具體實(shí)施時(shí),在SolidWorks里進(jìn)行壓縮與解壓縮的宏錄制,并且將代碼整理好寫進(jìn)VB.net程序中即可。
如圖3,首先進(jìn)入快速設(shè)計(jì)系統(tǒng),然后導(dǎo)入事先用excel做好的含有具體設(shè)計(jì)參數(shù)的BOM表。

圖3 BOM表的導(dǎo)入
然后點(diǎn)擊信息核對(duì)出現(xiàn)圖4的界面,由設(shè)計(jì)師進(jìn)行信息核對(duì)。
設(shè)計(jì)人員確認(rèn)無誤后點(diǎn)擊確認(rèn)鍵,進(jìn)行新的產(chǎn)品三維模型的生成和工程圖生成,如圖5。

圖4 信息校核界面

圖5 立罐模型
本文利用SolidWorks二次開發(fā)對(duì)立罐快速設(shè)計(jì)系統(tǒng)進(jìn)行開發(fā)研究,本實(shí)例開發(fā)了人機(jī)交互界面,設(shè)計(jì)師只需將數(shù)據(jù)導(dǎo)入即可進(jìn)行快速設(shè)計(jì),簡化了原本復(fù)雜的工作,縮短了設(shè)計(jì)周期,同時(shí)也極大地提高了工作效率,為企業(yè)在市場(chǎng)競(jìng)爭中帶來極大的優(yōu)勢(shì)。
[1]葉修梓,陳超祥.SolidWorks高級(jí)教程:二次開發(fā)與API(2007版)[M].北京:機(jī)械工業(yè)出版社,2009.
[2]姜玲玲,唐明霞,譯.Andrew Troelsen.NET3.5與VB2008高級(jí)編程(第3版)[M].北京:清華大學(xué)出版社,2009.
[3]韓 朝,仲梁維.SolidWorks三維數(shù)字化設(shè)計(jì)工程圖技術(shù)研究[J].現(xiàn)代制造工程,2012,(3):42-45.
[4]田 蘊(yùn).基于裝配模型的產(chǎn)品變型設(shè)計(jì)與應(yīng)用[D].濟(jì)南:山東大學(xué),2005.
[5]金建國,周明華.參數(shù)化設(shè)計(jì)綜述[J].計(jì)算機(jī)工程與應(yīng)用,2003,(7):16-86.
[6]SolidWorks.PDM VS PLM [C].PDM Conference.長沙,2008.
[7]秦慧斌,王宗彥,侯志利.SolidWorks應(yīng)用技巧[J].CAD/CAM與制造業(yè)信息化,2004,(7):36-38.