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