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