尹建強+仲梁維+馮強



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