基于SOLIDWORKS二次開發(fā)畢業(yè)設(shè)計說明書_第1頁
基于SOLIDWORKS二次開發(fā)畢業(yè)設(shè)計說明書_第2頁
基于SOLIDWORKS二次開發(fā)畢業(yè)設(shè)計說明書_第3頁
基于SOLIDWORKS二次開發(fā)畢業(yè)設(shè)計說明書_第4頁
基于SOLIDWORKS二次開發(fā)畢業(yè)設(shè)計說明書_第5頁
已閱讀5頁,還剩34頁未讀 繼續(xù)免費閱讀

付費下載

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

第1頁共38頁1緒論11課題研究的意義任何設(shè)計都是時代的產(chǎn)物,它的不同的面貌,不同的特征反映著不同的歷史時期的科技技術(shù)水平。技術(shù)是產(chǎn)品形態(tài)發(fā)展的先導(dǎo),新材料,新工藝的出現(xiàn),必然給產(chǎn)品帶來新的結(jié)構(gòu),新的形態(tài)和新的造型風(fēng)格。材料、加工工藝、結(jié)構(gòu)、產(chǎn)品形象有機(jī)地聯(lián)系在一起的,某個環(huán)節(jié)的變革,便會引起整個機(jī)體的變化。夾具業(yè)多樣化發(fā)展使得通用的夾具CAD軟件不能完全滿足企業(yè)的特殊要求,所有研究在通用圖形軟件的基礎(chǔ)上二次開發(fā)企業(yè)自主的夾具CAD系統(tǒng)十分必要。如果進(jìn)行二次開發(fā),可以全面擴(kuò)展其功能或?qū)⑵涔δ芗傻娇蛻魬?yīng)用程序中,從而實現(xiàn)完全客戶化【1】。夾具可分為通用夾具、組合夾具、專用夾具幾類。組合夾具和專用夾具設(shè)計時需要進(jìn)行一系列的定位、夾緊、裝配設(shè)計才能滿足生產(chǎn)的要求。隨著生產(chǎn)節(jié)奏的加快,能在短時間內(nèi)由標(biāo)準(zhǔn)元件組裝完成的組合夾具,受到諸多企業(yè)普遍的青睞。其不足之處是外形尺寸較大,笨重;剛性較差,同時由于所需元件的儲備量大,故一次性投資費用較高而且目前組合夾具的設(shè)計和組裝仍采用落后的人工拼裝和管理方法,大多數(shù)企業(yè)的組合夾具是根據(jù)工藝人員設(shè)計的工序圖由組合夾具組裝站進(jìn)行組裝。由于沒有詳細(xì)的裝配圖,組裝時往往需要經(jīng)過多次安裝、調(diào)整才能達(dá)到要求,比較費時費力,不僅效率低、周期長,而且裝配質(zhì)量依賴豐富的生產(chǎn)經(jīng)驗和技術(shù)熟練的技工,這正是企業(yè)短缺的人才,客觀上成為限制組合夾具廣泛應(yīng)用的障礙。另外,有些復(fù)雜的組合夾具由于裝夾精度高,對人的經(jīng)驗依賴程度高,組裝站擔(dān)心拆卸后難以恢復(fù),故需要長期保存,這就造成組合元件長期被占用,影響組合元件周轉(zhuǎn)使用。所以,在如今的市場上如果提供一個選擇,并考慮到當(dāng)今的科技,客戶會喜歡根據(jù)其具體的需求選擇一個產(chǎn)品建造。產(chǎn)品的定制通常需要個人擁有必要的產(chǎn)品知識和設(shè)計技能,并把它們應(yīng)用在客戶所需的要求和規(guī)格上,而且這個過程通常需要耗費很多時間。如果應(yīng)用軟件進(jìn)行二次開發(fā)建立一個標(biāo)準(zhǔn)件三維實體模型庫,用戶選擇標(biāo)準(zhǔn)件時,便能自動從庫中取出,然后插入到裝配體的指定位置,將大大簡化設(shè)計工作,提高設(shè)計效率。同時用戶可交換選擇或修改標(biāo)準(zhǔn)件的某些參數(shù),直接在裝配環(huán)境中調(diào)用,使用極其方便有效。第2頁共38頁在產(chǎn)品設(shè)計中,大量應(yīng)用標(biāo)準(zhǔn)件是代表一個國家和企業(yè)設(shè)計制造水平的重要標(biāo)志。在機(jī)械產(chǎn)品中,有大約30到70的零件是標(biāo)準(zhǔn)件或非標(biāo)常用件,這些零件大多具有相同或相似的外形特征,只是尺寸規(guī)格有所不同,如果沒有三維標(biāo)準(zhǔn)件庫,將不得不在創(chuàng)建和開發(fā)過程中對標(biāo)準(zhǔn)件進(jìn)行重復(fù)建模,不但耗費了設(shè)計人員的時間和精力,延長設(shè)計周期,而且增加了產(chǎn)品的生產(chǎn)制造成本,所以建立通用的符合國家標(biāo)準(zhǔn)和企業(yè)標(biāo)準(zhǔn)的標(biāo)準(zhǔn)件庫和典型組合庫是提高設(shè)計效率的保證。專用夾具的設(shè)計更不例外。而一些優(yōu)秀的三維CAD軟件如UGSOLIDEDGE等都未提供機(jī)床夾具零部件庫。為此,選擇合適的三維CAD平臺,研發(fā)一套適用于各類CAD逗系統(tǒng)的、通用的標(biāo)準(zhǔn)件庫和機(jī)床夾具零部件庫具有極其深遠(yuǎn)的意義和價值。12機(jī)床夾具標(biāo)準(zhǔn)件庫研究的現(xiàn)狀夾具是制造企業(yè)一種重要的工藝裝備資源,夾具設(shè)計是生產(chǎn)準(zhǔn)備過程的關(guān)鍵環(huán)節(jié)。以多品種、小批量為代表的面向大規(guī)模定制生產(chǎn)模式,要求企業(yè)能夠快速響應(yīng)用戶需求,縮短開發(fā)時間。夾具由于能夠利用加工零件工藝上的相似性,且適應(yīng)工件特征在一定范圍內(nèi)的變化而得到推廣和應(yīng)用,如何提高夾具設(shè)計效率成為需要重點解決的問題之一。參數(shù)化技術(shù)作為快速設(shè)計的常用手段,因此,夾具參數(shù)化生成和快速變形設(shè)計成為企業(yè)的迫切需要。據(jù)統(tǒng)計,在夾具開發(fā)過程中標(biāo)準(zhǔn)件的使用率占到零件總數(shù)量的60以上,以標(biāo)準(zhǔn)件的重復(fù)建模占用夾具設(shè)計的大量時間,而國內(nèi)開發(fā)的標(biāo)準(zhǔn)件庫大都都存在通用性不足和擴(kuò)充性較差的缺點。非標(biāo)準(zhǔn)件通常形狀不規(guī)則,結(jié)構(gòu)也比標(biāo)準(zhǔn)件復(fù)雜,因此夾具設(shè)計時,夾具的結(jié)構(gòu)尺寸依靠人的經(jīng)驗,而人的經(jīng)驗又往往不能被挖掘和再利用。同時,目前CAD軟件的參數(shù)化設(shè)計功能尚難以很好地滿足產(chǎn)品級參數(shù)化設(shè)計的需求。目前,各種二次開發(fā)的系統(tǒng)如模具CAD、夾具CAD、組合夾具CAD等大多是基于AUTOCAD平臺開發(fā)的二維工程數(shù)據(jù)庫?;贏UTOCAD的機(jī)床夾具零部件庫開發(fā)已有一定成果。其組成主要有如下幾個功能模塊零部件庫應(yīng)用程序、零部件數(shù)據(jù)庫、圖片庫。圖片庫用于存放不同種類夾具的工程圖,供預(yù)覽用。“零部件數(shù)據(jù)庫”是將機(jī)床夾具零部件國家標(biāo)準(zhǔn)GB2148GB226980中的所有零部件的尺寸數(shù)據(jù)輸入計算機(jī)中,建立起多個數(shù)據(jù)文件,構(gòu)成數(shù)據(jù)庫,其中每種類型夾具不同規(guī)格的尺寸構(gòu)成一個數(shù)據(jù)文件,供應(yīng)用程序在AUTOCAD中生成工程圖用【2】。第3頁共38頁一些優(yōu)秀的三維CAD軟件如UG、SOLIDEDGE等都未提供機(jī)床夾具零部件庫。目前,進(jìn)行簡單開發(fā)的一些零部件庫,大部分是基于CAD開發(fā)的三維圖形庫,或者說以塊的形式存儲的圖形文件,一般也是針對專門的系統(tǒng),可移植性不強。而且,這些圖形庫存在著一些問題1不同系統(tǒng)開發(fā)的零部件庫由于對零部件沒有統(tǒng)一的描述格式,不能進(jìn)行信息的交換,造成了資源的極大浪費2包括的信息不完整,多數(shù)只描述零件的幾何特性,而不包括材料、性能等級等技術(shù)信息3在建庫方法上,多采用建立圖庫的方法,即把預(yù)先定義好的圖形放入庫中,需要時重新調(diào)用。由于機(jī)床夾具零部件的數(shù)量、種類、規(guī)格非常多,而且許多尺寸不是標(biāo)準(zhǔn)尺寸或固定值,全部做成圖形要造成極大的資源浪費,而且有些零件也不可能全部做成圖形,比如鉆套的內(nèi)孔尺寸、定位銷的外圓柱面定位尺寸等,它們是由工件的加工要求確定的,可能是整數(shù),也可能是幾位小數(shù),建立鉆套及定位銷模型時不可能預(yù)知這一尺寸,所以,我們需要尋求一種對這一信息的統(tǒng)一描述,包括盡可能多的信息,減少不必要的浪費【3】。第4頁共38頁2總體方案設(shè)計21系統(tǒng)開發(fā)所需工具目前,在我國的CAD市場上比較流行的三維CAD軟件有SOLIDWORKS、MDT、UG、PRO/E、SOLIDEDGE等。但就價位來講SOLIDWORKS、MDT、SOLIDEDGE是中低檔價位的產(chǎn)品,UG、PRO/E、IDEAS是高中檔價位的產(chǎn)品??紤]到SOLIDWORKS的全球用戶非常廣泛(大約有20萬),國外大多數(shù)制造公司招聘時都要求應(yīng)聘人具備操作SOLIDWORKS的能力。國際上很多一流的名校都將SOLIDWORKS定為大學(xué)本科學(xué)生的必修課,如麻省理工學(xué)院、英國劍橋大學(xué)等。95的西方企業(yè)要求員工回運用SOLIDWORKS軟件,SOLIDWORKS連續(xù)幾年被美國一些雜志評為優(yōu)秀的CAD軟件。而且SOLIDWORKS的易上手,易操作性,所以在這里我們以SOLIDWORKS為平臺進(jìn)行夾具庫的二次開發(fā)。SOLIDWORKS的軟件開發(fā)商為方便各類用戶對其進(jìn)行二次開發(fā),提供了APIAPPLICATIONPROGRAMMINGINTERFACE應(yīng)用編程接口,它是一個基于OLE對象鏈接與嵌入的編程接口,此接口為用戶提供自由、開放、功能完整的開發(fā)工具,其中包含了數(shù)以百計的功能函數(shù),這些函數(shù)提供了程序員直接訪問SOLIDWORKS的能力。凡支持OLE編程的開發(fā)工具,如VISUALC,VISUALBASIC,DELPHI等均可用于SOLIDWORKS的二次開發(fā)。在此選用VB編程語言作為開發(fā)工具。采用MICROSOFT的ACCESS來建立標(biāo)準(zhǔn)件參數(shù)特性數(shù)據(jù)庫。這是由于ACCESS是VISUALBASIC的內(nèi)部數(shù)據(jù)庫,即缺省數(shù)據(jù)庫類型。用ACCESS建立的數(shù)據(jù)庫MDB可以在VISUALBASIC中使用而且用VISUALBASIC可以直接建立ACCESS數(shù)據(jù)庫。因此,在VISUALBASIC中,ACCESS數(shù)據(jù)庫和VISUALBASIC數(shù)據(jù)庫含義相同【4】。另外,VISUALBASIC是一種由微軟公司開發(fā)的包含協(xié)助開發(fā)環(huán)境的事件驅(qū)動編程語言。從任何標(biāo)準(zhǔn)來說,VB都是世界上使用人數(shù)最多的語言不僅是盛贊VB的開發(fā)者還是抱怨VB的開發(fā)者的數(shù)量。它源自于BASIC編程語言。VB擁有圖形用戶界面(GUI)和快速應(yīng)用程序開發(fā)(RAD)系統(tǒng),可以輕易的使用DAO、RDO、ADO連接數(shù)據(jù)庫,或者輕松的創(chuàng)建ACTIVEX控件。程序員可以輕松的使用VB提供的組件快速建立一個應(yīng)用程序。一個典型的VB進(jìn)程VB的中心思想就是要便于程序員使用,無論是新手或者專家。VB使用了可以簡單建立應(yīng)用程序的GUI系統(tǒng),但是又可以開發(fā)相當(dāng)復(fù)雜的程序。VB的程序是一種基于窗體的可視化組件安排的聯(lián)合,并且增加代碼來指定組建的屬性和方第5頁共38頁法。因為默認(rèn)的屬性和方法已經(jīng)有一部分定義在了組件內(nèi),所以程序員不用寫多少代碼就可以完成一個簡單的程序。22系統(tǒng)的設(shè)計思想計算機(jī)輔助夾具設(shè)計系統(tǒng)應(yīng)為工藝人員提供一個良好的設(shè)計服務(wù)環(huán)境,應(yīng)具備快速獲取相關(guān)信息、生成和存儲、輸入和輸出、圖形設(shè)計和處理能力以及良好的人機(jī)交互等功能?;赟OLIDWORKS的CAM系統(tǒng)參考人工設(shè)計夾具的過程,同時兼顧計算機(jī)處理問題的特點,面向夾具設(shè)計全過程,融三維參數(shù)化設(shè)計技術(shù)、交互式界面設(shè)計技術(shù)和數(shù)據(jù)庫管理技術(shù)于一體,根據(jù)機(jī)床夾具零部件的具體特點,綜合使用變異型如夾具體或創(chuàng)成型CAD如標(biāo)準(zhǔn)零部件和人機(jī)交互設(shè)計的混合方式,面向?qū)ο?,通過三維參數(shù)化驅(qū)動技術(shù),保證設(shè)計結(jié)果的一致性【5】。另外,一個獨立的EXE是一個獨立的程序,有能力控制其他軟件,有自己的接口。在這種情況下,VISUALBASIC軟件被用來作為獨立的EXE來結(jié)合SOLIDWORKS和EXCEL軟件定制模型,由此我們可以得出詳細(xì)的系統(tǒng)體系結(jié)構(gòu)(如圖21)。圖21詳細(xì)的系統(tǒng)體系結(jié)構(gòu)圖本課題作為CAFD系統(tǒng)的先期工作,將首先完成機(jī)床夾具定位件庫的建立,并作進(jìn)一步研究。SOLIDWORKS環(huán)境下零部件庫的系統(tǒng)結(jié)構(gòu)包括用戶界面、執(zhí)行模塊、零部件模型庫、零部件特性參數(shù)數(shù)據(jù)庫四個部分。其核心部分就是執(zhí)行模塊和零部件模型庫及數(shù)據(jù)庫,下面分別對各模塊進(jìn)行簡單介紹。1用戶界面用戶與執(zhí)行模塊進(jìn)行交互的窗口可以從中輸入所需的零件的第6頁共38頁主參數(shù),進(jìn)行實時建模(對數(shù)據(jù)庫中沒有的數(shù)據(jù)參數(shù)可輸入其所需參數(shù)進(jìn)行實時繪制)。2執(zhí)行模塊核心部分,主要是對由界面輸入的數(shù)據(jù)處理,與零部件庫參數(shù)數(shù)據(jù)庫進(jìn)行交互,運算,通過API跟SOLIDWORKS進(jìn)行交互,對其操作,使其完成繪制相應(yīng)實體的全過程。3零部件參數(shù)數(shù)據(jù)庫和模型庫為零部件的生成提供原形和具體參數(shù)信息,是零件的原始表現(xiàn)形式。圖21給我們展示的不僅是零部件庫的總體結(jié)構(gòu),它實質(zhì)是給我們一種建立零部件庫的思想。由圖可以看出,其幾大模塊都是圍繞著SOLIDWORKS這個平臺,其主要原因是繪圖過程是由SOLIDWORKS平臺完成的。其它幾個模塊是以外掛的形式和SOLIDWORKS平臺相關(guān)聯(lián)的,也就是說其它幾個模塊把處理后的信息匯總后通過接口API發(fā)向SOLIDWORKS平臺來完成畫圖。這種建模方式的優(yōu)點體現(xiàn)在以下幾點1數(shù)據(jù)庫建立可以獨立進(jìn)行,不受任何條件約束,因為ACCESS數(shù)據(jù)庫的訪問操作已經(jīng)標(biāo)準(zhǔn)化,己經(jīng)形成標(biāo)準(zhǔn)化的數(shù)據(jù)庫語言,在任何編程語言環(huán)境中都是通用的。2模型的建立是不受任何外界因素影響的。因為SOLIDWORKS的核心技術(shù)不會變,其建立的模型的通用性也不會變。模型的通用性也就保證了此零部件庫的通用性。3由上面兩點看出,數(shù)據(jù)庫與編程語言無關(guān),因此,對其進(jìn)行二次開發(fā)的編程語言就會有多種選擇,這樣使其二次開發(fā)的難度降低,適合人群增加。4由圖可以看出,用這種方法開發(fā)的零部件庫是以外掛的形式聯(lián)接到SOLIDWORKS之上的,而且各個模塊是獨立的,因此其擴(kuò)充性非常的好,我們可以增加更多的標(biāo)準(zhǔn)件數(shù)據(jù)庫,增加更多的模型文件來達(dá)到擴(kuò)充零部件庫的目的。例如我們要加入彈簧這個標(biāo)準(zhǔn)件,我們要作的只是把其參數(shù)建立數(shù)據(jù)庫,把其外型建立模型,放入相應(yīng)的目錄中,然后建立其執(zhí)行模塊和界面,編譯成可執(zhí)行,再加入菜單即可,對原來任何東西都不需要修改【68】。23系統(tǒng)的設(shè)計的關(guān)鍵技術(shù)231COM技術(shù)COM是一個說明如何建立可動態(tài)交替更新組件的規(guī)范,提供了客戶和組件之間能夠第7頁共38頁互操作應(yīng)該遵循的標(biāo)準(zhǔn),該標(biāo)準(zhǔn)對于組件架構(gòu)的重要性同其他任何一個具有可交替更新部分的系統(tǒng)是一樣的。COM的前身是OLE。OLE的第一個版本用動態(tài)數(shù)據(jù)交換(DDE)作為客戶及組件之間的通信方式,OLE10并沒有引用COM,但是DDE非常緩慢,而且效率也不高。OLE的第二個版本使用了COM。但OLE是開發(fā)出來的第一個COM系統(tǒng),不能很好地實現(xiàn)COM功能,這使OLE顯得比較龐大而且使用不便。COM規(guī)范就是一套為組件架構(gòu)設(shè)置標(biāo)準(zhǔn)的文檔。COM中得組件,其實用積木形容在恰當(dāng)不過了。在拼積木時,將積木一塊一塊壘加起來拼成頭腦中所想象的東西。我們可以將組件看出一塊積木或一個小單元,這些小單元成為應(yīng)用程序的各個獨立部分。這種做法的好處不言自明,它可以隨著對應(yīng)用程序的不斷發(fā)展而使用新的組件來取代原有的組件,就像堆積木一樣,用更漂亮的積木搭成更漂亮的建筑。傳統(tǒng)應(yīng)用程序的組成部分是分立的文件、模塊或類,這些組成部分經(jīng)過編譯并鏈接之后形成應(yīng)用程序。要像推出應(yīng)用程序的新版本,就需要將這些組成部分重新編譯,既費時又費力。有了組件的概念,就可以將改進(jìn)的新組件插入到應(yīng)用程序中,并替換了原來的就組件,從而賦予應(yīng)用程序新的活力【9】。另外,由此也可以看出有這樣的想法,把許多已經(jīng)做好的組件放到一起形成一個組件庫,好比一個類庫。當(dāng)制作應(yīng)用程序時,如果要用到不同的組件,只需要從剛建好的組件庫中調(diào)出所需要的組件,然后它們可以插入到適當(dāng)?shù)奈恢?,來獲得所需要的功能。232ACTIVEXAUTOMATION技術(shù)ACTIVEXAUTOMATION技術(shù)ACTIVEXAUTOMATION是MICROSOFT公司提出的一個基于COMCOMPONETOBJECTMODEL,組件對象模型的技術(shù)標(biāo)準(zhǔn),是以前的OLIOBJECTLINKINGANDEMBEDING,對象連接與嵌人技術(shù)的更高層次的發(fā)展,其宗旨是在WINDOWS系統(tǒng)的統(tǒng)管理下,協(xié)同不同的應(yīng)用程序,準(zhǔn)許這些應(yīng)用程序之間相互溝通、相互控制。每個應(yīng)用程序可以決定自己的哪些信息可暴露出來。這些暴露出來的信息、可以被其它應(yīng)用程序操縱。這個暴露信息的程序稱為服務(wù)程序SERVER,而操縱這些服務(wù)程序的程序成為客戶程序CLIENT,ACTIVEXAUTOMATION技術(shù)通過兩個程序問安排對話,達(dá)到一個程序控制另一個程序的目的,但這種對話不是雙向的,對話雙方也不是平等的??蛻舫绦蚴情_始要求對話的應(yīng)用程序,服務(wù)程序是響應(yīng)客戶程序的應(yīng)用程序。ACTIVEXAUTOMATION的代碼在客戶程序土運行,而這些代碼所控制的動作由服務(wù)程序來執(zhí)行在這里將SOLIDWORKS理解為一個服務(wù)程序,而作為二次開發(fā)工具的VB程序作為客戶程序,它們之第8頁共38頁間是服務(wù)器與客戶的關(guān)系。用戶只要在VB仁進(jìn)行操作,VB就將驅(qū)動SOLIDWORKS完成相應(yīng)的工作。233OLE技術(shù)在WINDOWS平臺下,應(yīng)用程序并不是處于分割獨立的狀態(tài),用戶通常想使它們互相聯(lián)系。OLE自動化是WINDOWS應(yīng)用程序之間互相操縱的一項技術(shù),它允許在一個應(yīng)用程序內(nèi)部操作另一個應(yīng)用程序提供的對象。被操縱的一端稱為自動化服務(wù)器,而操縱自動化服務(wù)器的一端稱為自動化客戶或自動化控制器。一個自動化服務(wù)器是由一個應(yīng)用程序提供的被另一個應(yīng)用程序使用的服務(wù)。自動化控制器是指使用自動化服務(wù)器提供服務(wù)的控制應(yīng)用程序,它通過OLE接口工作,這個接口向控制應(yīng)用程序開放可用的服務(wù)。因此,OLE自動化的實質(zhì)就是使對象在應(yīng)用程序之間可以方便地共享,自動化的最大優(yōu)勢是它的語言無關(guān)性??梢允褂肈ELPHI、C等高級語言或腳本語言如VBSCRIPT和JAVASCRIPT來驅(qū)動自動化服務(wù)器,而不必考慮用于編寫它的語言,從而實現(xiàn)應(yīng)用程序間的互操作性。自動化服務(wù)器的應(yīng)用有兩種形式一種稱為進(jìn)程內(nèi)服務(wù)器,一種稱為進(jìn)程外服務(wù)器。進(jìn)程內(nèi)服務(wù)器是DLL函數(shù),可以創(chuàng)建服務(wù)器對象供宿主應(yīng)用程序使用,DLL程序與調(diào)用它的應(yīng)用程序可以創(chuàng)建服務(wù)器對象,他們與客戶程序不在同一進(jìn)程中,而是在他們自己的進(jìn)程中。目前,越來越多的應(yīng)用程序?qū)ν饨缣峁┳詣踊?wù)器,如MICROSOFTWORD、EXCEL、PRO/E、MDT、SOLIDWORKS等。使用自動化服務(wù)器提供的服務(wù),實際上是通過訪問自動化服務(wù)器提供的自動化對象的數(shù)學(xué)和方法實現(xiàn)。有關(guān)自動化對象的借口、屬性和方法等信息稱為類型信息。提供自動化服務(wù)器的應(yīng)用程序一般把自動化對象類型信息保存在類型庫中。自動化服務(wù)器的類型庫可以作為資源鏈接到服務(wù)器應(yīng)用程序或動態(tài)動態(tài)鏈接中,也可以單獨保存在一個外部文件中。類型庫中包括的自動化服務(wù)器中的類、接口、數(shù)據(jù)類型等信息,供客戶在創(chuàng)建實力、調(diào)用接口時使用。234參數(shù)化設(shè)計技術(shù)參數(shù)化設(shè)計PARAMETRICDESIGN,也叫尺寸驅(qū)動DIMENSIONDRIVEN一般是指設(shè)計圖形拓?fù)潢P(guān)系不變,尺寸形狀由一組參數(shù)進(jìn)行約束。參數(shù)與圖形的控制尺寸有顯式的對應(yīng),不同的參數(shù)值驅(qū)動產(chǎn)生不同大小的幾何圖形。可見,參數(shù)化設(shè)計是規(guī)格化、系列化產(chǎn)品設(shè)計的一種簡單、高效、優(yōu)質(zhì)的設(shè)計方法。國內(nèi)外對參數(shù)化設(shè)計做了大量的研究,目前參數(shù)化技術(shù)大致可分為如下三種方法1基于幾何約束的數(shù)學(xué)方法2基于幾何原理第9頁共38頁的人工智能方法3基于特征模型的造型方法。其中數(shù)學(xué)方法又分為初等方法PRIMARYAPPROACH和代數(shù)方法ALGEBRAICAPPROACH。初等方法利用預(yù)先設(shè)定的算法,求解一些特定的幾何約束。這種方法簡單、易于實現(xiàn),但僅適用于只有水平和垂直方向約束的場合代數(shù)法則將幾何約束轉(zhuǎn)換成代數(shù)方程,形成一個非線性方程組。該方程組求解較困難,因此實際應(yīng)用受到限制人工智能方法是利用專家系統(tǒng),對圖形中的幾何關(guān)系和約束進(jìn)行理解,運用幾何原理推導(dǎo)出新的約束,這種方法的速度較慢,交互性不好特征造型方法是三維實體造型技術(shù)的發(fā)展,目前正在探討之中。參數(shù)化設(shè)計是一種驅(qū)動機(jī)制,參數(shù)驅(qū)動機(jī)制是基于對圖形數(shù)據(jù)的操作通過參數(shù)驅(qū)動機(jī)制,可以對圖形的幾何數(shù)據(jù)進(jìn)行參數(shù)化修改,但是,在修改的同時,還要滿足圖形的約束條件,需要約束間關(guān)聯(lián)性的驅(qū)動手段約束聯(lián)動,約束聯(lián)動是通過約束間的關(guān)系實現(xiàn)的驅(qū)動方法。對一個圖形,可能的約束十分復(fù)雜,而且數(shù)量很大。而實際由用戶控制的,即能夠獨立變化的參數(shù)一般只有幾個,稱之為主參數(shù)或主約束其它約束可由圖形結(jié)構(gòu)特征確定或與主約束有確定關(guān)系,稱它們?yōu)榇渭s束。對主約束是不能簡化的,對次約束的簡化可以有圖形特征聯(lián)動和相關(guān)參數(shù)聯(lián)動兩種方式。所謂圖形特征聯(lián)動就是保證在圖形拓?fù)潢P(guān)系不變的情況下,對次約束的驅(qū)動,亦即保證連續(xù)、相切、垂直、平行等關(guān)系不變。反映到參數(shù)驅(qū)動過程就是要根據(jù)各種幾何相關(guān)性準(zhǔn)則去判識與從動點有上述拓?fù)潢P(guān)系的實體及其幾何數(shù)據(jù),在保證系不變的前提下,求出新的幾何數(shù)據(jù)。稱這些幾何數(shù)據(jù)為從動點。這樣,從動點的約束就與驅(qū)動參數(shù)有了聯(lián)系。依靠這一聯(lián)系,從動點得到了驅(qū)動點的驅(qū)動,驅(qū)動機(jī)制則擴(kuò)大了其作用范圍。所謂相關(guān)參數(shù)聯(lián)動就是建立次約束與主約束在數(shù)值上和邏輯上的關(guān)系。在參數(shù)驅(qū)動過程中,始終要保持這種關(guān)系不變。相關(guān)參數(shù)的聯(lián)動方法使某些不能用拓?fù)潢P(guān)系判斷的從動點與驅(qū)動點建立了聯(lián)系。使用這種方式時,常引入驅(qū)動樹,以建立主動點、從動點等之間的約束關(guān)系的樹形表示,便于直觀地判斷圖形的驅(qū)動與約束情況。參數(shù)驅(qū)動是一種新的參數(shù)化方法,其基本特征是直接對數(shù)據(jù)庫進(jìn)行操作。因此它具有很好的交互性,用戶可以利用繪圖系統(tǒng)全部的交互功能修改圖形及其屬性,進(jìn)而控制參數(shù)化的過程與其他參數(shù)化方法相比較,參數(shù)驅(qū)動方法具有簡單、方便、易開發(fā)和使用的特點,能夠在現(xiàn)有的繪圖系統(tǒng)基礎(chǔ)上進(jìn)行二次開發(fā)。而且適用面廣,對二維、三維問題都適用【1013】。第10頁共38頁235SOLIDWORKS的對象層次結(jié)構(gòu)SOLIDWORKS的對象層次結(jié)構(gòu)ACTIVEXAUTOMATION的實質(zhì)就是利用客戶程序去控制服務(wù)程序的對象、方法和屬性,實現(xiàn)某種功能。也就是說,SOLIDWORKS必須將全部ACTIVEX對象暴露給VB才能實現(xiàn)二者的通信。這樣,VB就可以像使用自身的對象一樣來操縱SOLIDWORKS暴露給它的對象。對象是服務(wù)器程序簡單而抽象的代表,對象之間一般通過被稱為對象模型或者對象層次結(jié)構(gòu)的形式互相聯(lián)系。不骨是用何種編程語言對SOLIDWORKS進(jìn)行外部開發(fā)或在其內(nèi)部進(jìn)行開發(fā),都是通過調(diào)用SOLIDWORKS的對象體系結(jié)構(gòu)來進(jìn)行的。SOLIDWORKS的API編程接口封裝了所有的ACTIVEX對象供編程使用。SOLIDWORKS的對象層次結(jié)構(gòu)可以描述為自上而下的樹型結(jié)構(gòu)模型,最底層的根對象是S1DWORKS對象,其它對象都是它的子對象。其中的父對象與子對象之間的關(guān)系并不是繼承關(guān)系,而是包含關(guān)系。也就是說如果VB要與SOLIDWORKS的一個特定對象通訊,必須先從SOLIDWORKS對象對其子對象進(jìn)行遍歷,直到找到該特定的對象。為了方便用戶進(jìn)行二次開發(fā),SOLIDWORKS提供了幾百個API函數(shù),用戶可以使用VISUALBASIC、VBA、VISUALC、C、DELPHI等高級編程語言對SOLIDWORKS進(jìn)行二次開發(fā),建立適合用戶需要的、專用的SOLIDWORKS功能模塊。同時,由于SOLIDWORKSAPI及其有關(guān)幫助文檔都包括在SOLIDWORKS軟件中,任何用戶都可以對其進(jìn)行二次開發(fā)。不管是采用VISUALBASIC、VBA、VISUALC還是DELPHI對SOLIDWORKS進(jìn)行二次開發(fā),都是通過SOLIDWORKS的對象體系結(jié)構(gòu)來進(jìn)行的。這種基于ACTIVEXAUTOMATION技術(shù)的SOLIDWORKSAPI將各種功能封裝在SOLIDWORKS對象之中供編程調(diào)用。圖22顯示了SOLIDWORKSAPI中各個對象相互關(guān)系,可以利用這張表的關(guān)系進(jìn)行參考編程。圖22SOLIDWORKSAPI的對象層次結(jié)構(gòu)體系第11頁共38頁236SOLIDWORKS的API函數(shù)介紹1SOLIDWOKS的對象模型SOLIDWORKS的對象模型是一個多層次的對象網(wǎng)絡(luò),如圖23所示。最高級別的對象類是SLDWORKS,該對象中封裝了很多方法METHODS,如OPENDOC2、ACTIVATEDOC2、CLOSEDOC、EXITAPP,下面又創(chuàng)建了許多子類,如MODELDOC、ENVIRONMENT、FRAME。本文將重點介紹MODELDOC對象,因為大部分繪圖操作都在MODELDOC對象中,如SELECTBYID選擇、CREATECIRCLE2畫圓、CREATELINE2畫直線。MODELDOC中又創(chuàng)建了PARTDOC、ASSEMBLYDOC、DRAWINGDOC等子類。其中大部分實體建模操作都在PARTDOC對象中,如FEATUREEXTRUSION拉伸、FEATUREREVOLVE旋轉(zhuǎn)而相關(guān)的裝配操作如ADDCOMPONENT插入零部件、ADDMATE插入配合等都在ASSEMBLYDOC對象中【14】。2SOLIDWOKS的對象的屬性和方法在SOLIDWORKS創(chuàng)建的對象中,每個對象都有自己的屬性和方法,通過調(diào)用API函數(shù)實現(xiàn),反過來,應(yīng)用SOLIDWORKS的每一步操作都體現(xiàn)在特定的對象類中。下面以VB為開發(fā)平臺介紹其一些常用的API函數(shù)。圖23SOLIDWORKS對象模型1連接SOLIDWORKS在對SOLIDWORKS進(jìn)行二次開發(fā)時,首先要建立SOLIDWORKS的連接,創(chuàng)建SOLIDWORKS的應(yīng)用對象DIMSWAPPASOBJECT第12頁共38頁SETSWAPPCREATEOBJECTSLDWORKSAPPLICATION通過這個函數(shù),就打開了SOLIDWORKS的接口,可以調(diào)用它的API函數(shù)了。2建立新的零件圖、裝配圖創(chuàng)建零件圖DIMPARTASOBJECTSETPARTSWAPPNEWPART創(chuàng)建裝配圖DIMASSEMASOBJECTSETASSEMSWAPPNEWASSEMBLY這兩個函數(shù)創(chuàng)建了一個新的工作區(qū),使我們能夠進(jìn)行建模和裝配【15】。3選擇“選擇”可以說是在使用SOLIDWORKS時用得最多的一個命令,有很多命令在使用時都要選擇操作對象,通過調(diào)用MODELDOC對象中的SELECTBYID函數(shù)來實現(xiàn)MODELDOCSELECTBYIDOBJECTNAME,OBJECTTYPE,X,Y,Z這個函數(shù)在應(yīng)用時需要輸入五個參數(shù)OBJECTNAME表示要選擇對象的名稱,該名稱是SOLIDWORKS在創(chuàng)建對象時按先后順序自動命名的,如基準(zhǔn)面1、基準(zhǔn)面2、ARC1、LINE3、D1草圖1PART1SLDPRTOBJECTTYPE要輸入對象的類型,如PLANE面、SKETCHSEGMENT草圖上的對象如直線、圓弧等、DIMENSION尺寸標(biāo)注X,Y,Z是平面上任一點的坐標(biāo)值。4插入草圖在所選平面上插入草圖,調(diào)用MODELDOC中的INSERTSKETCH函數(shù)MODELDOCINSERTSKETCH5基本草圖繪制命令畫直線調(diào)用MODELDOC對象中的CREATELINE2函數(shù)MODELDOCCREATELINE2XSTART,YSTART,ZSTART,XEND,YEND,ZENDCONSTRUCTIONGEOMETRYTRUEXSTART、YSTART、ZSTART、XEND、YEND、ZEND分別是直線的起點和終點坐標(biāo)CONSTRUCTIONGEOMETRYTRUE時表示畫中心輔助線。畫圓調(diào)用MODELDOC對象中的CREATECIRCLE2函數(shù)MODELDOCCREATECIRCLE2XC,YC,ZC,XP,YP,ZPXC、YC、ZC、XP、YP、ZP分別是圓心和圓上一點的坐標(biāo)值。標(biāo)注尺寸先通過SELECTBYID函數(shù)第13頁共38頁選擇要標(biāo)注的對象,再調(diào)用MODELDOC中的ADDDIMENSION函數(shù)MODELDOCADDDIMENSIONX,Y,ZX、Y、Z為尺寸文本所要放的位置的坐標(biāo)值。5基本實體建模命令拉伸調(diào)用PARTDOC中的FEATUREEXTRUSION函數(shù)PARTDOCFEATUREEXTRUSIONSD,FLIP,DIR,T1,T2,D1,D2,DCHK1,DCHK2,DDIR1,DDIR2,DANG1,DANG2,OFFSETREVERSE1,OFFSETREVERSE2SD為TRUE時表示單向拉伸,為FALSE時雙向拉伸,以0、1表示DIR為TRUE時表示正向拉伸,為真時有效DIR為TRUE時表示反向拉伸,為真時有效T1、T2表示終止類型,可取下列值0給定深度、1貫穿、2為貫穿下一個、3成形到一頂點、4成形到一面、5到離指定面指定的距離、6兩側(cè)對稱D1,D2表示拉伸的深度DDIR1、DDIR2為TRUE時表示帶拔模角拉伸DANG1、DANG2為TRUE時表示向內(nèi)拔模,為FALSE是向外拔模OFFSETRE2VERSE1,OFFSETREVERSE2控制到離指定面指定的距離,在T1、T2為5時有效。其中D2、DCHK2、DDIR2、DANG2、OFFSETREVERSE2在雙向拉伸時有效。旋轉(zhuǎn)調(diào)用PARTDOC中FEATUREREVOLVE函數(shù)PARTDOCFEATUREREVOLVEANGLE,REVERSEDIR,ANGLE2,REVTYPEANGLE表示旋轉(zhuǎn)的角度REVERSEDIR控制旋轉(zhuǎn)的方向,為TRUE時表示反向,REVTYP為1時無效AN2GLE2表示旋轉(zhuǎn)的反向角度,僅當(dāng)REVTYP為2時有效REVTYP表示旋轉(zhuǎn)類型,為0時單方向旋轉(zhuǎn),為1時雙向等角度旋轉(zhuǎn),為2時雙向旋轉(zhuǎn)。倒角調(diào)用MODELDOC中的FEATURECHAMFER2TYPE函數(shù)MODELDOCFEATURECHAMFERTYPECHAMFERTYPE,WIDTH,ANGLE,FLIP,OTHERDIST,VERTEXCHAMDIST1,VERTEXCHAMDIST2,VERTEXCHAMDIST3CHAMFERTYPE控制倒角的類型,可取下列值1角度距離控制、2距離距離控制、3頂點倒角控制、4兩邊等距離控制WIDTH表示倒角邊距ANGLE表示倒角角度,僅當(dāng)CHAMFERTYPE1為1時有效OTHERDIST表示CHAMFERTYPE為2時的另一邊距VERTEXCHAMDIST1、VERTEXCHAMDIST2、VERTEX2CHAMDIST3表示CHAMFERTYPE為3時的三個距離。6基本裝配命令零件的建模完成后,即可進(jìn)行零件的裝配,先調(diào)用SWAPP中的NEWASSEMBLY函數(shù)新建一個空白裝配文檔,再通過調(diào)用ASSEMBLYDOC中的ADDCOMPONENT函數(shù)插入零部件ASSEMBLYDOCADDCOMPONENTCOMPNAME,X,Y,ZCOMPNAME表示要加入組件的路徑第14頁共38頁及名稱X,Y,Z表示組件在裝配文檔中放置的位置。插入配合調(diào)用ASSEMBLYDOC中的ADDMATE函數(shù)ASSEMBLYDOCADDMATEMATETYPE,ALIGN,FLIP,DIST,ANGLE用MATETYPE控制配合類型,可取下列值0重合、1同軸心、2垂直、3平行、4相切、5距離、6角度ALIGN控制兩配合面的方向,0同向?qū)R、1反向?qū)R、2最近處FLIP為TRUE時表示延緩配合DIST控制MATETYPE為5時的距離ANGLE控制MATETYP為6時的角度【1617】。3更多的SOLIDWORKS的API函數(shù)介紹在這里只是簡要的介紹SOLIDWORKS的API函數(shù),不可能作到全面的認(rèn)識或是熟悉這些API要了解更多的API知識可以查看SOLIDWORKS的API和插件幫助主題,如圖23。圖23SOLIDWORKSAPI插件幫助主題237VB開發(fā)SOLIDWORKS基本原理1VB簡介VISUALBASIC語言是美國微軟公司推出的WINDOWS環(huán)境下的軟件開發(fā)工具,使用VB可以既快又簡單地開發(fā)WINDOWS應(yīng)用軟件。VISUAL是指開發(fā)圖形用戶界面GUI的方法。VISUAL的意思是“視覺的”或“可視第15頁共38頁的”,也就是直觀的編程方法在VB中引入了控件的概念。如各種各樣的按鈕、文本框、復(fù)選框等。VB把這些控件模式化,并且每一個控件都由若干個屬性來控制其外觀、工作方法。這樣采用VISUAL方法無需編寫大量的代碼去描述界面元素的外觀和位置,而只要把預(yù)先建立的控件加到幕上就像使用“畫圖”之類的繪圖程序,通過選擇畫圖工具來畫圖一樣。BASIC是指BASICBEGINNERSALLPURPOSESYMBOLICINSTRUCTIONCODE語言,之所以叫做“VISUALBASIC”就是因為它使用TBASIC語言作為代碼1241VB在原有的BASIC語言的基礎(chǔ)上的進(jìn)一步發(fā)展,至今包含了數(shù)百條語句、函數(shù)及關(guān)鍵詞,其中很多與WINDOWSGUI有直接關(guān)系。VB與BASIC之間有著千絲萬縷的聯(lián)系,如果學(xué)過BASIC語言的話,看到VB的程序結(jié)構(gòu)會感到很親切。專業(yè)人員可以用VISUALBASIC實現(xiàn)其他任何WINDOWS編程語言的功能,而初學(xué)者只需掌握幾個關(guān)鍵詞就可以建立實用的應(yīng)用程序。VB設(shè)計程序在WINDOWS工作環(huán)境中,開發(fā)應(yīng)用程序是比較理想的。使用VB不僅可以感受到WINDOWS帶來的新技術(shù)、新概念和新的開發(fā)方法,而且VB是目前眾多WINDOWS軟件開發(fā)工具中效率最高的一個。另外,VB系列產(chǎn)品得到了計算機(jī)工業(yè)界的承認(rèn),得到了許多軟件開發(fā)商的大力支持。2VB開發(fā)SOLIDWORKS原理SOLIDWORKSAPI(APPLICATIONPROGRAMMINGINTERFACE,應(yīng)用程序編程接口)是SOLIDWORKS的OLE(OBJECTLINKINGANDEMBEDDING,對象鏈接或嵌入)應(yīng)用程序開發(fā)接口,用戶可以利用它和支持OLE編程的開發(fā)工具,如VB、VBA(EXCEL,ACCESS)、VC等對SOLIDWORKS進(jìn)行二次開發(fā),建立適合用戶需要的、專用的SOLIDWORKS功能模塊,在此基礎(chǔ)上實現(xiàn)零件及模具的參數(shù)化驅(qū)動。SOLIDWORKS二次開發(fā)通常有兩種形式一是獨立應(yīng)用程序(STANDALONEAPPLICATION),用戶程序作為一個獨立的應(yīng)用程序(EXE),通過API接口調(diào)用SOLIDWORKS提供的服務(wù),完成對SOLIDWORKS的控制和操作;二是插件形式(ADDINAPPLICATION),用戶程序作為一個插件(DLL)集成到SOLIDWORKS中去。插件形式下,用戶程序跟SOLIDWORKS程序運行在同一進(jìn)程空間,運行效率高,而且用戶可以在SOLIDWORKS中添加自己的菜單、工具欄、屬性頁等,使用戶程序跟SOLIDWORKS程序渾然融為一體。由于插件程序跟SOLIDWORKS運行在同一進(jìn)程空間,插件程序的異常會導(dǎo)致SOLIDWORKS程序的不穩(wěn)定,因此在做開發(fā)時也要更加小心。相對應(yīng)的獨立應(yīng)第16頁共38頁用程序跟SOLIDWORKS程序運行在不同的進(jìn)程空間,客戶程序的異常不會影響SOLIDWORKS,但由于涉及到跨進(jìn)程調(diào)用,它的效率會相對比較低,而且這種方式下用戶不可以在SOLIDWORKS中添加自己的菜單、工具欄和屬性頁等。由于VB易學(xué)易用,滿足基本設(shè)計要求,因此,本文采用VB做為開發(fā)語言,以插件的形式添加到SOLIDWORKS中。在采用VB所實現(xiàn)的SOLIDWORKS二次開發(fā)應(yīng)用中,客戶通過VB編寫的應(yīng)用程序為客戶程序,SOLIDWORKS是服務(wù)程序,VB編寫的應(yīng)用程序驅(qū)動SOLIDWORKS完成指定工作。其基本思路是在SOLIDWORKS環(huán)境中,任意選定某一型號的標(biāo)準(zhǔn)件,按照正確的設(shè)計關(guān)系繪制標(biāo)準(zhǔn)件的模型,當(dāng)需要生成另一規(guī)格的標(biāo)準(zhǔn)件時,可根據(jù)用戶給定的相關(guān)約束變量參數(shù)值,對已定義好的標(biāo)準(zhǔn)模型的相應(yīng)約束關(guān)系進(jìn)行修改與求解,使其幾何元素和特征的幾何或拓?fù)潢P(guān)系發(fā)生改變,并引起相關(guān)圖形元素及關(guān)系的聯(lián)動,生成所需零件,即零件設(shè)計采用尺寸驅(qū)動方式進(jìn)行設(shè)計。由于標(biāo)準(zhǔn)件均為系列化零件,因此設(shè)計時可用ACCESS建立各類標(biāo)準(zhǔn)件參數(shù)數(shù)據(jù)庫,供用戶設(shè)計時選用相應(yīng)規(guī)格零件。本設(shè)計用ACCESS建立了緊固件、連接件、滾動軸承、鍵等標(biāo)準(zhǔn)件的參數(shù)數(shù)據(jù)庫,用VB編程實現(xiàn)SOLIDWORKS下各類標(biāo)準(zhǔn)件三維實體圖形的生成。系統(tǒng)基本框架如圖24所示,即以面向?qū)ο蟮腣B語言為客戶端,結(jié)合ACCESS建立標(biāo)準(zhǔn)件參數(shù)庫,通過ACTIVEXAUTOMATION技術(shù)控制服務(wù)端SOLIDWORKS自身二次開發(fā)接口API函數(shù),調(diào)用其對象、屬性、方法,實現(xiàn)SOLIDWORKS的二次開發(fā)。圖24系統(tǒng)開發(fā)框架圖238數(shù)據(jù)庫技術(shù)1數(shù)據(jù)庫技概括數(shù)據(jù)庫技術(shù)是應(yīng)數(shù)據(jù)管理任務(wù)的需求而產(chǎn)生的,從五十年代以來,隨著計算機(jī)軟硬件的飛速發(fā)展,數(shù)據(jù)管理技術(shù)己經(jīng)經(jīng)歷了人工管理、文件管理和數(shù)據(jù)庫系統(tǒng)三個階段。第17頁共38頁20世紀(jì)60年代末,軟硬件技術(shù)的發(fā)展,為數(shù)據(jù)庫技術(shù)的發(fā)展提供了良好的基礎(chǔ),數(shù)據(jù)庫管理系統(tǒng)取代了傳統(tǒng)的文件管理系統(tǒng),在各個領(lǐng)域獲得了廣泛的應(yīng)用。數(shù)據(jù)庫系統(tǒng)DATABASESYSTEM,簡稱DBS是由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)、應(yīng)用系統(tǒng)、數(shù)據(jù)庫管理員和用戶構(gòu)成的人機(jī)系統(tǒng)。數(shù)據(jù)庫DATABASE,簡稱DB是長期存儲在計算機(jī)上的、有結(jié)構(gòu)的、可共享的數(shù)據(jù)集合。數(shù)據(jù)庫管理系統(tǒng)DATABASEMANAGEMENTSYSTEM,簡稱DBMS是科學(xué)地組織和存儲數(shù)據(jù)、有效獲取和維護(hù)數(shù)據(jù)的系統(tǒng)軟件。它是位于用戶和操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件。數(shù)據(jù)庫結(jié)構(gòu)一般分為層次模型、網(wǎng)狀模型和關(guān)系模型。1層次模型HIERARCHALMODEL用樹結(jié)構(gòu)表示實體之間的聯(lián)系,樹有結(jié)點和連線組成,節(jié)點表示實體集,連線表示相連兩實體之間的關(guān)系,這種關(guān)系只能是1N關(guān)系。2網(wǎng)狀模型NETWORKMODEL這種模型允許有零個或多個節(jié)點而無父節(jié)點,它可直接表示MN關(guān)系。3關(guān)系模型RELATIONALMODEL關(guān)系模型由關(guān)系、關(guān)系上定義的操作和對關(guān)系的完整性的規(guī)則組成。它的二位表由兩部分組成一是表格的名字和屬性的名字,二是具體的數(shù)值。關(guān)系模型和層次模型、網(wǎng)狀模型的區(qū)別在于它通過表格數(shù)據(jù)而不是通過指針連接來表示和實現(xiàn)兩實體間的關(guān)系。以關(guān)系模型為基礎(chǔ)的數(shù)據(jù)庫就是關(guān)系數(shù)據(jù)庫,具有數(shù)據(jù)結(jié)構(gòu)簡單、符合工程習(xí)慣、數(shù)據(jù)獨立性高及數(shù)學(xué)基礎(chǔ)嚴(yán)密等優(yōu)點,是目前數(shù)據(jù)庫應(yīng)用的主流。數(shù)據(jù)庫技術(shù)應(yīng)用到CAD/CAM系統(tǒng)中,人們希望能夠利用數(shù)據(jù)庫技術(shù)有效的管理工程應(yīng)用中所涉及的圖形、圖像、聲音等更加自然的信息形式,因此工程數(shù)據(jù)庫應(yīng)運而生。工程數(shù)據(jù)庫是指能滿足人們工程活動中對數(shù)據(jù)處理要求的數(shù)據(jù)庫。它不但要能夠處理常規(guī)的表格數(shù)據(jù)、曲線數(shù)據(jù)等,還必須能夠處理圖形數(shù)據(jù)。圖形數(shù)據(jù)既有滿足工程繪圖的二維數(shù)據(jù),又有產(chǎn)品造型所需要的三維設(shè)計數(shù)據(jù)。圖形數(shù)據(jù)一般是網(wǎng)狀關(guān)系的層次結(jié)構(gòu),同一種實體可能在不同的使用階段使用幾種不同的表示方法,并且須實現(xiàn)不同表示方法之間的相互轉(zhuǎn)換。在工程數(shù)據(jù)庫管理系統(tǒng)EDBMSENGINEERINGDATABASESMANAGEMENTSYSTEM中,數(shù)據(jù)的表現(xiàn)形式不再是單一的實際參數(shù),由含參數(shù)的過程子程序生成產(chǎn)品商數(shù)據(jù)也是一種必不可少的表現(xiàn)形式【18】。第18頁共38頁2數(shù)據(jù)庫接口技術(shù)ACCESS數(shù)據(jù)庫引擎VISUALBASIC所編寫的數(shù)據(jù)庫應(yīng)用程序,負(fù)責(zé)的是與用戶的交互。用該程序可以選擇數(shù)據(jù)庫中的數(shù)據(jù)項,并把所選擇的數(shù)據(jù)項按用戶的要求顯示出來。數(shù)據(jù)庫系統(tǒng)被稱為后臺系統(tǒng),通常是關(guān)系表的集合。這時就涉及到一個問題,應(yīng)用程序如何與后臺的數(shù)據(jù)庫建立聯(lián)系呢首先,數(shù)據(jù)庫要能支持用戶的訪問,其次,用戶的VISUALBASIC程序可以訪問這些數(shù)據(jù)庫,這兩點很關(guān)鍵。數(shù)據(jù)庫有三種方式支持應(yīng)用程序的訪問,即通過ACCESS數(shù)據(jù)庫引擎、MICROSOFTODBC驅(qū)動程序、第三方ODBC驅(qū)動程序。VISUALBASIC60應(yīng)用程序中支持多DBMS來開發(fā)數(shù)據(jù)庫,這種方法稱作ODBC,ODBC是MICROSOFTSWINDOW的開放式服務(wù)體系結(jié)構(gòu)數(shù)據(jù)庫部分,是一個用于訪問多種數(shù)據(jù)庫的統(tǒng)一的界面標(biāo)準(zhǔn)。ODBC實際是一個數(shù)據(jù)庫訪問庫,但是只提供一個統(tǒng)一的應(yīng)用程序接口API。這樣利用ODBC可以避免應(yīng)用程序隨數(shù)據(jù)庫的改變而改變。ODBC通過使用數(shù)據(jù)庫驅(qū)動程序獲得數(shù)據(jù)庫的獨立性,驅(qū)動程序所提供的標(biāo)準(zhǔn)接口允許應(yīng)用程序開發(fā)者和驅(qū)動程序提供者在應(yīng)用程序之間傳遞數(shù)據(jù)【19】。對VISUALBASIC而言,其內(nèi)置為MICROSOFTACCESS數(shù)據(jù)庫,可以提供不遜色于專業(yè)數(shù)據(jù)庫軟件的支持,可以進(jìn)行完整的數(shù)據(jù)庫維護(hù)、操作及事務(wù)處理。在VISUALBASIC中,將非ACCESS數(shù)據(jù)庫稱為外來數(shù)據(jù)庫。對于FOXPRO,DBASE,PARADOX等外來數(shù)據(jù)庫,雖然借助VISUALBASIC的DATAMANAGER能夠?qū)@些數(shù)據(jù)庫進(jìn)行NEW,OPEN,DESIGN,DELETE等操作,但在應(yīng)用程序的運行狀態(tài)中不能從底層真正實現(xiàn)這些功能。VISUALBASIC的核心結(jié)構(gòu)是所謂的MICROSOFTJET數(shù)據(jù)庫引擎。JET引擎的作用就像是一塊“面板”在其上可以插入多種ISAMINDEXEDSEQUENTIALACCESSMETHOD,即索引順序存取方法數(shù)據(jù)庫驅(qū)動程序。JET引擎為ACCESS格式數(shù)據(jù)庫提供了直接的內(nèi)建BUILDIN支持,這就是VISUALBASIC對ACCESS數(shù)據(jù)庫具有豐富支持的真正原因。因此,我們利用VISUALBASIC對ACCESS數(shù)據(jù)庫的方便、實用和直接的內(nèi)建BUILDIN支持,采用ACCESS作為數(shù)據(jù)源,這為開發(fā)機(jī)床夾具零部件庫帶來了極大的方便。第19頁共38頁3SOLIDWORKS二次開發(fā)的一般過程31用VB開發(fā)SOLIDWORKS的一般步驟用VISUALBASIC作為開發(fā)工具,因為采用的是DLL動態(tài)鏈接庫方式,必須先在VISUALBASIC中導(dǎo)入所需要的3種類型庫SLDWORKS2007TYPELIBRARY、SOLIDWORKSCONSTANTTYPELIBRARY、SOLIDWORKSEXPOSEDTYPELIBRARIESFORADDINUSE,然后才能調(diào)用SOLIDWORKS的對象、方法和屬性。程序完成后載入動態(tài)鏈接庫時,既可以直接用SOLIDWORKS打開所編好的DLL文件,也可在插件模塊添加新編寫好的名字同DLL文件的插件模塊。但每次程序的重新編譯,都必須在SOLIDWORKS中重新導(dǎo)入插件模塊。因為每次程序的重新編譯,都意味著需要對象類在系統(tǒng)的重新注冊。圖31導(dǎo)入所需的類型庫進(jìn)行二次開發(fā)的步驟如下(1)安裝SOLIDWORKS和VISUALBASIC。(2)啟動VISUALBASIC,新建一個工程,導(dǎo)入所需要的3種類型庫(如圖31),然后編寫代碼。在任何情況下,編寫的代碼應(yīng)該類似于有SOLIDWORKS的宏工具所產(chǎn)生的代碼,在SOLIDWORKS中,應(yīng)用記錄宏(“工具”“宏”“錄制”)來獲得程序頭部和應(yīng)用程序的代碼是十分有用的。如果日常事務(wù)僅僅是訪問SOLIDWORKSAPI,則不必編譯應(yīng)用程序,只需VISUALBASIC創(chuàng)建應(yīng)用程序,文件擴(kuò)展名設(shè)為SWP而不是BAS即可。SOLIDWORKS的宏文件(SWP)第20頁共38頁認(rèn)識VISUALBASIC命令。(SOLIDWORKS中有兩種格式的文件,一種是SWP,另一種是SWB)。為查看VISUALBASIC回話的每個對象,可單擊VISUALBASIC菜單欄中得“試圖”“對象瀏覽器”命令,鼠標(biāo)右鍵單擊對象瀏覽器中的“類”或“成員”窗口。在顯示的菜單中,單擊“顯示隱含成員”命令。此時可以瀏覽每個SOLIDWORKSAPI對象及相關(guān)的屬性和VISUALBASIC安全數(shù)據(jù)傳遞的方法。(3)在VISUALBASIC里,選擇文件,生成工程EXE文件即可。用VISUALBASIC編寫的應(yīng)用程序能夠在許多地方運行。若在SOLIDWORKS中運行,則單擊菜單欄中得“工具”“宏”“運行”命令,選擇源文件即可;若為EXE文件運行,直接運行即可。如果SOLIDWORKS已經(jīng)運行,編寫的程序?qū)⒏郊佑谒环駝tSOLIDWORKS打開一個新的會話,也可以創(chuàng)建一個宏文件來運行VISUALBAISIC。32利用宏命令建立一個宏文件(1)啟動SOLIDWORKS并建立一個新的零件,使用默認(rèn)的單位MM。(2)顯示宏工具欄。單擊SOLIDWORKS菜單欄中得“試圖”“工具欄”“宏”命令,以顯示宏工具欄。(3)啟動宏命令。單擊宏工具欄中得(錄制/暫停)工具。(4)選擇基準(zhǔn)面。在特征管理器設(shè)計樹中選擇“前視基準(zhǔn)面”平面,如圖32所示。(5)創(chuàng)建草圖。單擊“草圖繪制”工具,進(jìn)入草圖繪制環(huán)境。(6)創(chuàng)建圓。單擊“草圖”工具欄中的“圓”工具,以原點為圓心繪制一個圓,在屬性管理器中設(shè)置圓半徑為22MM,然后按回車鍵,如圖33所示(7)創(chuàng)建圓柱體模型。單擊特征工具欄中得“拉伸凸臺/基體”工具,在屬性管理器中設(shè)置拉伸深度為100MM,按回車鍵,結(jié)果如圖34所示(8)保存宏文件。依次單擊宏工具欄中的“錄制/暫停宏”工具和“停止宏”工具,在彈出的“另存為”對話框中輸入文件名為“CIRCLESWAP”,單擊“保存”按鈕。刪除所有建立的特征和草圖。第21頁共38頁圖32選擇前視基準(zhǔn)面(9)測試宏文件。單擊宏工具欄中得“運行宏”工具,選擇“CIRCLESWP”,并觀察結(jié)果。圖33繪制圓第22頁共38頁(10)創(chuàng)建“新建宏命令按鈕”。單擊菜單欄中的“工具”“自定義”命令,系統(tǒng)彈出“自定義”對話框,單擊“命令”選項卡,在“類別”列表框中選擇“宏”,將“新建宏按鈕”拖動到宏工具欄中。圖34圓柱體模型(11)定義宏命令按鈕。將“新建宏按鈕”拖動到其他工具欄上面后,SOLIDWORKS會彈出“自定義宏按鈕”對話框,如圖所示。單擊“

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論