尹建強+仲梁維+馮強
摘要:為了滿足企業(yè)對剪式升降平臺快速設計需求,以三維建模軟件為平臺,提出了基于SolidWorks二次開發(fā)的產(chǎn)品快速設計方法。應用SolidWorks API函數(shù)二次開發(fā)模塊,結(jié)合SQL Server數(shù)據(jù)庫技術對產(chǎn)品各零部件信息進行管理,以高級編程語言VB.NET作為開發(fā)工具,進行二次開發(fā)。實踐表明:使用SolidWorks進行二次開發(fā)的快速設計系統(tǒng)可以節(jié)省設計時間和開發(fā)成本,提高生產(chǎn)效率。
關鍵詞:SolidWorks 二次開發(fā);剪式升降平臺;參數(shù)化設計
中圖分類號:TP319
文獻標識碼:A
文章編號:16727800(2017)004009703
0引言
制造業(yè)競爭激烈,企業(yè)不得不在短時間內(nèi)滿足不同客戶設計要求,同時還要保證產(chǎn)品設計質(zhì)量。剪式升降平臺是廣泛應用于空中作業(yè)的專業(yè)設備,通過操作平臺可以在空中方便完成前進、后退、上下、轉(zhuǎn)向等一系列動作[1]。在對剪式升降平臺系列化設計過程中,經(jīng)常會重復用到結(jié)構(gòu)相同而尺寸不同的零部件,傳統(tǒng)方法是將每個零部件單獨設計,為此占用設計人員大量時間,影響了新產(chǎn)品開發(fā)周期[2]。鑒于機械設計領域?qū)?shù)化方法的廣泛應用,本文基于SolidWorks二次開發(fā)技術提出了剪式升降平臺結(jié)構(gòu)參數(shù)化設計思想,以減少設計人員的重復勞動,提高設計效率[35]。1SolidWorks二次開發(fā)基本原理 SolidWorks為二次開發(fā)提供了大量的應用程序編程接口對象(Application Programming Interface,API),這些對象包含了全部的SolidWorks數(shù)據(jù)模型,通過對這些對象屬性的設置和調(diào)用,用戶就可在開發(fā)的動態(tài)鏈接庫(Dynamic Link Library,DLL)中實現(xiàn)與SolidWorks相同的功能。圖1所示為SolidWorks對象模型的層次結(jié)構(gòu),它為樹形結(jié)構(gòu)模型,以SolidWorks對象為根,其它對象都是它的子對象[6]。
本文利用尺寸驅(qū)動法對SolidWorks進行二次開發(fā)。尺寸驅(qū)動法是將模型的尺寸標注視為變量,然后賦予不同的尺寸值,這樣就可以保持模型結(jié)構(gòu)不變,獲得一系列結(jié)構(gòu)相同而尺寸不同的相似零件[7-8]。采用這種方法進行二次開發(fā),在參數(shù)化建模中只在模板模型的基礎上更改零件的尺寸值就可達到更新模型的目的。由于沒有重新建模過程,只是改變了已有模型的尺寸,因此提高了圖形的更新速度。 任何支持對象連接與嵌入(Object Linking and Embedding,OLE)的編程語言都可以作為Solid Works的開發(fā)工具。本文選擇Visual Basic編程語言作為開發(fā)工具。與其它編程語言相比,VB語言功能強大、規(guī)則簡單、容易上手,其語法規(guī)則與SolidWorks提供的宏錄制功能代碼規(guī)則完全一致,程序編寫方便 [910]。2剪式升降平臺快速設計系統(tǒng)
2.1系統(tǒng)簡介
剪式升降平臺快速設計系統(tǒng)采用Visual Basic編程語言對SolidWorks建模軟件進行二次開發(fā),為用戶提供專用的SolidWorks功能模塊。本系統(tǒng)使用VB.NET調(diào)用SolidWorks的API函數(shù),用SQL Server數(shù)據(jù)庫建立并調(diào)用零件數(shù)據(jù)參數(shù),實現(xiàn)零件模型的建立、修改、壓縮、刪除等各項操作。通過剪式升降平臺參數(shù)化設計系統(tǒng),可以避免大量重復性工作,提高設計效率。
2.2系統(tǒng)設計流程
剪式升降平臺設計流程如圖2所示。設計人員進入剪式升降平臺快速設計系統(tǒng)界面,按照產(chǎn)品需求,輸入相應參數(shù)數(shù)據(jù),此時系統(tǒng)會檢測輸入的參數(shù)是否合理,然后對模型進行整體驅(qū)動。三維模型驅(qū)動完畢后,輸出零件、部件、總裝圖的二維工程圖,并在SolidWorks界面中顯示。
2.3參數(shù)化程序
SolidWorks軟件在建模過程中會自動將輸入的設計參數(shù)定義成變量,當模型尺寸需要變化時,只需更改生成的變量值就能達到更新模型的目的。參數(shù)化程序就是將生成的設計變量提取出來,同時SolidWorks提供的宏錄制功能將建模過程輸出為代碼,通過代碼來更改設計變量值,從而驅(qū)動新的尺寸[1112]。
3系統(tǒng)設計及實現(xiàn)
基于SolidWorks二次開發(fā)的剪式升降平臺快速設計系統(tǒng),能夠針對不同客戶對產(chǎn)品進行定制化設計,快速設計出具有標準化和規(guī)范化的剪式升降平臺產(chǎn)品。本系統(tǒng)由多種軟件集成開發(fā),不同軟件之間通過接口相互連接。其中,系統(tǒng)的人機界面設計與后臺的編寫以微軟公司的Visual Basic.NET為開發(fā)工具實現(xiàn);系統(tǒng)產(chǎn)品數(shù)據(jù)庫管理以SQL Server 2008作為數(shù)據(jù)開發(fā)技術支撐;系統(tǒng)在SolidWorks開發(fā)環(huán)境下進行三維模型及二維工程圖建模與調(diào)整。
3.1系統(tǒng)界面
用戶設計界面是人機交互最重要的部分。界面應方便設計人員對參數(shù)進行輸入、修改和保存,簡單快捷。如圖3所示,在系統(tǒng)界面不需要用戶輸入所有零部件細節(jié)參數(shù),只需輸入簡單的尺寸,如總高度H、承載平臺長度L、承載平臺寬度W、承載重量M等一系列關鍵參數(shù)。對于零部件的細節(jié)參數(shù),系統(tǒng)將根據(jù)輸入的關鍵參數(shù),利用寫入程序的經(jīng)驗公式計算得出,剪式升降平臺應滿足強度、剛度要求。
3.2SolidWorks插件菜單實現(xiàn)
在利用Visual Basic.NET對SolidWorks進行二次開發(fā)前,首先要安裝開發(fā)組件APISDK,它為用戶提供了二次開發(fā)功能,是連接VB.NET與SolidWorks的橋梁。使用SolidWorks API的功能編制DLL插件,可以加載到SolidWorks系統(tǒng)的內(nèi)部菜單,類似于SolidWorks自帶的Routing、ToolBox插件。 內(nèi)嵌插件建立好后需要對其進行相關設置。點擊菜單欄下SwVBAddin1的項目屬性,如圖4所示,此屬性下的調(diào)試功能需要設置調(diào)用SolidWorks的安裝路徑,即啟動外部程序設置SolidWorks的安裝路徑。
設置好屬性后,按F5運行啟動程序,程序可直接打開SolidWorks軟件界面并在SolidWorks上生成DLL插件。用戶根據(jù)需要自定義插件名稱,并在插件下添加一級、二級子菜單,使其滿足設計要求。當用戶在SolidWorks界面單擊生成子菜單時,就會彈出圖4所示的設計界面。
3.3數(shù)據(jù)庫應用
利用SQL Server 2008作為系統(tǒng)的數(shù)據(jù)支持,它是微軟公司開發(fā)的一款支持.NET編程環(huán)境的數(shù)據(jù)庫,能夠和不同的編程語言進行對接。SQL語言功能強大,用戶在數(shù)據(jù)庫環(huán)境下,通過編寫查詢語句,對數(shù)據(jù)庫中的數(shù)據(jù)進行查詢、更新和修改[13]。 在剪式升降平臺快速設計系統(tǒng)開發(fā)過程中,運用數(shù)據(jù)庫技術對剪式升降平臺數(shù)據(jù)或參數(shù)進行管理: (1)標準件數(shù)據(jù)管理。標準件數(shù)據(jù)管理主要是將標準件模型數(shù)據(jù)保存,當用戶定制剪式升降平臺時,通過程序代碼就可快速從數(shù)據(jù)庫中進行標準件選型,隨后進行模型驅(qū)動。 (2)液壓缸型號數(shù)據(jù)管理。設計人員在設計剪式升降平臺過程中,系統(tǒng)會自動提取出能夠滿足強度及剛度的液壓缸。 (3)工程圖數(shù)據(jù)管理。工程圖數(shù)據(jù)管理主要是對裝配體、部件、零件的工程圖視圖比例、視圖位置、尺寸位置等一系列數(shù)據(jù)進行定位。圖5為支撐臂工程圖尺寸的定位數(shù)據(jù)截圖。
以下為VB.NET連接數(shù)據(jù)庫代碼: Dim connectionstr As String ‘定義的鏈接字符串 connectionstr=“server=服務區(qū)地址;database=數(shù)據(jù)庫;uid=用戶名;pwd=密碼” Dim conn As New SqlConnection(connectionstr)定義連接功能 conn.Open()打開連接 conn.Close()關閉連接 數(shù)據(jù)庫連接成功后,用戶就可在VB.NET中編寫SQL查詢語句,并傳遞到SQL中,實現(xiàn)人機界面對數(shù)據(jù)庫的直接訪問。3.4工程圖參數(shù)化自動調(diào)整技術 剪式升降平臺的工程圖使用基于參數(shù)化出圖方法。當模型參數(shù)修改后,對應更新的工程圖會出現(xiàn)很多問題,例如視圖大小不一、視圖位置不合理、尺寸位置漂移等[14]。運用SolidWorks中的DrawingDoc API函數(shù)實現(xiàn)對工程圖的參數(shù)化出圖及調(diào)整,以完善工程圖。 視圖調(diào)整很簡單,只需對視圖位置的X坐標值和Y坐標值進行設置,即制定好O′點的參數(shù)即可,O′的坐標獲取方式可以直接在SolidWorks工程圖上捕捉,將鼠標移動到需要設置的點,狀態(tài)欄上會自動顯示位置信息。 以下為調(diào)整視圖位置代碼: Public Sub adjustViewPosition(ByVal swpart As ModelDoc2,ByVal name As String,ByVal Xpoint As Double,ByVal Ypoint As Double) ‘定義通用過程和視圖名稱,O的X坐標,Y坐標 Dim x As Single = Xpint ‘將X坐標賦值給x變量 Dim y As Single = Ypint ‘將Y坐標賦值給y變量 swpart.ActivateView(name) ‘激活工程圖視圖,視圖名為name變量 boolstatus=swpart.Extension.SelectByID2(name,”DRAWINGVIEW”,0,0,0,false,0,Nothing,0) ‘選擇指定的視圖 Dim swSelMgr As SelectionMgr = swpart.SelectionManager ‘定義選擇管理器,并且存放選擇的對象,即指定的工程圖視圖 Dim swView As IView = swSelMgr.GetSelectedObject5(1) ‘h獲得視圖對象 Dim swPosition As Object = swView.Position ‘定義視圖位置變量 swPosition(0) = x ‘將X變量值賦值 swPosition(1) = y ‘將Y變量值賦值 swView.Position = swPosition ‘調(diào)整視圖位置到指定位置 End Sub ‘退出通用程序 打開SolidWorks軟件,進入到用戶系統(tǒng)界面,并輸入相應的設計參數(shù),點擊模型驅(qū)動設計按鈕,SolidWorks軟件會自動建立剪式升降平臺三維模型。圖6為快速設計系統(tǒng)運行后得到的剪式升降平臺三維模型結(jié)果。
4結(jié)語
本文闡述了SolidWorks二次開發(fā)的基本原理,介紹了剪式升降平臺快速設計系統(tǒng),給出該系統(tǒng)總體設計流程,并對系統(tǒng)的程序設計及實現(xiàn)過程進行了重點論述。開發(fā)的快速設計系統(tǒng)平臺,用戶只需輸入關鍵參數(shù)即可進行快速設計,節(jié)省了大量設計時間,企業(yè)能快速響應市場變化,大大改善了產(chǎn)品研發(fā)和設計現(xiàn)狀。
參考文獻:
[1]孫毅.對稱驅(qū)動剪式升降平臺設計及研究[D].昆明:昆明理工大學,2012.
[2]金建國,周明華,鄔學軍.參數(shù)化設計綜述[J].計算機工程與應用,2003(7):1618.
[3]王鴻鈞.典型機械零件參數(shù)化設計系統(tǒng)的研究與開發(fā)[J].制造業(yè)自動化,2010,32(7):3638.
[4]沈斌,宮大.產(chǎn)品廣義參數(shù)化設計的研究[J].計算機工程與應用,2006,31(1):9496.
[5]李戩,楊媛媛.基于廣義參數(shù)化技術的機械產(chǎn)品設計方法研究[J].礦山機械,2012,40(12):104108.
[6]李權才,吳俊峰,武翠榮.基于SolidWorks平臺對大型架橋機的二次開發(fā)技術[J].中國水運,2008,8(1):4143.
[7]張君偉,王士軍,鄭曉龍.基于SolidWorks尺寸驅(qū)動法二次開發(fā)的滾珠絲桿三維建模[J].組合機床與自動化加工技術,2015(11):2224.
[8]龍軍,孫新嶺,張濤,等.智能化尺寸驅(qū)動法在參數(shù)繪圖中的探索應用[J].工程圖學學報,2003(4):4043.
[9]林卓然.VB語言程序設計[M].北京:電子工業(yè)出版社,2012.
[10]錢海軍.Visual Basic項目案例開發(fā)實戰(zhàn)[M].北京:清華大學出版社,2016.
[11]商劍鵬.SolidWorks 2015完全自學手冊[M].北京:電子工業(yè)出版社,2016.
[12]陳超祥,胡啟登.SolidWorks高級教程簡編[M].北京: 機械工業(yè)出版社,2015.
[13]張昊,高晶.SQL Server 2008數(shù)據(jù)庫原理及應用教程[M].北京:清華大學出版社,2016.
[14]黃氣良,王宗彥,吳淑芳,等.參數(shù)化變形設計中工程圖調(diào)整技術優(yōu)化研究[J].工程圖學學報,2011(1):168173.
(責任編輯:杜能鋼)