本文探討了SolidWorks的二次開發(fā)應用于箱體類零件設計相關內容。
0引言
SolidWorks是基于Windows平臺、采用Parasolid圖形核心的一套三維CAD軟件,它支持參數(shù)化和特征造型技術,能夠使用戶方便、快捷地創(chuàng)建任何復雜形狀的實體,并且可以實現(xiàn)實體的參數(shù)化驅動。由于其界面友好、操作方便、簡單易學,目前已成為微機平臺上流行的三維設計軟件。更為重要的是SolidWorks提供了大量的API(Application Program Interface,應用程序接口)函數(shù)用于二次開發(fā),這些API函數(shù)是SolidWorks的OLE(Object Linking and Embedding,對象的嵌人與鏈接)或COM (Component Object Model,組件對象模型)接口,使用戶能夠直接訪間SolidWorks,并可以使用多種高級語言,如VB,VBA、VC等對其進行二次開發(fā)。由于VB(Visual Basic)是運行在Windows環(huán)境下的可視化編程語言,具有語言規(guī)則簡單、功能齊全、使用簡捷的優(yōu)點,已有很多科研工作者利用VB語言對SolidWorks進行了二次開發(fā),但大多停留在介紹開發(fā)的使用方法上,對于SolidWorks在箱體類零件二次開發(fā)應用方面的研究鮮有報道。箱類零件一般多用于支撐和裝置其它零件,結構形狀復雜,并且種類繁多,結構差異很大,其結構以箱壁、筋板和框架為主,工作表面以平臺和凸臺為主。作者根據(jù)箱類零件特點,用SolidWorks對其進行三維建模,并采用高級語言VB等進行編程,達到參數(shù)化驅動的目的,實現(xiàn)箱體類零件的參數(shù)化設計,使箱體設計更加規(guī)范、便捷和高效。
1 SolidWorks二次開發(fā)關鍵技術及方法
本文主要通過編寫Visual Basic程序來對SolidWorks軟件進行二次開發(fā),采用的技術方案是:Visual Basic+Access+SolidWorks API,其主要過程如下:
(1)在Microsoft Access中建立箱體類零件設計中所需的表格數(shù)據(jù)庫,供在箱體類零件設計中程序查詢用。
(2)在SolidWorks中實現(xiàn)對箱體類零件的造型。用SolidWorks創(chuàng)建箱體類零件三維模型時,把建模的全過程錄制成宏文件,找出宏文件中與模型生成有關的關鍵函數(shù),并確定其中的關鍵常數(shù),弄清關鍵常數(shù)的變化對實體建模的影響,將關鍵常數(shù)用變量代替,這樣就建立了SolidWorks中的箱體類零件的參數(shù)化模型。
(3)使用VB語言編制應用程序界面,當進行箱體類零件設計時,設計者通過應用程序界面錄入初始參數(shù),程序將自動計算出上述宏文件中所需相關參數(shù),編譯程序并生成可執(zhí)行程序供SolidWorks程序調用。
(4)完成可執(zhí)行應用程序后,使用SolidWorks中的宏操作命令將應用程序嵌人SolidWorks中,實現(xiàn)二者的鏈接。
通過以上四步就完成了SolidWorks的二次開發(fā)。以下是作者就二次開發(fā)中所用到的關鍵技術和方法進行的歸納與總結。
1.1OLE和COM
SolidWorks的二次開發(fā)分為兩種:一種是基于OLE技術的,可以開發(fā)exe形式的程序;另一種是基于COM的,可以生成* . dll格式的文件,作為SolidWorks的插件在SolidWorks中被加載運用。能夠通過數(shù)據(jù)嵌人或鏈接的方式來共享數(shù)據(jù)。含有嵌人或鏈接文檔數(shù)據(jù)的應用程序,稱之為容器程序;提供文檔數(shù)據(jù)編輯的應用程序,稱之為服務器程序。通過OLE技術,許多面向對象的應用程序可以與SolidWorks通訊,從而直接操縱SolidWorks,編制用戶化程序滿足設計需要。COM技術,即組件對象模型,定義了標準的構建組件的方法,是軟件組件互相通訊的一種方式。它是一種二進制的網絡標準,允許任意兩個組件互相通訊。COM不是一個特殊類型的應用程序,而是一個可以用來為任何類型的應用程序構建組件的普遍的模型。
1.2SolidWorks API函數(shù)
SolidWorks API是SolidWorks的OLE應用程序開發(fā)接口,為用戶提供了完全面向對象的類體系。它包括以下幾個方面:①對象的類型;②對象的屬性;③對象的方法。開發(fā)者通過操縱對象的屬性和調用對象的方法建立自己的應用程序,開發(fā)者可以在通用的開發(fā)平臺如VB, VBA, VC等上開發(fā)使用這些類的程序,也可以在自己的程序中派生這些類的子類,生成這些類的對象,對對象進行操作,設置或修改對象的屬性,從而訪問SolidWorks的數(shù)據(jù)庫、圖形系統(tǒng)和系統(tǒng)界面。
1.3 VB程序與SolidWorks接口的實現(xiàn)VB程序與SolidWorks接口的實現(xiàn)是箱體類零件參數(shù)化建模的關鍵。將箱體類零件建模的過程錄制成宏文件,將宏復制到VB中,在VB環(huán)境中對宏文件進行修改編輯,加人如下語句,并將其中的路徑修改為SolidWorks的安裝路徑:
這樣就實現(xiàn)了VB與SolidWorks的鏈接,在VB中編寫的程序就可以在SolidWorks環(huán)境中運行了。
1.4數(shù)據(jù)庫的建立與讀取
數(shù)據(jù)庫所提供的服務是整個系統(tǒng)的關鍵,本文是以VB默認的Access數(shù)據(jù)庫來存儲各種相關變量參數(shù)的。將復雜多樣的數(shù)據(jù)用嵌人和鏈接的方式內置于數(shù)據(jù)庫中,建立一個關系型數(shù)據(jù)庫,然后在VB應用程序中通過數(shù)據(jù)控件和數(shù)據(jù)庫相鏈接,采用ADO的方式讀取數(shù)據(jù)庫。
ADO是Microsoft數(shù)據(jù)庫應用程序開發(fā)的新接口,是建立在OLE nB之上的高層數(shù)據(jù)庫訪問技術。使用Ano技術在vB中檢索和讀寫數(shù)據(jù)的程序如下:
2箱體類零件的三維建模
在應用程序的開發(fā)中,為了讓設計者能夠根據(jù)自身經驗更好地實時控制整個箱體類零件設計過程和進度,采用了對話框的形式來完成計算機和人之間的信息交流。以閥體為例,設計過程中的信息交流界面構成見圖1。整個應用程序的運行結果-閥體零件的三維實體浩型見圖2。
3結論
閥體三維實體的成功建立表明用VB對Solid Works的二次開發(fā)在箱體類零件參數(shù)化設計的應用是行之有效的。從上述設計過程可以看出,參數(shù)化設計與傳統(tǒng)設計相比,其最大的特點是實現(xiàn)了整個設計過程的自動化,更為重要的是它能夠設計出一族而非單一的零件模型,這樣大大提高了工作效率,也使得操作更加簡單方便。
相關文章
- 2021-08-30從零開始AutoCAD 2014中文版機械制圖基礎培訓教程 [李
- 2021-08-30從零開始AutoCAD 2014中文版建筑制圖基礎培訓教程 [朱
- 2021-08-23零基礎學AutoCAD 2012電氣制圖工程應用 [張立富,陳剛,彭
- 2021-08-01Visual Basic與AutoCAD二次開發(fā)PDF下載
- 2021-07-21AutoCAD 機械零部件設計經典范例2014版 [北京兆迪科技
- 2021-07-11從零開始:AutoCAD中文版建筑制圖典型實例 [王海英,詹翔
- 2021-05-28常用零部件的AutoCAD二維參數(shù)化繪圖技術(上冊)PDF下載
- 2021-05-27常用零部件的AutoCAD二維參數(shù)化繪圖技術(上冊)PDF下載
- 2021-05-26從零開始:AutoCAD 2012中文版建筑設計基礎培訓教程PDF
- 2021-05-26從零開始·AutoCAD 2009中文版建筑制圖基礎培訓教程PD