我想看一级黄色大片_久久亚洲国产精品一区二区_久久精品免视看国产明星_91久久青青青国产免费

您的位置:網站首頁 > Solidworks

在箱體類零件中的SolidWorks二次開發應用探討

時間:2010-11-13 09:37:53 來源:

  本文探討了在箱體類零件中的SolidWorks二次開發應用。

  0引言

  SolidWorks是基于Windows平臺、采用Parasolid圖形核心的一套三維CAD軟件,它支持參數化和特征造型技術,能夠使用戶方便、快捷地創建任何復雜形狀的實體,并且可以實現實體的參數化驅動。由于其界面友好、操作方便、簡單易學,目前已成為微機平臺上流行的三維設計軟件。更為重要的是SolidWorks提供了大量的API(Application Program Interface,應用程序接口)函數用于二次開發,這些API函數是SolidWorks的OLE(Object Linking and Embedding,對象的嵌人與鏈接)或COM (Component Object Model,組件對象模型)接口,使用戶能夠直接訪間SolidWorks,并可以使用多種高級語言,如VB,VBA、VC等對其進行二次開發。由于VB(Visual Basic)是運行在Windows環境下的可視化編程語言,具有語言規則簡單、功能齊全、使用簡捷的優點,已有很多科研工作者利用VB語言對SolidWorks進行了二次開發,但大多停留在介紹開發的使用方法上,對于SolidWorks在箱體類零件二次開發應用方面的研究鮮有報道。箱類零件一般多用于支撐和裝置其它零件,結構形狀復雜,并且種類繁多,結構差異很大,其結構以箱壁、筋板和框架為主,工作表面以平臺和凸臺為主。作者根據箱類零件特點,用SolidWorks對其進行三維建模,并采用高級語言VB等進行編程,達到參數化驅動的目的,實現箱體類零件的參數化設計,使箱體設計更加規范、便捷和高效。

  1 SolidWorks二次開發關鍵技術及方法

  本文主要通過編寫Visual Basic程序來對SolidWorks軟件進行二次開發,采用的技術方案是:Visual Basic+Access+SolidWorks API,其主要過程如下:

  (1)在Microsoft Access中建立箱體類零件設計中所需的表格數據庫,供在箱體類零件設計中程序查詢用。

  (2)在SolidWorks中實現對箱體類零件的造型。用SolidWorks創建箱體類零件三維模型時,把建模的全過程錄制成宏文件,找出宏文件中與模型生成有關的關鍵函數,并確定其中的關鍵常數,弄清關鍵常數的變化對實體建模的影響,將關鍵常數用變量代替,這樣就建立了SolidWorks中的箱體類零件的參數化模型。

  (3)使用VB語言編制應用程序界面,當進行箱體類零件設計時,設計者通過應用程序界面錄入初始參數,程序將自動計算出上述宏文件中所需相關參數,編譯程序并生成可執行程序供SolidWorks程序調用。

  (4)完成可執行應用程序后,使用SolidWorks中的宏操作命令將應用程序嵌人SolidWorks中,實現二者的鏈接。

  通過以上四步就完成了SolidWorks的二次開發。以下是作者就二次開發中所用到的關鍵技術和方法進行的歸納與總結。

  1.1OLE和COM

  SolidWorks的二次開發分為兩種:一種是基于OLE技術的,可以開發exe形式的程序;另一種是基于COM的,可以生成* . dll格式的文件,作為SolidWorks的插件在SolidWorks中被加載運用。能夠通過數據嵌人或鏈接的方式來共享數據。含有嵌人或鏈接文檔數據的應用程序,稱之為容器程序;提供文檔數據編輯的應用程序,稱之為服務器程序。通過OLE技術,許多面向對象的應用程序可以與SolidWorks通訊,從而直接操縱SolidWorks,編制用戶化程序滿足設計需要。COM技術,即組件對象模型,定義了標準的構建組件的方法,是軟件組件互相通訊的一種方式。它是一種二進制的網絡標準,允許任意兩個組件互相通訊。COM不是一個特殊類型的應用程序,而是一個可以用來為任何類型的應用程序構建組件的普遍的模型。

  1.2SolidWorks API函數

  SolidWorks API是SolidWorks的OLE應用程序開發接口,為用戶提供了完全面向對象的類體系。它包括以下幾個方面:①對象的類型;②對象的屬性;③對象的方法。開發者通過操縱對象的屬性和調用對象的方法建立自己的應用程序,開發者可以在通用的開發平臺如VB, VBA, VC等上開發使用這些類的程序,也可以在自己的程序中派生這些類的子類,生成這些類的對象,對對象進行操作,設置或修改對象的屬性,從而訪問SolidWorks的數據庫、圖形系統和系統界面。

  1.3 VB程序與SolidWorks接口的實現VB程序與SolidWorks接口的實現是箱體類零件參數化建模的關鍵。將箱體類零件建模的過程錄制成宏文件,將宏復制到VB中,在VB環境中對宏文件進行修改編輯,加人如下語句,并將其中的路徑修改為SolidWorks的安裝路徑:

圖1

  這樣就實現了VB與SolidWorks的鏈接,在VB中編寫的程序就可以在SolidWorks環境中運行了。

  1.4數據庫的建立與讀取

  數據庫所提供的服務是整個系統的關鍵,本文是以VB默認的Access數據庫來存儲各種相關變量參數的。將復雜多樣的數據用嵌人和鏈接的方式內置于數據庫中,建立一個關系型數據庫,然后在VB應用程序中通過數據控件和數據庫相鏈接,采用ADO的方式讀取數據庫。

  ADO是Microsoft數據庫應用程序開發的新接口,是建立在OLE nB之上的高層數據庫訪問技術。使用Ano技術在vB中檢索和讀寫數據的程序如下:

圖2 

圖3

  2箱體類零件的三維建模

  在應用程序的開發中,為了讓設計者能夠根據自身經驗更好地實時控制整個箱體類零件設計過程和進度,采用了對話框的形式來完成計算機和人之間的信息交流。以閥體為例,設計過程中的信息交流界面構成見圖1。整個應用程序的運行結果-閥體零件的三維實體浩型見圖2。

圖3

圖5

  3結論

  閥體三維實體的成功建立表明用VB對Solid Works的二次開發在箱體類零件參數化設計的應用是行之有效的。從上述設計過程可以看出,參數化設計與傳統設計相比,其最大的特點是實現了整個設計過程的自動化,更為重要的是它能夠設計出一族而非單一的零件模型,這樣大大提高了工作效率,也使得操作更加簡單方便。