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