魯周鵬
摘 要:基于Visual Basic程序設(shè)計(jì)對(duì)三維建模軟件SolidWorks進(jìn)行二次開(kāi)發(fā),結(jié)合參數(shù)化設(shè)計(jì)理論及Access數(shù)據(jù)庫(kù)技術(shù),實(shí)現(xiàn)零件三維模型的參數(shù)化設(shè)計(jì)。該文介紹了兩種不同的參數(shù)化設(shè)計(jì)思路,并舉例列舉了方法與步驟。
關(guān)鍵詞:Visual Basic SolidWorks Access 三維模型 參數(shù)化設(shè)計(jì)
中圖分類(lèi)號(hào):TP391 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-3791(2015)07(a)-0033-02
1 軟件簡(jiǎn)介
1.1 SolidWorks軟件簡(jiǎn)介
SolidWorks是第一款原創(chuàng)的、基于Windows操作平臺(tái)的三維建模軟件。SolidWorks軟件自帶應(yīng)用程序接口(API)函數(shù),在API中提供了二次開(kāi)發(fā)所需要的所有接口函數(shù)說(shuō)明,而且支持Visual Basic、Visual C++或任何支持OLE的程序語(yǔ)言來(lái)做二次開(kāi)發(fā)。SolidWorks通過(guò)OLE(對(duì)象鏈接與嵌入)技術(shù)為用戶(hù)提供了強(qiáng)大的二次開(kāi)發(fā)接口,凡支持OLE編程的開(kāi)發(fā)工具均可用于SolidWorks的二次開(kāi)發(fā)。
1.2 Visual Basic 6.0軟件簡(jiǎn)介
Visual Basic 6.0是微軟公司推出的Windows環(huán)境下基于Basic語(yǔ)言的應(yīng)用程序開(kāi)發(fā)工具,是一個(gè)包含了程序設(shè)計(jì)、運(yùn)行、調(diào)試和發(fā)布等功能的集成開(kāi)發(fā)環(huán)境。它采用面向?qū)ο蟮某绦蛟O(shè)計(jì)技術(shù),使得開(kāi)發(fā)Windows應(yīng)用程序更快速、更簡(jiǎn)捷,具有易學(xué)、易用、程序開(kāi)發(fā)周期短、可視化界面好等優(yōu)點(diǎn)。
1.3 Access 數(shù)據(jù)庫(kù)簡(jiǎn)介
Access是開(kāi)發(fā)單機(jī)小型數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的理想工具,可以獨(dú)立開(kāi)發(fā)數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng),也可以作為后臺(tái)數(shù)據(jù)庫(kù)與Visual Basic等高級(jí)語(yǔ)言結(jié)合使用。
2 零件建模參數(shù)化設(shè)計(jì)
基于Visual Basic程序設(shè)計(jì)對(duì)SolidWorks進(jìn)行二次開(kāi)發(fā),在對(duì)零件進(jìn)行參數(shù)化設(shè)計(jì)時(shí),一般有兩種方法可供選擇:尺寸驅(qū)動(dòng)法和程序驅(qū)動(dòng)法。該文將分別基于上述兩種方法對(duì)套筒零件進(jìn)行參數(shù)化設(shè)計(jì):
2.1 基于尺寸驅(qū)動(dòng)法的參數(shù)化設(shè)計(jì)
尺寸驅(qū)動(dòng)法:利用SolidWorks進(jìn)行零件建模時(shí),軟件將根據(jù)建模的過(guò)程自動(dòng)創(chuàng)建設(shè)計(jì)變量,并給每個(gè)變量賦以相應(yīng)的名稱(chēng);通過(guò)修改自動(dòng)創(chuàng)建的設(shè)計(jì)變量的數(shù)值來(lái)驅(qū)動(dòng)零件,即可生成不同尺寸的三維模型。實(shí)現(xiàn)過(guò)程如下:
(1)打開(kāi)SolidWorks應(yīng)用程序,新建SolidWorks文件,選取套筒(外徑181,內(nèi)徑141,長(zhǎng)度100)建立三維模型,然后保存。
(2)打開(kāi)Access應(yīng)用軟件,依據(jù)套筒的尺寸參數(shù)創(chuàng)建數(shù)據(jù)庫(kù),如圖1所示。
(3) 打開(kāi)Visual Basic應(yīng)用軟件,設(shè)計(jì)套筒參數(shù)化界面,如圖2所示。
(4) 參數(shù)化設(shè)計(jì)編程,雙擊窗體上“生成模型”,編輯程序。
①通常VB程序的開(kāi)始部分是定義部分:
Dim swapp As Object Dim taotong As Object Dim longstatus As Long
②基于VB的SolidWorks二次開(kāi)發(fā),首先應(yīng)該建立建立VB程序與SolidWorks之間的連接,找到程序的入口:
Set swapp = CreateObject("SldWorks.application")
swapp.Visible = True
③打開(kāi)并激活對(duì)象:
Set taotong = swapp.OpenDoc4("C:\Documents and Settings\Administrator\桌面\畢設(shè)\VB\套筒.SLDPRT", 1, 0, "", longstatus) Set taotong = swapp.ActiveDoc
④重建模型,并軸側(cè)顯示:
taotong.EditRebuild taotong.ViewZoomtofit2
⑤然后分別對(duì)“添加”、“保存”、“刪除”指令編輯程序,分別允許在DataGrid中添加記錄、修改對(duì)象、和刪除指定行。
⑥編輯鏈接數(shù)據(jù)庫(kù)程序。
⑦保存工程。選擇“文件/保存工程”,一般需要保存窗體文件(.frm)和工程文件(.vbp)。
2.2 基于程序驅(qū)動(dòng)法的參數(shù)化設(shè)計(jì)
程序驅(qū)動(dòng)法:通過(guò)直接調(diào)用SolidWorks API的方法或?qū)傩酝瓿?D模型的參數(shù)設(shè)計(jì)。利用SolidWorks中的宏命令錄制代碼程序,通過(guò)錄制宏可以記錄建模過(guò)程中SolidWorks內(nèi)部調(diào)用的各條程序代碼,然后將這些代碼復(fù)制到二次開(kāi)發(fā)程序中,調(diào)試完成即可完成參數(shù)化建模。實(shí)現(xiàn)過(guò)程如下:
(1)使用SolidWorks工具錄制宏。
①啟動(dòng)SolidWorks,新建“零件”。
②選擇SolidWorks菜單下的“視圖/工具條/宏“,顯示宏工具條。
③運(yùn)行宏工具條上的“宏錄制”命令。
④依據(jù)MQ4025-01-02-08(套筒)零件參數(shù)創(chuàng)建三維模型。
⑤單擊宏工具條上的“宏保存”命令,在彈出的宏文件存盤(pán)對(duì)話(huà)框中輸入文件名,進(jìn)行保存。
(2)程序驅(qū)動(dòng)法與尺寸驅(qū)動(dòng)法共享一個(gè)數(shù)據(jù)庫(kù)(套筒.mdb),其參數(shù)化界面的設(shè)計(jì)與數(shù)據(jù)庫(kù)的鏈接也同于尺寸驅(qū)動(dòng)法。
(3)利用宏工具條上的“打開(kāi)宏”,打開(kāi)第一步所錄制的宏,進(jìn)入宏編輯窗口,將宏復(fù)制到VB編程環(huán)境中。
(4)用程序所需設(shè)計(jì)的變量代替宏代碼中對(duì)應(yīng)的常數(shù),并查找相關(guān)API函數(shù),對(duì)所錄制的宏進(jìn)行修改。
(5)雙擊參數(shù)化設(shè)計(jì)界面上“生成模型”,進(jìn)入程序編輯界面,將修改后的宏復(fù)制粘貼,然后進(jìn)行程序調(diào)試、試運(yùn)行。
對(duì)比上述方法對(duì)建模過(guò)程有嚴(yán)格的要求,必須生成與零件實(shí)際參數(shù)相應(yīng)的設(shè)計(jì)變量,并且建模方法需與零件的設(shè)計(jì)要求相吻合。程序驅(qū)動(dòng)參數(shù)化可處理較復(fù)雜的模型,但其最大的缺陷在于,利用So1idWorks宏錄制所得到的代碼通常比較混亂,甚至有些代碼是多余的,且SolidWorks API的函數(shù)眾多,查找、修改、調(diào)試程序比較耗時(shí)耗力。
3 結(jié)語(yǔ)
綜上所述,參照實(shí)際情況,合理選擇三維建模參數(shù)化設(shè)計(jì)方法,對(duì)于同類(lèi)型、同系列的產(chǎn)品設(shè)計(jì),將節(jié)省大量的重復(fù)勞動(dòng),極大的提高生產(chǎn)效率。因此,基于SolidWorks的零件建模參數(shù)化設(shè)計(jì),具備一定的研究和推廣價(jià)值。
參考文獻(xiàn)
[1] SolidWorks公司,生信實(shí)維公司.SolidWorks API二次開(kāi)發(fā)[M].北京:機(jī)械工業(yè)出版社,2005.
[2] 朱麗敏,于銀鳳.面向?qū)ο蟪绦蛟O(shè)計(jì)——Visual Basic 6.0[M].北京:機(jī)械工業(yè)出版社,2007.