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