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

圖1 立罐開發系統工作流程圖
下面是立罐快速設計系統筒體驅動的一些程序:
Sw App=GetObject("","sldworks.application")'獲得SolidWorks對象
part=Sw App.ActiveDoc
part=Sw App.OpenDoc6(destination Directory Name&"\立罐.SLDASM",2,0,"",longstatus,longwarnings)'打開裝配體文件筒體尺寸驅動
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
本文中的立罐是壓力容器的一種,屬于立式壓力容器,按壓力等級分屬于低壓壓力容器,級別為II類,設計時需要按照GB150并且滿足《壓力容器安全監察規程》。原本的設計方法是用三維軟件繪制,然而用分析軟件進行力學性能的分析和檢核花費的時間比較長,新的產品還需要重新建模。本文利用VB.net作為編程語言對SolidWorks進行二次開發,做成人工交互界面,只要導入相關參數即可進行快速設計,大大地縮短了產品設計周期,提高了效率。
為了方便設計和滿足客戶的需求,需要對產品進行模塊劃分。模塊劃分根據具體階段可分為面向設計的模塊劃分、面向制造的模塊劃分和面向使用和維修的模塊劃分。本文主要涉及的是根據各組成部分功能上的相關聯程度進行的面向設計的模塊劃分,如圖2所示。
立罐快速設計系統中數據存儲在SQL Server中,SQL Server是Microsoft公司推出的關系型數據庫管理系統。具有使用方便、可伸縮性好與相關軟件集成度高等優點,SQL Server是一個全面的數據庫平臺,使用集成的商業智能 (BI)提供了企業級的數據管理。SQL Server數據庫引擎為關系型數據和結構化數據提供了更安全可靠的存儲功能,使您可以構建和管理用于業務的高可用和高性能的數據應用程序,因此可以滿足SolidWorks二次開發的要求。

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

圖3 BOM表的導入
然后點擊信息核對出現圖4的界面,由設計師進行信息核對。
設計人員確認無誤后點擊確認鍵,進行新的產品三維模型的生成和工程圖生成,如圖5。

圖4 信息校核界面

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