版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第- -頁畢業(yè)設(shè)計(jì)摘要:SolidWorks是一種非常優(yōu)秀的三維機(jī)械設(shè)計(jì)軟件,但是它缺少國家標(biāo)準(zhǔn)零件庫,為機(jī)械設(shè)計(jì)工作帶來了不便。VB是一種簡(jiǎn)單易學(xué),而且功能強(qiáng)大的高級(jí)編程語言,Access是一種容易使用,而且功能強(qiáng)大的數(shù)據(jù)庫管理系統(tǒng)。SolidWorks提供了基于OLE自動(dòng)化技術(shù)的API函數(shù),可以使用VB為它進(jìn)行二次開發(fā)。螺紋聯(lián)接的國家標(biāo)準(zhǔn)數(shù)據(jù)可以使用Access來管理。使用VB為SolidWorks開發(fā)螺紋聯(lián)接國家標(biāo)準(zhǔn)零件的專用模塊,配合Access管理的國家標(biāo)準(zhǔn)數(shù)據(jù),就可開發(fā)出針對(duì)SolidWorks的國家標(biāo)準(zhǔn)零件庫模塊。把模塊編譯成SolidWorks的插件,然后用菜單的方式掛到Sol
2、idWorks系統(tǒng)中,可以使螺紋聯(lián)接國家標(biāo)準(zhǔn)零件模塊的使用更加方便。關(guān)鍵詞:標(biāo)準(zhǔn)零件標(biāo)準(zhǔn)零件庫螺紋聯(lián)接標(biāo)準(zhǔn)零件庫二次開發(fā)SolidWorks畢業(yè)設(shè)計(jì)Abstract:TheSolidWorksisarealfair3Dmachinedesignsoftware,ButitbeindefectoftheLibofthenationalstandardparts,thatworkstobringformachinedesignveryinconvenient.VBisaeasilystudy,andpowerfulcomputerhighclasslanguage,Accessisaneasyus
3、age,andpowerfulDBMS.TheSolidWorksprovidedmassAPIfunctionsbasetheOLEAutomationtechnique,CanbeusetheVBtodevelopmenttwotimesforit.ThenationalstandarddataofthethreadlinkercanusetheAccesstomanage.CanbeusetheVBdeveloptheLibofthenationalstandardpartsofthreadlinkerforSolidWorks,andtheNationalstandarddatatha
4、tmanagebyAccess,CandeveloptheappropriationmoldsoftheLibofthenationalstandardpartsofthreadlinkerforSolidWorks.LettheappropriationmoldseditandtranslateitbetheAdd-insoftheSolidWorks,thenusethemenutohangintheSolidWorkssystem,andcanmaketheLibofthenationalstandardpartsofthreadlinkermoreconvenient.Keywords
5、:Thestandardparts;TheLibofthestandardpartsTheLibofthenationalstandardpartsofthreadlinker;Twotimesdevelopment;SolidWorks第一章緒論SolidWorks系統(tǒng)簡(jiǎn)介目前,在我國的CAD市場(chǎng)上比較流行的三維CAD軟件有SolidWorks、MDT、UG、Pro/ESolidEdge等。但就價(jià)位來講SolidWorks、MDT、SolidEdge是中低檔價(jià)位的產(chǎn)品,UG、Pro/EIDEAS是高中檔價(jià)位的產(chǎn)品。SolidWorks是一套基于Windows的CAD/CAE/CAM/PDM桌
6、面集成系統(tǒng),是美國SolidWorks公司在總結(jié)和繼承了大型機(jī)械CAD軟件的基礎(chǔ)上,在Windows環(huán)境下實(shí)現(xiàn)的第一個(gè)機(jī)械三維CAD軟件,于1995年11月研制成功。它全面采用非全約束的特征建模技術(shù),其設(shè)計(jì)過程全相關(guān)性,可以在設(shè)計(jì)過程的任何階段修改設(shè)計(jì)。同時(shí)牽動(dòng)相關(guān)部分的修改。它即提供自底向上的裝配方法,同時(shí)還提供自頂向下的裝配方法。自頂向下的裝配方法使工程師能在裝配環(huán)境中參考裝配體的其他零件的位置及尺寸設(shè)計(jì)新的零件,更加符合工程習(xí)慣。它具有獨(dú)創(chuàng)性的“封裝”功能,可以分塊處理復(fù)雜的裝配體。具有產(chǎn)品配置功能,為用戶設(shè)計(jì)不同構(gòu)性的產(chǎn)品。它集成了設(shè)計(jì)、分析、加工和數(shù)據(jù)管理過程,所獲得的分析和加工模擬
7、結(jié)果成為產(chǎn)品模型的屬性,在SolidWorks的特征管理器中清晰的列出了詳細(xì)的數(shù)據(jù)信息。它還可以動(dòng)態(tài)模擬裝配過程,進(jìn)行靜態(tài)干涉檢查、計(jì)算質(zhì)量特征,如質(zhì)心、慣性矩等。它將2D造型繪圖與3D造型技術(shù)融為一體,能自動(dòng)生成零件尺寸、材料明細(xì)表(B0M)、具有指引線的零部件編號(hào)等技術(shù)資料,從而簡(jiǎn)化了工程圖樣的生成過程。同時(shí)有中英文兩種界面可以選擇,其先進(jìn)的特征樹結(jié)構(gòu)使操作更加簡(jiǎn)便和直觀。具有交好的開發(fā)性接口和功能擴(kuò)充性。能輕松實(shí)現(xiàn)各種CAD軟件之間的數(shù)據(jù)轉(zhuǎn)換傳送。目前,SolidWorks的全球用戶超過20萬,國外大多數(shù)制造公司招聘時(shí)都要求應(yīng)聘人具備操作SolidWorks的能力。國際上很多一流的名校都
8、將SolidWorks定為大學(xué)本科學(xué)生的必修課,如麻省理工學(xué)院、英國劍橋大學(xué)等。95%的西方企業(yè)要求員工回運(yùn)用SolidWorks軟件,SolidWorks連續(xù)幾年被美國一些雜志評(píng)為優(yōu)秀的CAD軟件。但是SolidWorks也并非十全十美,不可能滿足特定企業(yè)的特殊要求。例如,由于該軟件是外國人寫的,不適合中國的國標(biāo),如標(biāo)題欄、明細(xì)表、放大圖的標(biāo)注、剖視圖的標(biāo)注、裝配圖的序號(hào)等。也沒有適合我國國標(biāo)的標(biāo)準(zhǔn)件庫。因此,為了適應(yīng)特定企業(yè)的特殊要求,形成企業(yè)自己的特色,使SolidWorks在我國的企業(yè)中有效的發(fā)揮作用,并使常用的或是重復(fù)的任務(wù)自動(dòng)化,提高效率,就必須對(duì)其進(jìn)行本土化和專業(yè)化的二次開發(fā)工作
9、。SolidWorks系統(tǒng)具有如下的特點(diǎn):具有獨(dú)特的特征管理員,提供的特征管理員設(shè)計(jì)歷史樹同具體的實(shí)體模型是實(shí)時(shí)的動(dòng)態(tài)聯(lián)接;具有強(qiáng)大的實(shí)體建模功能和直觀的Windows用戶界面;支持Windows的DDE機(jī)制和OLE技術(shù);支持Internet技術(shù),可以共享設(shè)計(jì)數(shù)據(jù);雙向關(guān)聯(lián)的尺寸驅(qū)動(dòng)機(jī)制;提供了VB,VC+和其他支持OLE的開發(fā)語言接口;給基于Windows的桌面集成賦予了新的含義。它以Windows為平臺(tái),集成了動(dòng)態(tài)仿真軟件(Motionworks)、工程分析軟(CosMo-SolidWorksorks)、數(shù)控加工軟件(SurfCAM)、以及工程數(shù)據(jù)管理軟(SmarTeamWorks)等,使
10、它們成為SolidWorks家族中的一員。這些軟件的數(shù)據(jù)可以相互傳遞共享。而且SolidWorks公司還設(shè)有網(wǎng)上站點(diǎn),可方便用戶快速了解此系統(tǒng)的最新發(fā)展情況,或獲得最新的技術(shù)支持。造型功能SolidWorks提供了新一代的造型功能,它包括了草圖和實(shí)體,參數(shù)化特征造型技術(shù)。提供豐富的基本特征,并且提供用戶自定義特征的功能。SolidWorks支持強(qiáng)大的三維參數(shù)化設(shè)計(jì)功能,可以方便地在設(shè)計(jì)的任何階段修改零件.繪圖功能工程繪圖系統(tǒng)Drawing主要用于三維模型的工程圖紙繪制與輸出,可同時(shí)編輯多張圖紙。當(dāng)設(shè)計(jì)人員建圖紙文件時(shí),可以將PART文件上的特征歷史樹的總結(jié)點(diǎn)用鼠標(biāo)點(diǎn)取移動(dòng)到圖紙文件上,圖紙文件
11、上自動(dòng)生成三視圖。繪制的圖紙上可以自動(dòng)標(biāo)注尺寸信息。圖紙與模型是相互關(guān)聯(lián)的,當(dāng)模型上的尺寸或造型變化時(shí),圖紙也相應(yīng)改變。視圖包括標(biāo)準(zhǔn)視圖、投影視圖、一般視圖、局部視圖以及剖面視圖,是零件或裝配體在圖紙上的某種形式的投影。在視圖上可以增加或刪除符合國標(biāo)的工程標(biāo)注。本系統(tǒng)隨時(shí)維護(hù)三維模型與二維繪圖的一致性注釋及輔助線段、圓注釋和輔助的線段、圓用于給圖紙?jiān)黾右恍┮晥D中未給出的信息,如加工注意點(diǎn)、材料選擇等。裝配功能SolidWorks中裝配的功能是由用戶指定裝配體中各零件之間的裝配約束關(guān)系,將零件裝配成裝配體。裝配系統(tǒng)不但可以將零件裝配起來,也可以讀入已經(jīng)裝配好的裝配體,作為子裝配體進(jìn)行裝配;子裝配
12、體在裝配過程中可以視為一個(gè)整體,等效于一個(gè)零件。SolidWorks可以模擬仿真裝配的全過程。二次開發(fā)雖然SolidWorks所提供的功能非常強(qiáng)大,但要使其在我國企業(yè)中真正發(fā)揮作用,就必須對(duì)其進(jìn)行本地化、專業(yè)化的二次開發(fā)工作。為了方便用戶進(jìn)行二次開發(fā),SolidWorks提供了幾百個(gè)API函數(shù),這些API是SolidWorks的OLE或COM接口.用戶可以使用高級(jí)語言對(duì)其進(jìn)行二次開發(fā),建立適合用戶需要的、專用的SolidWorks功能模塊。SolidWorks是一個(gè)非常開放的系統(tǒng),提供了VB,VC+和其他支持OLE的開發(fā)語言接口。提供給用戶必要的工具(宏語言、庫函數(shù)等)以開發(fā)個(gè)人化的應(yīng)用模塊,
13、并且易于將它集成到系統(tǒng)中去。用VB或VC+調(diào)用SolidWorks的API函數(shù),可以完成零件的建造、修改;零件各特征的建立、修改、刪除、壓縮等各項(xiàng)控制;零件特征信息的提取,如特征尺寸的設(shè)置與提取,特征所在面的信息提取及各種幾何和拓?fù)湫畔?零件的裝配信息;零件工程圖紙中的各項(xiàng)信息;還可在SolidWorks主菜單上增加按鈕,將自己開發(fā)的應(yīng)用模塊嵌入到它的管理系統(tǒng)中。系統(tǒng)開發(fā)的目的與意義如前所述,SolidWorks雖然擁有強(qiáng)大的功能,適當(dāng)?shù)膬r(jià)位,但是也分并非是十全十美。不可能滿足特定企業(yè)的特殊要求。例如,由于該軟件是外國人寫的,不適合中國的國標(biāo),如標(biāo)題欄、明細(xì)表、放大圖的標(biāo)注、剖視圖的標(biāo)注、裝配
14、圖的序號(hào)等。也沒有適合我國國標(biāo)的標(biāo)準(zhǔn)件庫。因此,為了適應(yīng)特定企業(yè)的特殊要求,形成企業(yè)自己的特色,使SolidWorks在畢業(yè)設(shè)計(jì)我國的企業(yè)中有效的發(fā)揮作用,并使常用的或是重復(fù)的任務(wù)自動(dòng)化,提高效率,就必須對(duì)其進(jìn)行本土化和專業(yè)化的二次開發(fā)工作。SolidWorks系統(tǒng)提供數(shù)據(jù)操縱接口函數(shù)API,專門讀寫三維零件數(shù)據(jù),并提供了一系列的Automation接口(包括對(duì)象、屬性和方法),使用戶進(jìn)行二次開發(fā)更加容易。運(yùn)用Automation技術(shù)使得在自己的應(yīng)用程序中驅(qū)動(dòng)三維CAD系統(tǒng)中的零件變的有可能而且容易。綜上,SolidWorks沒有適合我國國家標(biāo)準(zhǔn)的標(biāo)準(zhǔn)件庫,在設(shè)計(jì)工作中在機(jī)械設(shè)計(jì)中,對(duì)標(biāo)準(zhǔn)件模
15、型的需求量是相當(dāng)大的。而標(biāo)準(zhǔn)件是可重用模型,每每需要時(shí)可以實(shí)時(shí)建模,但這顯然是一種資源的浪費(fèi)。為了提高設(shè)計(jì)工作的效率,有效利用設(shè)計(jì)人員人力資源,同時(shí)更加強(qiáng)化SolidWorks的本土化程度,為其開發(fā)GB標(biāo)準(zhǔn)件庫將有著非常的意義。論文工作的主要內(nèi)容本次設(shè)計(jì)的題目為螺紋聯(lián)接CAD系統(tǒng)的標(biāo)準(zhǔn)件庫開發(fā),使用VB為SolidWorks系統(tǒng)開發(fā)了一個(gè)螺紋聯(lián)接標(biāo)準(zhǔn)件系統(tǒng)。設(shè)計(jì)過程中需要熟悉VB、Access數(shù)據(jù)庫管理系統(tǒng)以及SolidWorks系統(tǒng)和它的二次開發(fā)方法等。本次論文工作的主要內(nèi)容如下:簡(jiǎn)要介紹SolidWorks系統(tǒng);SolidWorks系統(tǒng)的二次開發(fā)及其API函數(shù);VB對(duì)SolidWorks的
16、二次開發(fā)方法;Access數(shù)據(jù)庫管理系統(tǒng)在標(biāo)準(zhǔn)件庫開發(fā)中的應(yīng)用;螺紋聯(lián)接標(biāo)準(zhǔn)件庫的開發(fā);SolidWorks系統(tǒng)插件菜單的開發(fā);為完善標(biāo)準(zhǔn)件庫系統(tǒng)的功能而為其開發(fā)的受力分析模塊;第二章Solidworks的二次開發(fā)及其API函數(shù)簡(jiǎn)介相關(guān)術(shù)語為了方便用戶進(jìn)行二次開發(fā),SolidWorks提供了幾百個(gè)API函數(shù),這些API是SolidWorks的OLE或COM接口,用戶可以使用VB/VC等高級(jí)語言對(duì)其進(jìn)行二次開發(fā),建立適合用戶需要的、專用的SolidWorks功能模塊。要順利對(duì)SolidWorks進(jìn)行二次開發(fā),以下的基本術(shù)語是需要知道的。OLE技術(shù)OLE就是對(duì)象的嵌入與連接,它使得應(yīng)用程序之間能夠
17、通過數(shù)據(jù)的嵌入或連接的方式來共享數(shù)據(jù)。含有嵌入或連接文檔的應(yīng)用程序被稱為容器程序,提供文檔數(shù)據(jù)編輯的應(yīng)用程序被稱為服務(wù)器程序。0LE2.0推出以后,OLE已經(jīng)不再是對(duì)象的嵌入和連接的縮略詞。不妨認(rèn)為ActiveX是OLE3.0,事實(shí)上ActiveX是OLE在網(wǎng)絡(luò)上的擴(kuò)展,它使用了OLE技術(shù)并且超過了本地機(jī)器的范圍。自動(dòng)化技術(shù)Automation是OLE技術(shù)的一個(gè)重要內(nèi)容。直到今天,自動(dòng)化技術(shù)擴(kuò)充和發(fā)展為ActiveXAutomation,它適用于OLE對(duì)象和ActiveX對(duì)象。自動(dòng)化技術(shù)由客戶程序和服務(wù)器程序組成,客戶程序是操縱者與控制者,服務(wù)器程序是被控制者,它包含了一系列的暴露對(duì)象。服務(wù)器
18、應(yīng)用程序通過自身對(duì)象的屬性、方法、事件外顯其功能;對(duì)象的服務(wù)器程序簡(jiǎn)單而抽象的代表。而客戶應(yīng)用程序則通過操縱服務(wù)器應(yīng)用程序所暴露的一系列對(duì)象來操縱服務(wù)器應(yīng)用程序。只要服務(wù)器程序提供一定的接口,可以使任何對(duì)象實(shí)現(xiàn)自動(dòng)化。對(duì)象包含的一些外部接口,它們被稱為方法與屬性。方法是自動(dòng)化對(duì)象的一些函數(shù),它們是提供給客戶程序的外部公共成員函數(shù),屬性是一個(gè)對(duì)象的一些命名特性,即對(duì)象的一些共有數(shù)據(jù)域。操縱程序被稱為客戶(Client),而被操縱程序稱為服務(wù)器(Server),被操縱的對(duì)象是ActiveX對(duì)象如果應(yīng)用程序支持OLE技術(shù),則在不同應(yīng)用程序之間的切換由OLE自動(dòng)完成。SolidWoks支持OLE標(biāo)準(zhǔn),
19、完全實(shí)現(xiàn)了OLE自動(dòng)化,前已提及,SolidWoks具有開放的結(jié)構(gòu)體系,它的這種開放性體現(xiàn)在它所提供的API對(duì)象上。API是一個(gè)對(duì)SolidWoks的應(yīng)用編程接口(ApplicationProgrammingInterface),包含了幾百個(gè)對(duì)象及其屬性、方法和事件,這正是SolidWoks為用戶提供的功能強(qiáng)大的二次開發(fā)接口,凡支持OLE編程的開發(fā)工具,如VisualC+、VisualBasic、Dephi等均可從各自本身操作這些對(duì)象,從而直接行使SolidWoks的功能,如畫一條直線,拉伸一個(gè)凸臺(tái),或修改一個(gè)表面的參數(shù)等。利用這種方法可以完成SolidWoks的二次開發(fā),倉U建出用戶定制的、
20、專用的SolidWoks功能模塊。在本課題中,我們用VB來控制SolidWoks提供的各種對(duì)象,即把VB作為客戶程序,SolidWoks作為服務(wù)器程序。ActiveX技術(shù)ActiveX是微軟新近提出的一種技術(shù),它以COM為基礎(chǔ),其中包括了OLE技術(shù)以及應(yīng)用于internet的多種技術(shù)。它使得不同的進(jìn)程,甚至是網(wǎng)絡(luò)上的進(jìn)程之間相互通信,并朝著多媒體方向發(fā)展。ActiveX是一種面向?qū)ο蟮慕M件系統(tǒng),其中包括了組件軟件的各個(gè)方面,有復(fù)雜文檔、自定義控制、OLE自動(dòng)化、交互應(yīng)用程序腳本、數(shù)據(jù)傳送及其他分布軟件的相互作用。這些組件對(duì)象為用戶提供了不同的功能,使得不同的軟件供應(yīng)商提供的組件可以在二進(jìn)制之間
21、進(jìn)行相互的連接和通信。對(duì)象通過接口實(shí)現(xiàn)組件之間以及組件與系統(tǒng)之間的相互作用。在桌面系統(tǒng)進(jìn)行軟件交互時(shí),除了系統(tǒng)提供的標(biāo)準(zhǔn)控制外,OLE控件是一個(gè)重要的組成部分。ActiveX是一種標(biāo)準(zhǔn),利用這個(gè)標(biāo)準(zhǔn)可以使用通過不同的語言開發(fā)的軟件構(gòu)件在單機(jī)或網(wǎng)絡(luò)環(huán)境中相互操作。同時(shí),ActiveX也是以組件對(duì)象模型為基礎(chǔ)的開放技術(shù)的集合,它代表了應(yīng)用程序與internet的一種集成策略。OLEAutomation技術(shù)自動(dòng)化技術(shù)(Automation)為軟件之間的交互創(chuàng)造了條件,它允許多個(gè)應(yīng)用程序或組件之間進(jìn)行通訊和交互,而與它們的語言、分布和原始平臺(tái)無關(guān)。在開發(fā)標(biāo)準(zhǔn)件庫時(shí),運(yùn)用OLE(ObjectLinkin
22、gandEmbedding)Automation技術(shù),無疑會(huì)減小開發(fā)的難度,使系統(tǒng)更加穩(wěn)定可靠。SolidWorks系統(tǒng)提供數(shù)據(jù)操縱接口函數(shù)API,專門讀寫三維零件數(shù)據(jù),并提供了一系列的Automation接口(包括對(duì)象、屬性和方法),使用戶進(jìn)行二次開發(fā)更加容易。運(yùn)用Automation技術(shù)使得在自己的應(yīng)用程序中驅(qū)動(dòng)三維CAD系統(tǒng)中的零件變的有可能而且容易。尺寸驅(qū)動(dòng)原理本論文對(duì)標(biāo)準(zhǔn)件建模采用尺寸驅(qū)動(dòng)原理,即標(biāo)準(zhǔn)件的生成也是對(duì)相應(yīng)標(biāo)準(zhǔn)件模板進(jìn)行尺寸驅(qū)動(dòng)的過程。尺寸驅(qū)動(dòng)即在零件拓?fù)浣Y(jié)構(gòu)不變的情況下,把零件的尺寸參數(shù)定義為尺寸變量,并定義出變量間的關(guān)系,當(dāng)給定不同的尺寸值,就可得到一組結(jié)構(gòu)相同而尺寸
23、不同的零件,每一類標(biāo)準(zhǔn)件對(duì)應(yīng)一個(gè)模板文件,在模板文件中定義尺寸變量和變量間的關(guān)系。由于三維CAD都采用了參數(shù)化的設(shè)計(jì)方法,在開發(fā)標(biāo)準(zhǔn)件庫時(shí)沒有必要再做尺寸約束求解,所以零件的最后生成可以依靠系統(tǒng)參數(shù)化功能來實(shí)現(xiàn),即通過用新的尺寸值對(duì)實(shí)現(xiàn)準(zhǔn)備好標(biāo)準(zhǔn)件模板進(jìn)行尺寸驅(qū)動(dòng)來生成一個(gè)新的標(biāo)準(zhǔn)件。在工程實(shí)踐中用到的具有系列尺寸的標(biāo)準(zhǔn)件,其尺寸參數(shù)可分為獨(dú)立參數(shù)和非獨(dú)立參數(shù),獨(dú)立參數(shù)中包含了主驅(qū)動(dòng)參數(shù)(稱之為基本參數(shù))和自定義特性參數(shù)。一般只要給定獨(dú)立參數(shù),即可唯一確定零件的全部幾何參數(shù)(非獨(dú)立參數(shù)可由主驅(qū)動(dòng)參數(shù)從標(biāo)準(zhǔn)件特性參數(shù)庫中取得)。例如GB5780-86,其螺紋規(guī)格,螺桿長度,螺紋長度為三個(gè)獨(dú)立參數(shù)
24、,由用戶根據(jù)自身需要進(jìn)行選取。螺紋規(guī)格確定之后,螺栓的六角頭厚度,扳手寬,倒角半徑等尺寸即可從特性參數(shù)庫中獲得,從而可以對(duì)形狀模式庫中的對(duì)應(yīng)的形狀模型進(jìn)行尺寸驅(qū)動(dòng),實(shí)現(xiàn)零件建模。SolidWorks的API函數(shù)介紹SolidWorks的對(duì)象模型相關(guān)術(shù)語對(duì)象類定義了具有相同結(jié)構(gòu)和操作的一組對(duì)象,其最基本的特征是封裝和繼承。作為一種抽象數(shù)據(jù),對(duì)象把實(shí)體的相關(guān)特征和操作封裝在一起,允許人們以自然的方式去模擬外部實(shí)體的結(jié)構(gòu)和行為;繼承是對(duì)象類實(shí)現(xiàn)可復(fù)用性和可擴(kuò)充性的重要特征。一個(gè)對(duì)象類可以定義為另一個(gè)更一般的特殊情形,這個(gè)對(duì)象類是特殊對(duì)象類的父類(SuperClass),或者說,畢業(yè)設(shè)計(jì)特殊對(duì)象是這個(gè)
25、一般對(duì)象的子類(SubClass),子類繼承父類的所有屬性和操作,除此以外子類還可以定義自己特有的屬性和操作。繼承是對(duì)象類的一種特例化關(guān)系,亦即集合包含關(guān)系,子類對(duì)象實(shí)例集合是父類對(duì)象實(shí)例集合的子集。對(duì)象模型SolidWorks的對(duì)象模型是一個(gè)多層次的對(duì)象網(wǎng)絡(luò),如圖2.1所示。最高級(jí)別的對(duì)象類是SldWorks,該對(duì)象中封裝了很多方法(Methods),女如0penDoc2、ActivateDoc2、CloseDoc、ExitApp,下面又創(chuàng)建了許多子類,如ModelDoc、Environment、Frame。本文將重點(diǎn)介紹ModelDoc對(duì)象,因?yàn)榇蟛糠掷L圖操作都在ModelDoc對(duì)象中,女
26、如SelectBylD(選擇)、CreateCircle2(畫圓)、CreateLine2(畫直線)。ModelDoc中又創(chuàng)建了PartDoc、AssemblyDoc、DrawingDoc等子類。其中大部分實(shí)體建模操作都在PartDoc對(duì)象中,如FeatureExtrusion(拉伸)、FeatureRevolve(旋轉(zhuǎn));而相關(guān)的裝配操作如AddComponent(插入零部件)、AddMate(插入配合)等都在AssemblyDoc對(duì)象中。對(duì)象的屬性和方法在SolidWorks創(chuàng)建的對(duì)象中,每個(gè)對(duì)象都有自己的屬性和方法,通過調(diào)用API函數(shù)實(shí)現(xiàn),反過來,應(yīng)用SolidWorks的每一步操作都體
27、現(xiàn)在特定的對(duì)象類中。下面以VB為開發(fā)平臺(tái)介紹其一些常用的API函數(shù)。連接SolidWorks在對(duì)SolidWorks進(jìn)行二次開發(fā)時(shí),首先要建立SolidWorks的連接,創(chuàng)建SolidWorks的應(yīng)用對(duì)象:DimswAppAsObjectSetswApp=CreateObject(“SldWorks.Application)通過這個(gè)函數(shù),就打開了SolidWorks的接口,可以調(diào)用它的API函數(shù)了。建立新的零件圖、裝配圖創(chuàng)建零件圖:DimPartAsObjectSetPart=swApp.newpart創(chuàng)建裝配圖:DimAssemAsObjectSetAssem=swapp.NewAssemb
28、ly這兩個(gè)函數(shù)創(chuàng)建了一個(gè)新的工作區(qū),使我們能夠進(jìn)行建模和裝配。選擇“選擇”可以說是在使用SolidWorks時(shí)用得最多的一個(gè)命令,有很多命令在使用時(shí)都要選擇操作對(duì)象,通過調(diào)用ModelDoc對(duì)象中的SelectBylD函數(shù)來實(shí)現(xiàn):ModelDoc.SelectByID(objectName,objectType,x,y,z)這個(gè)函數(shù)在應(yīng)用時(shí)需要輸入五個(gè)參數(shù):objectName表示要選擇對(duì)象的名稱,該名稱是SolidWorks在創(chuàng)建對(duì)象時(shí)按先后順序自動(dòng)命名的,如基準(zhǔn)面1、基準(zhǔn)面2、Arcl、Line3、D1草圖1Part1.SLDPRT;objectType要輸入對(duì)象的類型,如PLANE(面)
29、、SKETCHSEGMENT(草圖上的對(duì)象如直線、圓弧等)、DIMENSION尺寸標(biāo)注);x,y,z是平面上任一點(diǎn)的坐標(biāo)值。插入草圖在所選平面上插入草圖,調(diào)用ModelDoc中的InsertSketch函數(shù):ModelDoc.InsertSketch()基本草圖繪制命令畫直線調(diào)用ModelDoc對(duì)象中的CreateLine2函數(shù):ModelDoc.CreateLine2(xStart,yStart,zStart,xEnd,yEnd,zEnd).ConstructionGeometry=TruexStart、yStart、zStart、xEnd、yEnd、zEnd分別是直線的起點(diǎn)和終點(diǎn)坐標(biāo);Co
30、nstructionGeometry二True時(shí)表示畫中心輔助線。畫圓調(diào)用ModelDoc對(duì)象中的CreateCircle2函數(shù):ModelDoc.CreateCircle2(xc,yc,zc,xp,yp,zp)xc、yc、zc、xp、yp、zp分別是圓心和圓上一點(diǎn)的坐標(biāo)值。標(biāo)注尺寸先通過SelectBylD函數(shù)選擇要標(biāo)注的對(duì)象,再調(diào)用ModelDoc中的AddDimension函數(shù):ModelDoc.AddDimension(x,y,z)x、y、z為尺寸文本所要放的位置的坐標(biāo)值。基本實(shí)體建模命令拉伸調(diào)用PartDoc中的FeatureExtrusion函數(shù):PartDoc.FeatureEx
31、trusion(sd,flip,dir,t1,t2,d1,d2,dchk1,dchk2,ddir1,ddir2,dang1,dang2,offsetReversel,offsetReverse2)sd為TRUE時(shí)表示單向拉伸,為FALSE時(shí)雙向拉伸,以0、1表示;dir為TRUE時(shí)表示正向拉伸,為真時(shí)有效;dir為TRUE時(shí)表示反向拉伸,為真時(shí)有效;t1、t2表示終止類型,可取下列值:0(給定深度)、1(貫穿)、2(為貫穿下一個(gè))、3(成形到一頂點(diǎn))、4(成形到一面)、5(到離指定面指定的距離)、6(兩側(cè)對(duì)稱);d1,d2表示拉伸的深度;ddir1、ddir2為TRUE時(shí)表示帶拔模角拉伸;da
32、ng1、dang2為TRUE時(shí)表示向內(nèi)拔模,為FALSE是向外拔模;offsetRe2verse1,offsetReverse2控制到離指定面指定的距離,在t1、t2為5時(shí)有效。其中d2、dchk2、ddir2、dang2、offsetReverse2在雙向拉伸時(shí)有效。旋轉(zhuǎn)調(diào)用PartDoc中FeatureRevolve函數(shù):PartDoc.FeatureRevolve(angle,reverseDir,angle2,revType)angle表示旋轉(zhuǎn)的角度;reverseDir控制旋轉(zhuǎn)的方向,為TRUE時(shí)表示反向,revTyp為1時(shí)無效;an2gle2表示旋轉(zhuǎn)的反向角度,僅當(dāng)revTyp為2
33、時(shí)有效;revTyp表示旋轉(zhuǎn)類型,為0時(shí)單方向旋轉(zhuǎn),為1時(shí)雙向等角度旋轉(zhuǎn),為2時(shí)雙向旋轉(zhuǎn)。倒角調(diào)用ModelDoc中的FeatureChamfer2Type函數(shù):ModelDoc.FeatureChamferType(chamferType,width,angle,flip,otherDist,vertexChamDist1,vertexChamDist2,vertexChamDist3)chamferType控制倒角的類型,可取下列值:1(角度-距離控制)、2(距離-距離控制)、3(頂點(diǎn)-倒角控制)、4(兩邊等距離控制);width表示倒角邊距;angle表示倒角角度,僅當(dāng)chamferTy
34、pe1為1時(shí)有效;otherDist表示chamferType為2時(shí)的另一邊距;vertexChamDist1、vertexChamDist2、vertex2ChamDist3表示chamferType為3時(shí)的三個(gè)距離。基本裝配命令零件的建模完成后,即可進(jìn)行零件的裝配,先調(diào)用swApp中的NewAssembly函數(shù)新建一個(gè)空白裝配文檔,再通過調(diào)用AssemblyDoc中的AddComponent函數(shù)插入零部件:AssemblyDoc.AddComponent(compName,x,y,z)compName表示要加入組件的路徑及名稱;x,y,z表示組件在裝配文檔中放置的位置。插入配合調(diào)用Asse
35、mblyDoc中的AddMate函數(shù):AssemblyDoc.AddMate(mateType,align,flip,dist,angle用mateType控制配合類型,可取下列值:0(重合)、1(同軸心)、2(垂直)、3(平行)、4(相切)、5(距離)、6(角度);align控制兩配合面的方向,0(同向?qū)R)、1(反向?qū)R)、2(最近處);flip為TRUE時(shí)表示延緩配合;dist控制mateType為5時(shí)的距離;angle控制mateTyp為6時(shí)的角度。添加菜單為了操作方便,把生成標(biāo)準(zhǔn)件的功能掛到Solidworks裝配環(huán)境的菜單和工具欄上,在菜單上的提示為各標(biāo)準(zhǔn)件的名稱,在工具條上的提示
36、則為圖標(biāo),用戶要插入某個(gè)標(biāo)準(zhǔn)件時(shí),只需在菜單或工具條上進(jìn)行選擇,然后由開發(fā)的程序調(diào)用相應(yīng)的標(biāo)準(zhǔn)件功能模塊0Solidworks的SldWorks對(duì)象,為VB對(duì)Solidworks工作環(huán)境進(jìn)行訪問處理提供了接口。通過此對(duì)象可以對(duì)Solidworks工作環(huán)境添加菜單、刪除菜單、添加工具條、打開文件、新建文件、退出Solidworks系統(tǒng)等功能,這里主要是通過使用SldWorks對(duì)象的Addmenu和Addmenuitem方法來在Solidworks工作環(huán)境中添加菜單和下拉子菜單及功能模塊的調(diào)用;通過使用SldWorks對(duì)象的Addtoolbar和AddToolbarCommand方法來完成在Sol
37、idworks工作環(huán)境中添加工具條和完成對(duì)應(yīng)標(biāo)準(zhǔn)件功能模塊的調(diào)用。ImplementsSWPublished.SwAddinDimiSldWorksAsSldWorks.SldWorksDimiCookieAsLongbRet=iSldWorks.SetAddinCallbackInfo(App.hInstance,Me,iCookie)bRet二iSldWorks.AddMenu(swDocNONE,螺紋聯(lián)接(&L),3)bRet二iSldWorks.AddMenultem2(swDocN0NE,iCookie,螺栓庫(&S)螺紋聯(lián)接(&L),-1,LS_Item,LS_ItemUpdate
38、,螺栓標(biāo)準(zhǔn)件庫)畢業(yè)設(shè)計(jì)bRet二iSldWorks.AddMenuItem2(swDocPART,iCookie,螺栓庫(&S)螺紋聯(lián)接(&L),-1,LS_Item,LS_ItemUpdate,螺栓標(biāo)準(zhǔn)件庫)關(guān)于菜單插件的具體具體實(shí)現(xiàn)方法將在后面談到。更多的SolidWorks的API函數(shù)介紹在這里只是簡(jiǎn)要的介紹SolidWorks的API函數(shù),不可能作到全面的認(rèn)識(shí)或是熟悉這些API要了解更多的API知識(shí)可以查看SolidWorks的API和插件幫助主題,如圖2.2。圖2.2VB開發(fā)SolidWorks基本原理SolidWorks支持ActiveXAutomation技術(shù),VB環(huán)境下建立的
39、客戶程序可以直接訪問SolidWorks中的對(duì)象。ActiveXAutomation是Microsoft公司提出的一個(gè)基于C0M(ComponetObjectModel)的技術(shù)標(biāo)準(zhǔn),是以前的OLE(ObjectLinkingandEmbeding)技術(shù)的更高層次的發(fā)展,ActiveXAutomation被開發(fā)出來的原因就是需要協(xié)調(diào)不同的應(yīng)用程序。Windows本身準(zhǔn)許同時(shí)運(yùn)行多個(gè)應(yīng)用程序,ActiveXAutomation準(zhǔn)許這些應(yīng)用程序互相通訊。每個(gè)應(yīng)用程序可以決定哪些信息和功能可以公布或者暴露給系統(tǒng)上的其它應(yīng)用程序。雖然ActiveXAutomation總是在兩個(gè)應(yīng)用程序之間安排對(duì)話,但是
40、這個(gè)對(duì)話不是雙向的,也是不平等的。ActiveXAutomation程序的每一塊都包括兩個(gè)程序,起不同的作用,客戶機(jī)是開始對(duì)話的應(yīng)用程序,服務(wù)器是響應(yīng)客戶機(jī)的應(yīng)用程序。代碼在客戶機(jī)上運(yùn)行,而這個(gè)代碼所控制的動(dòng)作由服務(wù)器執(zhí)行。在這里我們將SolidWorks理解為一個(gè)服務(wù)程序,把二次開發(fā)畢業(yè)設(shè)計(jì)工具的VB程序作為客戶程序,它們之間是服務(wù)器與客戶的關(guān)系。用戶只要在VB上進(jìn)行操作,VB就驅(qū)動(dòng)SolidWorks完成相應(yīng)的工作。SolidWorks為二次開發(fā)提供了大量的API對(duì)象,這些對(duì)象涵蓋了全部的SolidWorks的數(shù)據(jù)模型,通過對(duì)這些對(duì)象屬性的設(shè)置和方法的調(diào)用,就可以在用戶自己開發(fā)的DLL中實(shí)
41、現(xiàn)與SolidWorks相同的功能。SolidWorks中常用的主要ActiveXAutomation對(duì)象有SolidWorks的BodyParameter、Sldworks、Part、Face和Feature對(duì)象等。Sldworks對(duì)象為VB對(duì)SolidWorks工作環(huán)境進(jìn)行訪問處理提供了接口。通過此對(duì)象可以對(duì)SolidWorks工作環(huán)境添加菜單、刪除菜單、添加工具條、打開文件、新建文件、退出SolidWorks系統(tǒng)。用VB調(diào)用SolidWorks中的API函數(shù),還可以完成零件的建造和修改;零件各特征的建立、修改、刪除和壓縮等各項(xiàng)控制;零件特征信息的提取,如特征尺寸的設(shè)置與提取,特征所在面的
42、信息提取及各種幾何和拓?fù)湫畔ⅲ涣慵难b配信息;零件工程圖紙中的各項(xiàng)信息等。圖2.3對(duì)SolidWorks進(jìn)行二次開發(fā)。開發(fā)方法主要有兩種方法:一是用人機(jī)交互形式建立模型,設(shè)置合理的設(shè)計(jì)變量,再通過VB程序驅(qū)動(dòng)設(shè)計(jì)變量實(shí)現(xiàn)模型的更新,這種方法編程較簡(jiǎn)單,通用性好;二是完全用程序?qū)崿F(xiàn)三維模型的參數(shù)化設(shè)計(jì)以及模型的編輯,這種方法編程較前者復(fù)雜,但可以實(shí)現(xiàn)對(duì)具有復(fù)雜形體的零件造型,如生成精確的漸開線齒輪齒廓。開發(fā)過程首先針對(duì)要建立的實(shí)體分析結(jié)構(gòu),在SolidWorks中創(chuàng)建實(shí)體并標(biāo)注參數(shù)尺寸,主要是各特征的驅(qū)動(dòng)尺寸,標(biāo)注尺寸的大小是建立實(shí)體時(shí)的實(shí)際尺寸,SolidWorks會(huì)自動(dòng)讀取,一般不要修改它,
43、但SolidWorks自動(dòng)標(biāo)注的尺寸名字(女口:D1,D2)在程序中難以識(shí)別,所以尺寸的名字可在標(biāo)注時(shí)修改,使尺寸的名字盡量表達(dá)出特征。通過工程/引用菜單,如圖2.3,為VB添加SolidWorks引用。本設(shè)計(jì)為標(biāo)準(zhǔn)件庫的一般開發(fā)方法,對(duì)致力于SolidWorks二次開發(fā)的人員,具有一定的參考價(jià)值。第三章系統(tǒng)的總體設(shè)計(jì)標(biāo)準(zhǔn)件庫系統(tǒng)規(guī)劃設(shè)計(jì)思想與開發(fā)目標(biāo)隨著現(xiàn)代化生產(chǎn)不斷發(fā)展,機(jī)械設(shè)計(jì)中標(biāo)準(zhǔn)件的數(shù)量日益增多,這主要的因?yàn)椴捎脴?biāo)準(zhǔn)件,給產(chǎn)品的設(shè)計(jì)、制造、裝配帶來了很大的方便。在使用CAD進(jìn)行設(shè)計(jì)的過程中,如果設(shè)計(jì)人員可以從標(biāo)準(zhǔn)件庫中獲得滿足設(shè)計(jì)要求的標(biāo)準(zhǔn)件,則會(huì)大大減少重復(fù)勞動(dòng),提高設(shè)計(jì)效率,縮短
44、新產(chǎn)品的研制周期。但是,由于三維CAD系統(tǒng)在我國的研究起步較晚,三維標(biāo)準(zhǔn)件庫的研究和開發(fā)工作相對(duì)國外也有差距,大多數(shù)商品化CAD系統(tǒng)并未提供標(biāo)準(zhǔn)件庫,包括著名的外國產(chǎn)品如UG,SolidEdge等。有少數(shù)商品化系統(tǒng)提供了標(biāo)準(zhǔn)件庫,打算其數(shù)據(jù)格式是開發(fā)商自己定義的專用格式,不能滿足集成的需要。綜上所述,在SolidWorks中有必要添加這樣一個(gè)三維標(biāo)準(zhǔn)件庫:它具有常用的標(biāo)準(zhǔn)件、通用件;具有建庫、擴(kuò)展標(biāo)準(zhǔn)件的能力;標(biāo)準(zhǔn)件庫的代碼少而精干,采用的技術(shù)應(yīng)便于實(shí)現(xiàn)與其他系統(tǒng)的繼承;具有良好的人機(jī)交互界面,易學(xué)易用。專門應(yīng)用領(lǐng)域的用戶可用它擴(kuò)充自己所需要的標(biāo)準(zhǔn)件和通用件,既可減少開發(fā)費(fèi)用,又可提高開發(fā)效率
45、和質(zhì)量。標(biāo)準(zhǔn)件的系列化,通用化和標(biāo)準(zhǔn)化程度高,對(duì)具體的某一類標(biāo)準(zhǔn)件來說,它們的結(jié)構(gòu)都是固定不變的,所不同只是產(chǎn)品的結(jié)構(gòu)尺寸。為此可以設(shè)想,我們用有關(guān)標(biāo)準(zhǔn)件的所有信息包括幾何特征信息和其他信息建立一個(gè)標(biāo)準(zhǔn)件數(shù)據(jù)庫,當(dāng)需要用到標(biāo)準(zhǔn)件時(shí),由CAD系統(tǒng)自動(dòng)查詢圖形數(shù)據(jù)庫或由相應(yīng)的軟件計(jì)算出繪圖所需要的全部數(shù)據(jù),并自動(dòng)完成標(biāo)準(zhǔn)件的實(shí)體建模。即標(biāo)準(zhǔn)件庫的設(shè)計(jì)基于這樣一個(gè)前提:查詢與繪制工作為后臺(tái)服務(wù),對(duì)用戶透明,其目的是讓用戶進(jìn)行最簡(jiǎn)單的操作即可得到由系統(tǒng)生成的標(biāo)準(zhǔn)件,并可查詢到與標(biāo)準(zhǔn)件有關(guān)的信息。3.1.2標(biāo)準(zhǔn)件庫的總體結(jié)構(gòu)SolidWorks環(huán)境下標(biāo)準(zhǔn)件庫的系統(tǒng)結(jié)構(gòu),其中有系統(tǒng)主體和用戶界面、Soli
46、dWorks菜單標(biāo)準(zhǔn)件GB數(shù)據(jù)庫、標(biāo)準(zhǔn)件模板零件文件庫三個(gè)部分。其核心部分為系統(tǒng)主體和用戶界面,下面分析各個(gè)部分的功能。1、系統(tǒng)主體和用戶界面:用戶與標(biāo)準(zhǔn)件庫進(jìn)行交互的窗口,可以從中輸入所需要的標(biāo)準(zhǔn)件的主參數(shù),進(jìn)行實(shí)體建?;虿樵?;2、SolidWorks菜單:通過SolidWorks菜單直接調(diào)用標(biāo)準(zhǔn)件庫模塊,使之和SolidWorks融為一體,更加方便操作;3、標(biāo)準(zhǔn)件GB數(shù)據(jù)庫:為標(biāo)準(zhǔn)件的生成提供具體的尺寸信息;4、標(biāo)準(zhǔn)件模板零件文件庫:為標(biāo)準(zhǔn)件的生成提供模板文件,文件中完整定義了標(biāo)準(zhǔn)件的幾何約束。標(biāo)準(zhǔn)件模板零件文件配合標(biāo)準(zhǔn)件GB數(shù)據(jù)就可以生成用戶需要的特定類型和尺寸的標(biāo)準(zhǔn)零件。畢業(yè)設(shè)計(jì)系統(tǒng)功
47、能分解系統(tǒng)主體數(shù)據(jù)查詢與計(jì)算模塊該部分是系統(tǒng)的數(shù)據(jù)處理核心。用戶作出了適當(dāng)?shù)牟僮骱螅悄芘袛嗖僮鞯捻樞蚝鸵?。用戶選擇了特定的零件與參數(shù)后,系統(tǒng)首先運(yùn)行該模塊,利用ADO技術(shù)與數(shù)據(jù)庫交互,查詢到滿足用戶要求的特定數(shù)據(jù)記錄,然后根據(jù)情況,完成計(jì)算任務(wù),生產(chǎn)造型必須的最終數(shù)據(jù)。用戶的操作或是選擇有時(shí)候也最終數(shù)據(jù)的一部分。在造型前,用戶還有一次機(jī)會(huì)對(duì)數(shù)據(jù)進(jìn)行必要的修改,但是不建議進(jìn)行該項(xiàng)操作。實(shí)體造型模塊數(shù)據(jù)處理成功完成后,接著就應(yīng)該運(yùn)行該模塊了。在這里首先是創(chuàng)建SolidWorks的對(duì)象變量,加載幾個(gè)SolidWorks的庫文件,利用OLE技術(shù),讓VB與SolidWorks取得聯(lián)系。讓SolidW
48、orks打開模板文件,修改模板零件尺寸為用戶選擇或是最終修改后的尺寸值。SolidWorks重新建模,并生產(chǎn)新的文件后保存這就是最終零件文件受力分析校核模塊該部分是系統(tǒng)功能的擴(kuò)展,在這里首先要求選擇受力的情況,接要求輸入選定受力情況下的工作載荷或是力的大小,然后選擇材料,強(qiáng)度級(jí)別,安全系數(shù)等,最后該模塊就可以計(jì)算出螺栓或是螺柱或是螺釘?shù)男?,并完成校核。根?jù)小徑查詢數(shù)據(jù)庫確定公稱直徑d完成了受力分析和校核計(jì)算后,系統(tǒng)將引導(dǎo)至數(shù)據(jù)查詢與計(jì)算模塊。數(shù)據(jù)庫GB數(shù)據(jù)庫是系統(tǒng)數(shù)據(jù)存儲(chǔ)和管理中心,GB標(biāo)準(zhǔn)體現(xiàn)為數(shù)據(jù)表格,為了簡(jiǎn)約表達(dá)數(shù)據(jù)間的復(fù)雜關(guān)系,其表格往往都不是簡(jiǎn)單的二維表格。而現(xiàn)在流行的關(guān)系性數(shù)據(jù)庫
49、管理系統(tǒng)都是以簡(jiǎn)單的二維數(shù)據(jù)表基礎(chǔ)。將GB數(shù)據(jù)成功導(dǎo)入數(shù)據(jù)庫,并體現(xiàn)數(shù)據(jù)間的關(guān)系,是本次設(shè)計(jì)成功的關(guān)鍵,也是研究重點(diǎn)未來擴(kuò)展的GB庫在現(xiàn)行系統(tǒng)中其實(shí)并不存在該庫,這是對(duì)數(shù)據(jù)庫中的現(xiàn)有數(shù)據(jù)組織上的要求。優(yōu)秀的數(shù)據(jù)組織方式和存儲(chǔ)結(jié)構(gòu),可以降低程序代碼的難度,優(yōu)化程序的結(jié)構(gòu)。同時(shí)使將來數(shù)據(jù)的擴(kuò)充或是修改成為可能。資源文件圖片文件作為Windows系統(tǒng)下的圖形用戶界面應(yīng)用程序,適當(dāng)?shù)膱D形圖象說明是必須的。該部分是獨(dú)立于程序主體的,以文件的形式存儲(chǔ)在特定的目錄里,當(dāng)系統(tǒng)運(yùn)行時(shí)自動(dòng)調(diào)用。模板文件生成標(biāo)準(zhǔn)模型并不需要每次實(shí)時(shí)造型,而應(yīng)該是為每種零件生成模板文件,最后選擇需要的零件型號(hào)數(shù)據(jù),驅(qū)動(dòng)模板文件重新建
50、模。生成模型文件與模板文件幾何約束相同,尺寸約束相似。該部分是獨(dú)立于程序主體的,以文件的形式存儲(chǔ)在特定的目錄里,當(dāng)系統(tǒng)運(yùn)行時(shí)自動(dòng)調(diào)用。SolidWorks和最終零件文件系統(tǒng)通過OLE技術(shù),和SolidWorks通信,SolidWorks打開指定的模板零件文件,并按照系統(tǒng)傳遞的參數(shù)修改模板零件文件的尺寸,最后重新建模,生產(chǎn)新的零件文件。綜上,本螺紋聯(lián)接標(biāo)準(zhǔn)件庫系統(tǒng)將分解成以下幾個(gè)部分:1、系統(tǒng)主體和用戶界面,包括標(biāo)準(zhǔn)應(yīng)用程序和SolidWorks菜單;2、標(biāo)準(zhǔn)件GB數(shù)據(jù)庫,包含了螺紋聯(lián)接標(biāo)準(zhǔn)件的GB數(shù)據(jù);3、標(biāo)準(zhǔn)件模板零件文件庫,包含了每個(gè)類型的標(biāo)準(zhǔn)零件的模板文件。以上幾個(gè)部分的具體設(shè)計(jì)將在后面
51、談到。到此,系統(tǒng)完成了全部規(guī)劃過程。第四章系統(tǒng)主體和用戶界面的建立本設(shè)計(jì)是用VB開發(fā)螺紋聯(lián)接標(biāo)準(zhǔn)件零件庫,并使用Access數(shù)據(jù)庫管理系統(tǒng)管理數(shù)據(jù)。用VB開發(fā)界面,生成標(biāo)準(zhǔn)應(yīng)用程序,同時(shí)生成SolidWorks插件,將各模塊的界面掛在SolidWorks軟件的主菜單上,使兩個(gè)系統(tǒng)融為一體,應(yīng)用方便快捷。本次螺紋連接標(biāo)準(zhǔn)件庫公建立了包括螺栓、螺柱、螺釘、螺母以及墊圈五大類,共八小類,20項(xiàng)標(biāo)準(zhǔn)件。每項(xiàng)標(biāo)準(zhǔn)件的數(shù)據(jù)查詢工作和實(shí)體造型過程是基本一致的。每個(gè)小類的標(biāo)準(zhǔn)件零件只是部分參數(shù)不同而大部分程序語句可以通用。這就要求設(shè)計(jì)統(tǒng)一的用戶界面。同時(shí)應(yīng)該在操作習(xí)慣上符合一般的操作習(xí)慣。標(biāo)準(zhǔn)EXE應(yīng)用程序用
52、戶界面在一個(gè)應(yīng)用程序的使用過程中,由于使用者接觸到的始終是用戶界面,他只需要按照界面的引導(dǎo)來達(dá)到自己目的,并不需要了解具體的實(shí)現(xiàn)方法,所以,一個(gè)良好的操作界面對(duì)于一個(gè)應(yīng)用程序來說至關(guān)重要的。本設(shè)計(jì)中,標(biāo)準(zhǔn)件庫的界面采用窗口模式和SolidWorks菜單來實(shí)現(xiàn)。gSSKSSltMFORSoildWo系統(tǒng)(日螺栓螺拄螺釘(為在本次設(shè)計(jì)過成中,大量使用菜單,包括標(biāo)準(zhǔn)菜單和方便的彈出菜單,如圖4.1。啟動(dòng)SolidWorks匚trl+O關(guān)閉SolidWorksCtrl+E退出系統(tǒng)Ctrl+X圖4.1在界面設(shè)計(jì)過程中,盡可能遵循以下幾個(gè)原則:提供給用戶一個(gè)美觀,使用簡(jiǎn)單,直觀的界面;提供盡可能多的保護(hù)措
53、施,使輸入信息符合標(biāo)準(zhǔn);盡量符合不同操作人員的操作習(xí)慣;盡量將相似標(biāo)準(zhǔn)件信息在相同界面下輸入,以減少截面多余。采用包含標(biāo)準(zhǔn)件的數(shù)據(jù)下拉列表框,如圖4.2。讓用戶從中選取,而不是自己輸入這樣保證了用戶的信息完全符合國家標(biāo)準(zhǔn)。摞栓規(guī)格:圖4.24.2SolidWorks菜單的使用SolidWorks的工具菜單中選擇插件,如圖4.3。圖4.3本次設(shè)計(jì)不但開發(fā)了標(biāo)準(zhǔn)的EXE程序,同時(shí)為了使用方便,又將工程加以改進(jìn),為Solidworks開發(fā)了菜單插件,既DLL程序。生成SolidWorks插件,將各模塊的界面掛在SolidWorks軟件的主菜單上,如圖4.3。使兩個(gè)系統(tǒng)融為一體,應(yīng)用更加方便快捷。把生
54、成標(biāo)準(zhǔn)件的功能模塊掛到Solidworks裝配環(huán)境的菜單和工具欄上,在菜單上的提示為各標(biāo)準(zhǔn)件的名稱,在工具條上的提示則為圖標(biāo),用戶要插入某個(gè)標(biāo)準(zhǔn)件時(shí),只需在菜單或工具條上進(jìn)行選擇,然后由開發(fā)的程序調(diào)用相應(yīng)的標(biāo)準(zhǔn)件功能模塊。Solidworks的SldWorks對(duì)象,為VB對(duì)Solidworks工作環(huán)境進(jìn)行訪問處理提供了接口。通過此對(duì)象可以對(duì)Solidworks工作環(huán)境添加菜單、刪除菜單、添加工具條、打開文件、新建文件、退出Solidworks系統(tǒng)等功能,這里主要是通過使用SldWorks對(duì)象的Addmenu和Addmenuitem方法來在Solidworks工作環(huán)境中添加菜單和下拉子菜單及功能
55、模塊的調(diào)用;通過使用SldWorks對(duì)象的Addtoolbar和畢業(yè)設(shè)計(jì)第- -頁AddToolbarCommand方法來完成在Solidworks工作環(huán)境中添加工具條和完成對(duì)應(yīng)標(biāo)準(zhǔn)件功能模塊的調(diào)用。本次的DLL與EXE程序功能上基本沒有區(qū)別,但是DLL與EXE確實(shí)有實(shí)質(zhì)上的區(qū)別。動(dòng)態(tài)鏈接程序庫,全稱:DynamicLinkLibrary,簡(jiǎn)稱:DLL,作用在于為應(yīng)用程序提供擴(kuò)展功能。應(yīng)用程序想要調(diào)用DLL文件,需要跟其進(jìn)行“動(dòng)態(tài)鏈接”;從編程的角度,應(yīng)用程序需要知道DLL文件導(dǎo)出的API函數(shù)方可調(diào)用。由此可見,DLL文件本身并不可以運(yùn)行,需要應(yīng)用程序調(diào)用。正因?yàn)镈LL文件運(yùn)行時(shí)必須插入到應(yīng)用
56、程序的內(nèi)存模塊當(dāng)中,所以要運(yùn)行DLL就必須要用Solidworks來加載DLL。具體方法就是象打開文件一樣用Solidworks“打開”DLL,只是在加載DLL時(shí)要選擇Add-Ins文件類型。如圖4.4。圖4.4菜單的具體實(shí)現(xiàn)方法如下:在VB中新建ActiveDLL工程,如圖4.5,并把標(biāo)準(zhǔn)EXE程序的窗體文件和其他模塊等添加到ActiveDLL工程,然后為工程添加一個(gè)類模塊,內(nèi)容如下:Makesurethatareferencetotheswpublished.tlbtypelibraryexists同圖2.3一樣,為ActiveDLL工程引用swpublished.tlb庫文件,TellV
57、BthatyouaregoingtoprovidefunctionalityfortheSwAddininterface為ActiveDLL工程獲得SolidWorks對(duì)象,ImplementsSWPublished.SwAddinDimiSldWorksAsSldWorks.SldWorksDimiCookieAsLongImplementationmethodsoftheSwAddininterfacePrivateFunctionSwAddin_ConnectToSW(ByValThisSWAsObject,ByValCookieAsLong)AsBooleanDimbRetAsBool
58、eanstorereferencetoSWsessionSetiSldWorks=ThisSWstorecookiefromSWiCookie=CookieInformSWabouttheobjectthatcontainsthecallbacksbRet=iSldWorks.SetAddinCallbackInfo(App.hInstance,Me,iCookie)AddamenuitemontheframewhennodocumentsarepresentbRet=iSldWorks.SetAddinCallbackInfo(App.hInstance,Me,iCookie)Addamen
59、uitemontheframewhennodocumentsarepresentbRet二iSldWorks.AddMenu(swDocNONE,螺紋聯(lián)接(&L),3)沒有文檔的時(shí)候顯示的菜單,使用AddMenuItem2方法,其中,LS_Item,LS_ItemUpdate,是兩個(gè)函數(shù),見后面,bRet二iSldWorks.AddMenuItem2(swDocN0NE,iCookie,螺栓庫(&S)螺紋聯(lián)接(&L),-1,LS_Item,LS_ItemUpdate,螺栓標(biāo)準(zhǔn)件庫)打開或是新建零件文檔的時(shí)候顯示的菜單,bRet二iSldWorks.AddMenuItem2(swDocPART,
60、iCookie,螺栓庫(&S)螺紋聯(lián)接(&L),-1,LS_Item,LS_ItemUpdate,螺栓標(biāo)準(zhǔn)件庫)后面還有螺柱、螺釘、螺母和墊圈,和螺栓一樣,故省略。SwAddin_ConnectToSW=TrueEndFunction圖4.5卸載插件時(shí)刪除菜單,主要使用RemoveMenu方法。PrivateFunctionSwAddin_DisconnectFromSW()AsBooleanDimbRetAsBooleanRemoveanyUIthatwasaddedearlier刪除先前添加的菜單,bRet二iSldWorks.RemoveMenu(swDocNONE,螺紋聯(lián)接(&L),)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 會(huì)計(jì)政策變更對(duì)財(cái)務(wù)的影響計(jì)劃
- 分層次教學(xué)與個(gè)性化輔導(dǎo)計(jì)劃
- 定期教師培訓(xùn)與發(fā)展活動(dòng)計(jì)劃
- 班級(jí)藝術(shù)活動(dòng)的年度安排計(jì)劃
- 培養(yǎng)幼兒園小班的社交技巧與人際交往能力計(jì)劃
- 保安工作中的福利保障問題探討計(jì)劃
- 市場(chǎng)調(diào)研委托合同三篇
- 中學(xué)生信息素養(yǎng)提升策略計(jì)劃
- 2024-2025部編版語文一年級(jí)上冊(cè)閱讀3雪地里的小畫家
- 學(xué)前兒童科學(xué)教育活動(dòng)概述
- 2. 2.發(fā)現(xiàn)生長(課件)-2024-2025學(xué)年一年級(jí)科學(xué)上冊(cè)教科版
- 國家管網(wǎng)集團(tuán)高校畢業(yè)生招聘筆試真題2023
- 2024-2025學(xué)年全國中學(xué)生天文知識(shí)競(jìng)賽考試題庫(含答案)
- 2024-2025年新教材高中生物 第3章 第2節(jié) 第2課時(shí) 細(xì)胞器之間的協(xié)調(diào)配合和生物膜系統(tǒng)教案 新人教版必修1
- 企業(yè)滅火和應(yīng)急疏散應(yīng)急預(yù)案
- 慕課《如何寫好科研論文》期末考試答案
- 運(yùn)輸安全合同協(xié)議書2024年
- 高效能會(huì)議管理制度
- 2024年安全員-C3證考試題庫及答案
- 食管手術(shù)配合
- DL∕T 817-2014 立式水輪發(fā)電機(jī)檢修技術(shù)規(guī)程
評(píng)論
0/150
提交評(píng)論