版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1 緒論1.1課題研究的意義任何設(shè)計(jì)都是時(shí)代的產(chǎn)物,它的不同的而貌,不同的特征反映著不同的歷史時(shí)期的 科技技術(shù)水平。技術(shù)是產(chǎn)品形態(tài)發(fā)展的先導(dǎo),新材料,新工藝的出現(xiàn),必然給產(chǎn)品帶來(lái) 新的結(jié)構(gòu),新的形態(tài)和新的造型風(fēng)格。材料、加工工藝、結(jié)構(gòu)、產(chǎn)品形象有機(jī)地聯(lián)系在 一起的,某個(gè)環(huán)節(jié)的變革,便會(huì)引起整個(gè)機(jī)體的變化。夾具業(yè)多樣化發(fā)展使得通用的夾具cad軟件不能完全滿足企業(yè)的特殊要求,所有研 究在通用圖形軟件的基礎(chǔ)上二次開(kāi)發(fā)企業(yè)ii主的夾具cad系統(tǒng)|分必要。如果進(jìn)行二次 開(kāi)發(fā),可以全面擴(kuò)展其功能或?qū)⑵涔δ芗傻娇蛻?hù)應(yīng)用程序中,從而實(shí)現(xiàn)完全客戶(hù)化o夾具可分為通用夾具、組合夾具、專(zhuān)用夾具兒類(lèi)。組合夾具和專(zhuān)用夾
2、具設(shè)計(jì)時(shí)需要 進(jìn)行一系列的定位、夾緊、裝配設(shè)計(jì)才能滿足生產(chǎn)的要求。隨著生產(chǎn)節(jié)奏的加快,能在 短時(shí)間內(nèi)由標(biāo)準(zhǔn)元件組裝完成的組合夾具,受到諸多企業(yè)普遍的青睞。其不足z處是外 形尺寸較大,笨重;剛性較差,同時(shí)由于所需元件的儲(chǔ)備量大,故一次性投資費(fèi)用較高; 而且目前組合夾具的設(shè)計(jì)和組裝仍采用落后的人工拼裝和管理方法,大多數(shù)企業(yè)的組合 夾具是根據(jù)工藝人員設(shè)計(jì)的工序圖由組合夾具組裝站進(jìn)行組裝。由于沒(méi)有詳細(xì)的裝配 圖,組裝時(shí)往往需要經(jīng)過(guò)多次安裝、調(diào)整才能達(dá)到要求,比較費(fèi)時(shí)費(fèi)力,不僅效率低、 周期長(zhǎng),而且裝配質(zhì)量依賴(lài)豐富的生產(chǎn)經(jīng)驗(yàn)和技術(shù)熟練的技工,這正是企業(yè)短缺的人才, 客觀上成為限制組合夾具廣泛應(yīng)用的障礙。
3、另外,有些復(fù)雜的組合夾具由于裝夾精度高, 對(duì)人的經(jīng)驗(yàn)依賴(lài)程度高,組裝站扒心拆卸后難以恢復(fù),故需耍長(zhǎng)期保存,這就造成組合 元件長(zhǎng)期被占用,影響組合元件周轉(zhuǎn)使用。所以,在如今的市場(chǎng)上如果提供一個(gè)選擇,并考慮到當(dāng)今的科技,客戶(hù)會(huì)喜歡根據(jù)其 具體的需求選擇一個(gè)產(chǎn)品建造。產(chǎn)品的定制通常需要個(gè)人擁有必要的產(chǎn)品知識(shí)和設(shè)計(jì)技 能,并把它們應(yīng)用在客戶(hù)所需的要求和規(guī)格上,而且這個(gè)過(guò)程通常需要耗費(fèi)很多時(shí)間。 如果應(yīng)用軟件進(jìn)行二次開(kāi)發(fā)建立一個(gè)標(biāo)準(zhǔn)件三維實(shí)體模型庫(kù),用戶(hù)選擇標(biāo)準(zhǔn)件時(shí),便能 自動(dòng)從庫(kù)屮取出,然后插入到裝配體的指定位置,將大大簡(jiǎn)化設(shè)計(jì)工作,提高設(shè)計(jì)效率。 同時(shí)用戶(hù)可交換選擇或修改標(biāo)準(zhǔn)件的某些參數(shù),宜接在裝配
4、壞境中調(diào)用,使用極其方便 有效。在產(chǎn)品設(shè)計(jì)中,大量應(yīng)用標(biāo)準(zhǔn)件是代表一個(gè)國(guó)家和企業(yè)設(shè)計(jì)制造水平的重要標(biāo)志。 在機(jī)械產(chǎn)品中,有大約30%到70%的零件是標(biāo)準(zhǔn)件或非標(biāo)常用件,這些零件大多具有相 同或相似的外形特征,只是尺寸規(guī)格有所不同,如果沒(méi)有三維標(biāo)準(zhǔn)件庫(kù),將不得不在創(chuàng) 建和開(kāi)發(fā)過(guò)程屮對(duì)標(biāo)準(zhǔn)件進(jìn)行重復(fù)建模,不但耗費(fèi)了設(shè)計(jì)人員的時(shí)間和精力,延長(zhǎng)設(shè)計(jì) 周期,而且增加了產(chǎn)品的生產(chǎn)制造成本,所以建立通用的符合國(guó)家標(biāo)準(zhǔn)和企業(yè)標(biāo)準(zhǔn)的標(biāo) 準(zhǔn)件庫(kù)和典型組合庫(kù)是提高設(shè)計(jì)效率的保證。專(zhuān)用夾具的設(shè)計(jì)更不例外。而一些優(yōu)秀的 三維cad軟件如ug. solidedge等都未提供機(jī)床夾具零部件庫(kù)。為此,選擇合適的三維 cad平
5、臺(tái),研發(fā)一套適用于各類(lèi)cad逗系統(tǒng)的、通用的標(biāo)準(zhǔn)件庫(kù)和機(jī)床夾具零部件庫(kù)具 有極其深遠(yuǎn)的意義和價(jià)值。1.2機(jī)床夾具標(biāo)準(zhǔn)件庫(kù)研究的現(xiàn)狀?yuàn)A具是制造企業(yè)一種重要的工藝製備資源,夾具設(shè)計(jì)是生產(chǎn)準(zhǔn)備過(guò)程的關(guān)鍵環(huán)節(jié)。 以多品種、小批量為代表的面向大規(guī)模定制生產(chǎn)模式,要求企業(yè)能夠快速響應(yīng)用戶(hù)需求, 縮短開(kāi)發(fā)吋間。夾具由于能夠利用加工零件工藝上的相似性,且適應(yīng)工件特征在一定范 圍內(nèi)的變化而得到推廣和應(yīng)用,如何提高夾具設(shè)計(jì)效率成為需要重點(diǎn)解決的問(wèn)題z-o 參數(shù)化技術(shù)作為快速設(shè)計(jì)的常用手段,因此,夾具參數(shù)化生成和快速變形設(shè)計(jì)成為企業(yè) 的迫切需要。據(jù)統(tǒng)計(jì),在夾具開(kāi)發(fā)過(guò)程中標(biāo)準(zhǔn)件的使用率占到零件總數(shù)量的60%以上,以標(biāo)
6、準(zhǔn)件 的重復(fù)建模占用夾具設(shè)計(jì)的犬量吋間,而國(guó)內(nèi)開(kāi)發(fā)的標(biāo)準(zhǔn)件庫(kù)人都都存在通用性不足和 擴(kuò)充性較并的缺點(diǎn)。非標(biāo)準(zhǔn)件通常形狀不規(guī)則,結(jié)構(gòu)也比標(biāo)準(zhǔn)件復(fù)雜,因此夾具設(shè)計(jì)時(shí), 夾具的結(jié)構(gòu)尺寸依靠人的經(jīng)驗(yàn),而人的經(jīng)驗(yàn)乂往往不能被挖掘和再利用。同時(shí),目前 cad軟件的參數(shù)化設(shè)計(jì)功能尚難以很好地滿足產(chǎn)品級(jí)參數(shù)化設(shè)計(jì)的需求。目前,各種二次開(kāi)發(fā)的系統(tǒng)如模具cad、夾具cad、組合夾具cad等大多是基于 autocad平臺(tái)開(kāi)發(fā)的二維工程數(shù)據(jù)庫(kù)?;鵷autocad的機(jī)床夾具零部件庫(kù)開(kāi)發(fā)已有一定 成果。其組成主要有如下兒個(gè)功能模塊:零部件庫(kù)應(yīng)用程序、零部件數(shù)據(jù)庫(kù)、圖片庫(kù)。圖 片庫(kù)用于存放不同種類(lèi)夾具的工程圖,供預(yù)覽用?!?/p>
7、零部件數(shù)據(jù)庫(kù)”是將機(jī)床夾具零部 件國(guó)家標(biāo)準(zhǔn)gb2148-gb2269-80-p的所有零部件的尺寸數(shù)據(jù)輸入計(jì)算機(jī)屮,建立起多個(gè) 數(shù)據(jù)文件,構(gòu)成數(shù)據(jù)庫(kù),其中每種類(lèi)型夾具不同規(guī)格的尺寸構(gòu)成一個(gè)數(shù)據(jù)文件,供應(yīng)用 程序在autocad中生成工程圖用o一些優(yōu)秀的三維cad軟件如ug.、solidedge等都耒提供機(jī)床夾具零部件庫(kù)。冃前, 進(jìn)行簡(jiǎn)單開(kāi)發(fā)的一些零部件庫(kù),大部分是基于cad開(kāi)發(fā)的三維圖形庫(kù),或者說(shuō)以塊的形 式存儲(chǔ)的圖形文件,一般也是針對(duì)專(zhuān)門(mén)的系統(tǒng),可移植性不強(qiáng)。而且,這些圖形庫(kù)存在 著一些問(wèn)題:(1)不同系統(tǒng)開(kāi)發(fā)的零部件庫(kù)由于對(duì)零部件沒(méi)有統(tǒng)一的描述格式,不能進(jìn)行 信息的交換,造成了資源的極大浪費(fèi)
8、;(2)包括的信息不完整,多數(shù)只描述零件的幾何特 性,而不包括材料、性能等級(jí)等技術(shù)信息;(3)在建庫(kù)方法上,多采用建立圖庫(kù)的方法, 即把預(yù)先定義好的圖形放入庫(kù)中,需耍時(shí)重新調(diào)用。ft?丁機(jī)床夾具零部件的數(shù)量、種類(lèi)、 規(guī)格非常多,而fh午多尺寸不是標(biāo)準(zhǔn)尺寸或固定值,全部做成圖形要造成極大的資源浪 費(fèi),而且有些零件也不可能全部做成圖形,比如鉆套的內(nèi)孔尺寸、定位銷(xiāo)的外圓柱面定 位尺寸等,它們是由工件的加工要求確定的,可能是整數(shù),也可能是幾位小數(shù),建立鉆 套及定位銷(xiāo)模型時(shí)不可能預(yù)知這一尺寸,所以,我們需要尋求一種對(duì)這一信息的統(tǒng)一描 述,包括盡可能多的信息,減少不必要的浪費(fèi)。2 總體方案設(shè)計(jì)2.1系統(tǒng)開(kāi)
9、發(fā)所需工具目前,在我國(guó)的cad市場(chǎng)上比較流行的三維cad軟件有solidworks> mdt、ug、 pro/e、solidedge等。但就價(jià)位來(lái)講solidworks、mdt、solidedge是屮低檔價(jià)位的產(chǎn) 品,ug、pro/e、ideas是高小檔價(jià)位的產(chǎn)品??紤]到solidworks的全球用戶(hù)非常廣泛 (大約有20力),國(guó)外大多數(shù)制造公司招聘時(shí)都要求應(yīng)聘人具備操作solidworks的能 力。國(guó)際上很多一流的名校都將solidworks定為大學(xué)木科學(xué)生的必修課,如麻省理工 學(xué)院、英國(guó)劍橋大學(xué)等。95%的西方企業(yè)要求員工冋運(yùn)用solidworks軟件,solidworks 連續(xù)兒年
10、被美國(guó)一些雜志評(píng)為優(yōu)秀的cad軟件。而且solidworks的易上手,易操作性, 所以在這里我們以solidworks為平臺(tái)進(jìn)行夾具庫(kù)的二次開(kāi)發(fā)。solidworks的軟件開(kāi)發(fā)商為方便各類(lèi)用戶(hù)對(duì)其進(jìn)彳亍二次開(kāi)發(fā),提供了api(application programming interface)應(yīng)用編程接口,它是一個(gè)基t*ole(對(duì)象鏈接與嵌入)的編程接口, 此接口為用戶(hù)提供口由、開(kāi)放、功能完整的開(kāi)發(fā)工具,其中包含了數(shù)以百計(jì)的功能函 數(shù),這些函數(shù)提供了程序員直接訪問(wèn)solidworks的能力。凡支持ole編程的開(kāi)發(fā)工具, 如visualc+, visual basic, delphi等均可用于s
11、olidworks的二次開(kāi)發(fā)。在此選用vb編程語(yǔ) 言作為開(kāi)發(fā)工具。采用microsoft的access來(lái)建立標(biāo)準(zhǔn)件參數(shù)特性數(shù)據(jù)庫(kù)。這是由于access 是visualbasic的內(nèi)部數(shù)據(jù)庫(kù),即缺省數(shù)據(jù)庫(kù)類(lèi)型。用access建立的數(shù)據(jù)庫(kù)(.mdb)可以在 visualb asic中使用;而且用visualbasic可以直接建立access數(shù)據(jù)庫(kù)。因此,在visualb asic 屮,access數(shù)據(jù)庫(kù)和visualbasic數(shù)據(jù)庫(kù)含義相同。另外,visual basic是一種由微軟公司開(kāi)發(fā)的包含協(xié)助開(kāi)發(fā)環(huán)境的事件驅(qū)動(dòng)編程語(yǔ) 言。從任何標(biāo)準(zhǔn)來(lái)說(shuō),vb都是世界上使用人數(shù)最多的語(yǔ)言不僅是盛贊vb的開(kāi)發(fā)
12、 者還是抱怨vb的開(kāi)發(fā)者的數(shù)量。它源自于basic編程語(yǔ)言。vb擁有圖形用戶(hù)界面 (gui)和快速應(yīng)用程序開(kāi)發(fā)(rad)系統(tǒng),可以輕易的使用dao、rdo、ado連接 數(shù)據(jù)庫(kù),或者輕松的創(chuàng)建activex控件。程序員可以輕松的使用vb提供的組件快速建 立一個(gè)應(yīng)用程序。一個(gè)典型的vb進(jìn)程vb的中心思想就是要便于程序員使用,無(wú)論是新手或者專(zhuān)家。 vb使用了可以簡(jiǎn)單建立應(yīng)用程序的gui系統(tǒng),但是又可以開(kāi)發(fā)相當(dāng)復(fù)雜的程序。vb的 程序是一種基于窗體的可視化組件安排的聯(lián)合,并耳增加代碼來(lái)指定組建的屬性和方法。因?yàn)槟J(rèn)的屬性和方法已經(jīng)有一部分定義在了組件內(nèi),所以程序員不用寫(xiě)多少代碼 就可以完成一個(gè)簡(jiǎn)單的程
13、序。2. 2系統(tǒng)的設(shè)計(jì)思想計(jì)算機(jī)輔助夾具設(shè)計(jì)系統(tǒng)應(yīng)為工藝人員提供一個(gè)良好的設(shè)計(jì)服務(wù)環(huán)境,應(yīng)具備快速 獲取相關(guān)信息、生成和存儲(chǔ)、輸入和輸出、圖形設(shè)計(jì)和處理能力以及良好的人機(jī)交互等 功能。基于solidworks的cam系統(tǒng)參考人工設(shè)計(jì)夾具的過(guò)程,同時(shí)兼顧計(jì)算機(jī)處理問(wèn) 題的特點(diǎn),面向夾具設(shè)計(jì)全過(guò)程,融三維參數(shù)化設(shè)計(jì)技術(shù)、交互式界面設(shè)計(jì)技術(shù)和數(shù)據(jù) 庫(kù)管理技術(shù)于一體,根據(jù)機(jī)床夾具零部件的具體特點(diǎn),綜合使用變異型(如夾具體)或創(chuàng) 成型cad(如標(biāo)準(zhǔn)零部件)和人機(jī)交互設(shè)計(jì)的混合方式,面向?qū)ο?,通過(guò)三維參數(shù)化驅(qū)動(dòng) 技術(shù),保證設(shè)計(jì)結(jié)果的一致性。另外,一個(gè)獨(dú)立的exe是一個(gè)獨(dú)立的程序,有能力控制其他軟件,有自己
14、的接口。在 這種情況卜,visual basic軟件被用來(lái)作為獨(dú)立的exe來(lái)結(jié)合solidworks和excel軟件定 制模型,由此我們叮以得出詳細(xì)的系統(tǒng)體系結(jié)構(gòu)(如圖2.1) o用戶(hù)的輸入用戶(hù)界面形式(visual basic)3-dcad 模型輸出圖2.1詳細(xì)的系統(tǒng)體系結(jié)構(gòu)圖本課題作為cafd系統(tǒng)的先期工作,將首先完成機(jī)床夾具定位件庫(kù)的建立,并作進(jìn) 一步研究。solidworks環(huán)境下零部件庫(kù)的系統(tǒng)結(jié)構(gòu)包扌乩 用戶(hù)界面、執(zhí)行模塊、零部件模型庫(kù)、 零部件特性參數(shù)數(shù)據(jù)庫(kù)四個(gè)部分。其核心部分就是執(zhí)行模塊和零部件模型庫(kù)及數(shù)據(jù)庫(kù), 卜面分別對(duì)齊模塊進(jìn)行簡(jiǎn)單介紹。1. 用戶(hù)界面:用戶(hù)與執(zhí)行模塊進(jìn)行交互
15、的窗口:可以從中輸入所需的零件的 主參數(shù),進(jìn)行實(shí)時(shí)建模(對(duì)數(shù)據(jù)庫(kù)小沒(méi)有的數(shù)據(jù)參數(shù)可輸入英所需參數(shù)進(jìn)行實(shí)時(shí)繪制)。2. 執(zhí)行模塊:核心部分,主要是對(duì)由界面輸入的數(shù)據(jù)處理,與零部件庫(kù)參數(shù)數(shù)據(jù)庫(kù) 進(jìn)行交互,運(yùn)算,通過(guò)api跟solidworks進(jìn)行交互,對(duì)其操作,使其完成繪制相應(yīng)實(shí)體 的全過(guò)程。3. 零部件參數(shù)數(shù)據(jù)庫(kù)和模型庫(kù):為零部件的生成提供原形和具體參數(shù)信息,是零 件的原始表現(xiàn)形式。圖2. 1給我們展示的不僅是零部件庫(kù)的總體結(jié)構(gòu),它實(shí)質(zhì)是給我們一種建立零部件 庫(kù)的思想。由圖可以看出,其幾大模塊都是圍繞著solidworks這個(gè)平臺(tái),其主要原因是 繪圖過(guò)程是由solidworks平臺(tái)完成的。其它兒
16、個(gè)模塊是以外掛的形式和solidworks平臺(tái) 相關(guān)聯(lián)的,也就是說(shuō)其它兒個(gè)模塊把處理后的信息匯總后通過(guò)接口api發(fā)向solidworks 平臺(tái)來(lái)完成畫(huà)圖。這種建模方式的優(yōu)點(diǎn)體現(xiàn)在以下幾點(diǎn):1數(shù)據(jù)庫(kù)建立可以獨(dú)立進(jìn)行,不受任何條件約束,因?yàn)閍ccess數(shù)據(jù)庫(kù)的訪問(wèn) 操作已經(jīng)標(biāo)準(zhǔn)化,己經(jīng)形成標(biāo)準(zhǔn)化的數(shù)據(jù)庫(kù)語(yǔ)言,在任何編程語(yǔ)言環(huán)境中都是通 用的。2模型的建立是不受任何外界因索影響的。因?yàn)閟olidworks的核心技術(shù)不會(huì) 變,其建立的模型的通用性也不會(huì)變。模型的通用性也就保證了此零部件庫(kù)的通 用性。3. 由上面兩點(diǎn)看出,數(shù)據(jù)庫(kù)與編程語(yǔ)言無(wú)關(guān),因此,對(duì)其進(jìn)行二次開(kāi)發(fā)的編程語(yǔ)言 就會(huì)有多種選擇,這樣使其二
17、次開(kāi)發(fā)的難度降低,適合人群增加。4. 由圖可以看出,用這種方法開(kāi)發(fā)的零部件庫(kù)是以外掛的形式聯(lián)接到solidworks之 上的,而且齊個(gè)模塊是獨(dú)立的,因此其擴(kuò)充性非常的好,我們可以增加更多的標(biāo)準(zhǔn)件數(shù) 據(jù)庫(kù),增加更多的模型文件來(lái)達(dá)到擴(kuò)充零部件庫(kù)的目的。例如我們要加入彈簧這個(gè)標(biāo)準(zhǔn) 件,我們耍作的只是把其參數(shù)建立數(shù)據(jù)庫(kù),把其外型建立模型,放入相應(yīng)的目錄中,然 后建立其執(zhí)行模塊和界面,編譯成可執(zhí)行,再加入菜單即可,對(duì)原來(lái)任何東西都不需要 修改®。2.3系統(tǒng)的設(shè)計(jì)的關(guān)鍵技術(shù)2. 3. 1 com技術(shù)com是一個(gè)說(shuō)明如何建立可動(dòng)態(tài)交替更新組件的規(guī)范,提供了客戶(hù)和組件之間能夠互操作應(yīng)該遵循的標(biāo)準(zhǔn),該
18、標(biāo)準(zhǔn)對(duì)于組件架構(gòu)的重要性同其他任何一個(gè)具有可交替更新 部分的系統(tǒng)是一樣的。com的前身是ole。ole的第一個(gè)版本用動(dòng)態(tài)數(shù)據(jù)交換(dde)作為 客戶(hù)及組件之間的通信方式,ole 1.0并沒(méi)有引用com,但是dde非常緩慢,而且效率也不 高。ole的第二個(gè)版木使用了com。但ole是開(kāi)發(fā)出來(lái)的第一個(gè)com系統(tǒng),不能很好地實(shí)現(xiàn) com功能,這使ole顯得比較龐大而且使用不便。com規(guī)范就是一套為組件架構(gòu)設(shè)置標(biāo)準(zhǔn)的文檔。com屮得組件,其實(shí)用積木形容在恰 當(dāng)不過(guò)了。在拼積木時(shí),將積木一塊一塊壘加起來(lái)拼成頭腦中所想象的東西。我們可以 將組件看出一塊積木或一個(gè)小單元,這些小單元成為應(yīng)用程序的各個(gè)獨(dú)立部分
19、。這種做 法的好處不言口明,它可以隨著對(duì)應(yīng)用程序的不斷發(fā)展而使用新的組件來(lái)取代原有的組 件,就像堆積木一樣,用更漂亮的積木搭成更漂亮的建筑。傳統(tǒng)應(yīng)用程序的組成部分是分立的文件、模塊或類(lèi),這些組成部分經(jīng)過(guò)編譯并鏈接 之后形成應(yīng)用程序。要像推出應(yīng)用程序的新版本,就需要將這些組成部分重新編譯,既 費(fèi)吋又費(fèi)力。有了組件的概念,就可以將改進(jìn)的新組件插入到應(yīng)用程序中,并替換了原 來(lái)的就組件,從而賦予應(yīng)用程序新的活力。另外,由此也可以看出有這樣的想法,把許多已經(jīng)做好的組件放到一起形成一個(gè)組 件庫(kù),好比一個(gè)類(lèi)庫(kù)。當(dāng)制作應(yīng)用程序時(shí),如果要用到不同的組件,只需要從剛建好的 組件庫(kù)中調(diào)出所需要的組件,然后它們叮以插
20、入到適當(dāng)?shù)奈恢?,?lái)獲得所需要的功能。 2. 3. 2 act i vex automat i on技術(shù)activex automation技術(shù)activex automation是microsoft公罰提出的一個(gè)基于com (componet object model,組件對(duì)象模型)的技術(shù)標(biāo)準(zhǔn),是以前的0l1 (object linking and embeding,對(duì)象連接與嵌人)技術(shù)的更高層次的發(fā)展,其宗旨是在windows系統(tǒng)的統(tǒng) -管理下,協(xié)同不同的應(yīng)用程序,準(zhǔn)許這些應(yīng)用程序之間相互溝通、相互控制。每個(gè)應(yīng) 用程序可以決定自己的哪些信息可暴露出來(lái)。這些暴購(gòu)出來(lái)的信息、可以被其它應(yīng)用程 序
21、操縱。這個(gè)暴露信息的程序稱(chēng)為服務(wù)程序(server),而操縱這些服務(wù)程序的程序成為 客戶(hù)程序(client) , activex automation技術(shù)通過(guò)兩個(gè)程序問(wèn)安排對(duì)話,達(dá)到一個(gè)程 序控制另一個(gè)程序的口的,但這種對(duì)話不是雙向的,對(duì)話雙方也不是平等的??蛻?hù)程序 是開(kāi)始要求對(duì)話的應(yīng)用程序,服務(wù)程序是響應(yīng)客戶(hù)程序的應(yīng)用程序oactivex automation 的代碼在客戶(hù)程序土運(yùn)行,而這些代碼所控制的動(dòng)作由服務(wù)程序來(lái)執(zhí)行(在這里將 solidworks理解為一個(gè)服務(wù)程序,而作為二次開(kāi)發(fā)工具的vb程序作為客戶(hù)程序,它們z 間是服務(wù)器與客戶(hù)的關(guān)系。用戶(hù)只耍在vb仁進(jìn)行操作,vb就將驅(qū)動(dòng)soli
22、dworks完成相應(yīng) 的工作。2. 3. 3 ole技術(shù)在windows平臺(tái)卞,應(yīng)用程序并不是處于分割獨(dú)立的狀態(tài),用戶(hù)通常想使它們互和 聯(lián)系。ole口動(dòng)化是windows應(yīng)用程序之間互相操縱的一項(xiàng)技術(shù),它允許在一個(gè)應(yīng)用程序 內(nèi)部操作另一個(gè)應(yīng)用程序提供的對(duì)象。被操縱的一端稱(chēng)為自動(dòng)化服務(wù)器,而操縱自動(dòng)化 服務(wù)器的一端稱(chēng)為自動(dòng)化客戶(hù)或自動(dòng)化控制器。一個(gè)自動(dòng)化服務(wù)器是由一個(gè)應(yīng)用程序提 供的被另一個(gè)應(yīng)用程序使用的服務(wù)。自動(dòng)化控制器是指使用自動(dòng)化服務(wù)器提供服務(wù)的控 制應(yīng)用程序,它通過(guò)ole接口工作,這個(gè)接口向控制應(yīng)用程序開(kāi)放可用的服務(wù)。因此, ole自動(dòng)化的實(shí)質(zhì)就是使對(duì)象在應(yīng)用程序之間可以方便地共享,自動(dòng)
23、化的最大優(yōu)勢(shì)是它 的語(yǔ)言無(wú)關(guān)性。可以使用delphi、c+等高級(jí)語(yǔ)言或腳本語(yǔ)言如vbscript和javascript 來(lái)驅(qū)動(dòng)自動(dòng)化服務(wù)器,而不必考慮用于編寫(xiě)它的語(yǔ)言,從而實(shí)現(xiàn)應(yīng)用程序間的互操作性。自動(dòng)化服務(wù)器的應(yīng)用有兩種形式:一種稱(chēng)為進(jìn)程內(nèi)服務(wù)器,一種稱(chēng)為進(jìn)程外服務(wù) 器。進(jìn)程內(nèi)服務(wù)器是dll函數(shù),可以創(chuàng)建服務(wù)器對(duì)彖供宿主應(yīng)用程序使用,dll程序與調(diào) 用它的應(yīng)用程序可以創(chuàng)建服務(wù)器對(duì)象,他們與客戶(hù)程序不在同一進(jìn)程中,而是在他們自 己的進(jìn)程中。冃前,越來(lái)越多的應(yīng)用程序?qū)ν饨缣峁┳詣?dòng)化服務(wù)器,如microsoft word> excel> pro/e、mdt、solidworks等。使用
24、自動(dòng)化服務(wù)器提供的服務(wù),實(shí)際上是通過(guò)訪問(wèn)自動(dòng)化 服務(wù)器提供的口動(dòng)化對(duì)象的數(shù)學(xué)和方法實(shí)現(xiàn)。有關(guān)口動(dòng)化對(duì)彖的借口、屬性和方法等信 息稱(chēng)為類(lèi)型信息。提供自動(dòng)化服務(wù)器的應(yīng)用程序一般把自動(dòng)化對(duì)象類(lèi)型信息保存在類(lèi)型 庫(kù)小。自動(dòng)化服務(wù)器的類(lèi)型庫(kù)可以作為資源鏈接到服務(wù)器應(yīng)用程序或動(dòng)態(tài)動(dòng)態(tài)鏈接屮, 也叮以單獨(dú)保存在一個(gè)外部文件中。類(lèi)型庫(kù)中包括的自動(dòng)化服務(wù)器中的類(lèi)、接口、數(shù)據(jù) 類(lèi)型等信息,供客戶(hù)在創(chuàng)建實(shí)力、調(diào)用接口吋使用。2. 3.4參數(shù)化設(shè)計(jì)技術(shù)參數(shù)化設(shè)計(jì)(parametricd esign,也叫尺寸驅(qū)動(dòng)dimension-driven)般是指設(shè)計(jì)圖 形拓?fù)潢P(guān)系不變,尺寸形狀由一組參數(shù)進(jìn)行約束。參數(shù)與圖形的控制
25、尺寸有顯式的對(duì)應(yīng), 不同的參數(shù)值驅(qū)動(dòng)產(chǎn)生不同大小的兒何圖形??梢?jiàn),參數(shù)化設(shè)計(jì)是規(guī)格化、系列化產(chǎn)品 設(shè)計(jì)的一種簡(jiǎn)單、高效、優(yōu)質(zhì)的設(shè)計(jì)方法。國(guó)內(nèi)外對(duì)參數(shù)化設(shè)計(jì)做了大量的研究,口前 參數(shù)化技術(shù)大致可分為如下三種方法:(1)基于幾何約束的數(shù)學(xué)方法;(2)基于幾何原理的人工智能方法;(3)基于特征模型的造型方法。其111數(shù)學(xué)方法又分為初等方法(primary approach)和代數(shù)方法(algebraic approach) o初等方法利用預(yù)先設(shè)定的算法,求解一 些特定的幾何約束。這種方法簡(jiǎn)單、易于實(shí)現(xiàn),但僅適用丁只有水平和垂直方向約束的 場(chǎng)合:代數(shù)法則將兒何約束轉(zhuǎn)換成代數(shù)方程,形成一個(gè)非線性方程組。
26、該方程組求解較 困難,因此實(shí)際應(yīng)用受到限制;人工智能方法是利用專(zhuān)家系統(tǒng),對(duì)圖形屮的兒何關(guān)系和 約束進(jìn)行理解,運(yùn)用幾何原理推導(dǎo)出新的約束,這種方法的速度較慢,交互性不好;特 征造型方法是三維實(shí)體造型技術(shù)的發(fā)展,目前正在探討之中。參數(shù)化設(shè)計(jì)是一種驅(qū)動(dòng)機(jī) 制,參數(shù)驅(qū)動(dòng)機(jī)制是基于對(duì)圖形數(shù)據(jù)的操作通過(guò)參數(shù)驅(qū)動(dòng)機(jī)制,可以對(duì)圖形的幾何數(shù) 據(jù)進(jìn)行參數(shù)化修改,但是,在修改的同時(shí),還要滿足圖形的約束條件,需要約束間關(guān)聯(lián) 性的驅(qū)動(dòng)手段約束聯(lián)動(dòng),約束聯(lián)動(dòng)是通過(guò)約束間的關(guān)系實(shí)現(xiàn)的驅(qū)動(dòng)方法。對(duì)一個(gè)圖形, 可能的約束i分復(fù)雜,而且數(shù)量很大。而實(shí)際由用戶(hù)控制的,即能夠獨(dú)立變化的參數(shù)一 般只有幾個(gè),稱(chēng)之為主參數(shù)或主約束;其它約
27、束可由圖形結(jié)構(gòu)特征確定或與主約束有確 定關(guān)系,稱(chēng)它們?yōu)榇渭s束。對(duì)主約束是不能簡(jiǎn)化的,對(duì)次約束的簡(jiǎn)化可以有圖形特征 聯(lián)動(dòng)和相關(guān)參數(shù)聯(lián)動(dòng)兩種方式。所謂圖形特征聯(lián)動(dòng)就是保證在圖形拓?fù)潢P(guān)系不變的情況下,對(duì)次約束的驅(qū)動(dòng),亦即 保證連續(xù)、相切、垂直、平行等關(guān)系不變。反映到參數(shù)驅(qū)動(dòng)過(guò)程就是要根據(jù)齊種幾何相 關(guān)性準(zhǔn)則去判識(shí)與從動(dòng)點(diǎn)有上述拓?fù)潢P(guān)系的實(shí)體及其幾何數(shù)據(jù),在保證系不變的前提 下,求出新的幾何數(shù)據(jù)。稱(chēng)這些幾何數(shù)據(jù)為從動(dòng)點(diǎn)。這樣,從動(dòng)點(diǎn)的約束就與驅(qū)動(dòng)參數(shù) 有了聯(lián)系。依靠這一聯(lián)系,從動(dòng)點(diǎn)得到了驅(qū)動(dòng)點(diǎn)的驅(qū)動(dòng),驅(qū)動(dòng)機(jī)制則擴(kuò)大了其作用范圍。所謂相關(guān)參數(shù)聯(lián)動(dòng)就是建立次約束與主約束在數(shù)值上和邏輯上的關(guān)系。在參數(shù)驅(qū)動(dòng)
28、過(guò)程屮,始終耍保持這種關(guān)系不變。相關(guān)參數(shù)的聯(lián)動(dòng)方法使某些不能用拓?fù)潢P(guān)系判斷的 從動(dòng)點(diǎn)與驅(qū)動(dòng)點(diǎn)建立了聯(lián)系。使用這種方式時(shí),常引入驅(qū)動(dòng)樹(shù),以建立主動(dòng)點(diǎn)、從動(dòng)點(diǎn) 等之間的約束關(guān)系的樹(shù)形農(nóng)示,便丁直觀地判斷圖形的驅(qū)動(dòng)與約束情況。參數(shù)驅(qū)動(dòng)是一種新的參數(shù)化方法,其基木特征是直接對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作。因此它具 有很好的交互性,用戶(hù)可以利用繪圖系統(tǒng)全部的交互功能修改圖形及其屬性,進(jìn)而控制 參數(shù)化的過(guò)程;與其他參數(shù)化方法相比較,參數(shù)驅(qū)動(dòng)方法具有簡(jiǎn)單、方便、易開(kāi)發(fā)和使 用的特點(diǎn),能夠在現(xiàn)有的繪圖系統(tǒng)基礎(chǔ)上進(jìn)行二次開(kāi)發(fā)。而ii適用面廣,對(duì)二維、三維 問(wèn)題都適用(10'131 o2. 3. 5 sol idwor
29、ks的對(duì)象層次結(jié)構(gòu)solidworks的對(duì)象層次結(jié)構(gòu)activex automation的實(shí)質(zhì)就是利用客戶(hù)程序去控制 服務(wù)程序的對(duì)象、方法和屬性,實(shí)現(xiàn)某種功能。也就是說(shuō),solidworks必須將全部 activex對(duì)象暴露給vb才能實(shí)現(xiàn)二者的通信。這樣,vb就可以像使用自身的對(duì)象一樣 來(lái)操縱solidworks暴露給它的對(duì)象。對(duì)象是服務(wù)器程序簡(jiǎn)單而抽象的代表,對(duì)象z間 一般通過(guò)被稱(chēng)為對(duì)象模型或者對(duì)象層次結(jié)構(gòu)的形式互相聯(lián)系。不骨是用何種編程語(yǔ)言對(duì) solidworks進(jìn)彳亍外部開(kāi)發(fā)或在其內(nèi)部進(jìn)彳亍開(kāi)發(fā),都是通過(guò)調(diào)用solidworks的對(duì)象體系 結(jié)構(gòu)來(lái)進(jìn)行的。solidworks的api編程接
30、口封裝了所有的activex對(duì)象供編程使用。 solidworks的對(duì)象層次結(jié)構(gòu)可以描述為自上而下的樹(shù)型結(jié)構(gòu)模型,最底層的根對(duì)象是 sldworks對(duì)象,其它對(duì)象都是它的了對(duì)象。其中的父對(duì)象與了對(duì)象z間的關(guān)系并不是 繼承關(guān)系,而是包含關(guān)系。也就是說(shuō)如果vb要與solidworks的一個(gè)特定對(duì)象通訊,必 須先從solidworks對(duì)象對(duì)其子對(duì)象進(jìn)行遍歷,直到找到該特定的對(duì)象。為了方便用戶(hù)進(jìn)行二次開(kāi)發(fā),solidworks提供了幾百個(gè)api函數(shù),用戶(hù)可以使用 visual basic、vba、visualc卄、c#、delphi 等高級(jí)編程語(yǔ)言對(duì) solidworks 進(jìn)行二次 開(kāi)發(fā),建立適合用戶(hù)
31、需要的、專(zhuān)用的solidworks功能模塊。同時(shí),由于solidworks api 及具有關(guān)幫助文檔都包括在solidworks軟件屮,任何用戶(hù)都可以對(duì)其進(jìn)行二次開(kāi)發(fā)。 不管是釆用 visual basic> vba> visualc+還是 delphi 對(duì) solidworks 進(jìn)行二次開(kāi)發(fā), 都是通過(guò)solidworks的對(duì)象體系結(jié)構(gòu)來(lái)進(jìn)行的。這種基于activex automation技術(shù)的 solidworks apt將各種功能封裝在solidworks對(duì)象之中供編程調(diào)用。圖2. 2顯示了 solidworks api中各個(gè)對(duì)象相互關(guān)系,可以利用這張表的關(guān)系進(jìn)行參考編程。圖
32、2.2 solidworks api的對(duì)象層次結(jié)構(gòu)體系2. 3. 6 sol idworks 的 api 函數(shù)介紹1. solidwoks的對(duì)象模型solidworks的對(duì)象模型是一個(gè)多層次的對(duì)象網(wǎng)絡(luò),如圖2. 3所示。最高級(jí)別的對(duì)象類(lèi) 是sldworks,該對(duì)象中封裝了很多方法(methods),如0pendoc2、activatedoc2、 closedoc> exitapp,下面又創(chuàng)建了許多子類(lèi),如modeldoc、environment、frameo 本 文將重點(diǎn)介紹modcldoc對(duì)象,因?yàn)榇蟛糠掷L圖操作都在modcldoc對(duì)象屮,如 selectbyld (選擇)、creat
33、ecircle2 (畫(huà)圓)、createline2 (畫(huà)直線)。modeldoc 中 又創(chuàng)建了partdoc> assemblydoc> drawingdoc等子類(lèi)。其中大部分實(shí)體建模操作都在 partdoc 對(duì)象中,如featureextrusion (拉伸)、featurerevolve (旋轉(zhuǎn));而相關(guān)的裝 配操作如addcomponent (插入零部件)、addmate (插入配合)等都在assemblydoc對(duì) 象中h1 o2. solidwoks的對(duì)象的屬性和方法在solidworks創(chuàng)建的對(duì)象中,每個(gè)對(duì)象都有自己的屬性和方法,通過(guò)調(diào)用api函數(shù) 實(shí)現(xiàn),反過(guò)來(lái),應(yīng)用so
34、lidworks的每一步操作都體現(xiàn)在特定的對(duì)象類(lèi)中。下面以vb為開(kāi) 發(fā)平臺(tái)介紹其一些常用的api函數(shù)。圖2. 3 solidworks對(duì)象模型連接 solidworks在對(duì)solidworks進(jìn)行二次開(kāi)發(fā)時(shí),首先要建立solidworks的連接,創(chuàng)建solidworks的應(yīng)用對(duì)象:dim swapp as objectset swapp = createobject ("sldworks.application")通過(guò)這個(gè)函數(shù),就打開(kāi)了 solidworks的接口,可以調(diào)用它的api函數(shù)了。(2) 建立新的零件圖、裝配圖創(chuàng)建零件圖:dim part as objectset
35、 part = swapp.newpart創(chuàng)建裝配圖:dim assem as objectset assem = swapp.newassembly這兩個(gè)函數(shù)創(chuàng)建了一個(gè)新的工作區(qū),使我們能夠進(jìn)行建模和裝配。(3) 選擇“選擇”町以說(shuō)是在使用solidworks時(shí)用得最多的一個(gè)命令,有很多命令在使用時(shí) 都耍選擇操作對(duì)象,通過(guò)調(diào)用model doc對(duì)象中的selectbytd函數(shù)來(lái)實(shí)現(xiàn):modeldoc.selectbyid(objectname ,object type , x , y , z)這個(gè)函數(shù)在應(yīng)用時(shí)需要輸入五個(gè)參數(shù):objectname表示要選擇對(duì)象的名稱(chēng),該名稱(chēng)是 solidwo
36、rks在創(chuàng)建對(duì)象時(shí)按先后順序自動(dòng)命名的,如基準(zhǔn)面1、基準(zhǔn)面2、arcl、 line3、d1 草圖 1 partl. sldprt;object type 要輸入對(duì)象的類(lèi)型,如plane (面)、 sketchsegment (草圖上的對(duì)象如直線、圓弧等)、dimension (尺寸標(biāo)注);x , y , z是 平面上任一點(diǎn)的坐標(biāo)值。(4) 插入草圖在所選平而上插入草圖,調(diào)用modeldoc 'i1的inscrtskctch函數(shù):modeldoc. insertsketch ()(5) 基本草圖繪制命令畫(huà)直線調(diào)用modeldoc 對(duì)象中的createline2 函數(shù):modeldoc.
37、createline2(xstart , ystart , zstart ,xend , yend , zend )const ructiongeomet ry =truc xstart、ystart、zstart、xend> yend、zend 分別是直線的起點(diǎn)和終點(diǎn)坐 標(biāo);const ructiongeomet ry =true時(shí)表示畫(huà)中心輔助線。畫(huà)圓調(diào)用modeldoc對(duì)象中 fltlcreatecircle2i?i:modeldoc. createcircle2 (xc , yc , zc , xp , yp ,zp)xc、yc、 zc、xp、yp、zp分別是岡心和岡上一點(diǎn)的坐標(biāo)
38、值。標(biāo)注尺寸先通過(guò)selectbyld函數(shù) 選擇要標(biāo)注的對(duì)象,再調(diào)用modeldoc中的adddimension函數(shù):modcldoc. adddimcnsion(x , y , z)x、y、z為尺寸文本所要放的位置的坐標(biāo)值。(5)基本實(shí)體建模命令拉伸調(diào)用partdoc中的featureextrusion函數(shù):partdocfe&tureextrusion(sd ,flip , dir , tl , t2 , dl , d2 ,dchkl ,dchk2 ,ddirl ,ddir2 , dangl , dang2 , off setrcvcrsel , off sctreversc2)
39、sd 為true 時(shí)表示單向 拉伸,為false時(shí)雙向拉伸,以0、1表示;dir為true時(shí)表示正向拉伸,為真時(shí)有 效;dir為true吋表示反向拉伸,為真吋有效;11、12表示終止類(lèi)型,可取下列值:0 (給定深度)、1 (貫穿)、2 (為貫穿下一個(gè))、3 (成形到一頂點(diǎn))、4 (成形到一面)、 5 (到離指定面指定的距離)、6 (兩側(cè)對(duì)稱(chēng));dl , d2表示拉伸的深度;ddirl > ddir2 為true時(shí)表示帶拔模角拉仲;dangl . dang2為true時(shí)表示向內(nèi)拔模,為false是向外 拔模;off setre2versel , off setreverse2控制到離指定面
40、指定的距離,在tl、t2為 5吋有效。其中d2、dchk2、ddir2、dang2、off setreverse2在雙向拉伸吋有效。 旋轉(zhuǎn)調(diào)用partdoc 中featurerevolve 函數(shù):partdoc. featurerevolve(angle , reversedir , angle2 , revtype) angle 表示旋轉(zhuǎn)的角度;reversedir 控制旋轉(zhuǎn) 的方向,為true時(shí)表示反向,rcvtyp為1時(shí)無(wú)效;an2gle2表示旋轉(zhuǎn)的反向角度,僅當(dāng) revtyp為2時(shí)有效;revtyp表示旋轉(zhuǎn)類(lèi)型,為0時(shí)單方向旋轉(zhuǎn),為1時(shí)雙向等角度旋轉(zhuǎn), 為2吋雙向旋轉(zhuǎn)。倒角調(diào)用mode
41、ldoc中的featurechamfer2type 函數(shù):modeldoc. featurechamfertype(chamfer type , width , angle , flip , otherdist , vertexchamdistl , vertexchamdist2 , vertexchamdist3)chamfer type 控 制倒角的類(lèi)型,可取下列值:1(角度-距離控制)、2 (距離-距離控制)、3 (頂點(diǎn)-倒 角控制)、4 (兩邊等距離控制);width表示倒角邊距;angle表示倒角角度,僅當(dāng) chamfer typel 為 1 吋有效;otherdist 表示cha
42、mfer type 為2 吋的另一邊距; vertexchamdistl、vettexchamdist2、vertex2chamdist3 表示chamfer type 為3 時(shí) 的三個(gè)距離。(6)基本裝配命令零件的建模完成后,即可進(jìn)行零件的裝配,先調(diào)用swapp中的newassembly函數(shù)新建 一個(gè)空白裝配文檔,再通過(guò)調(diào)用assemblydoc中的addcomponent函數(shù)插入零部件: assemblydoc. addcomponent (compxame , x , y , z) compxame 表示要加入組件的路徑 及名稱(chēng);x , y , z表示組件在裝配文檔屮放置的位置。插入配合
43、調(diào)用assemblydoc屮 的addmate 函數(shù):assemblydoc. addmate (matetype , align , flip , dist , angle)用 matetype控制配合類(lèi)型,可取下列值: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í)的角度06-171 o3更多的solidworks的api函數(shù)介紹在這里只是簡(jiǎn)耍
44、的介紹solidworks的apt函數(shù),不可能作到全面的認(rèn)識(shí)或是熟悉這些api要了解更多的api知識(shí)可以查看solidworks的api和插件幫助主題,如圖2. 3。圖2. 3 solidworks api插件幫助主題2. 3. 7 vb開(kāi)發(fā)so i i dworks基本原理1. vb簡(jiǎn)介visualbasic語(yǔ)言是美國(guó)微軟公司推出的windows環(huán)境下的軟件開(kāi)發(fā)工具,使用vb可 以既快乂簡(jiǎn)單地開(kāi)發(fā)w i ndows應(yīng)用軟件。visual是指開(kāi)發(fā)圖形用戶(hù)界而(gui)的方法。visual的意思是“視覺(jué)的”或“可 視 的”,也就是直觀的編程方法在vb屮引入了控件的概念。如各種各樣的按鈕、文本框、
45、 復(fù)選框等。vb把這些控件模式化,并ii每一個(gè)控件都由若干個(gè)屬性來(lái)控制其外觀、工作 方法。這樣采用visual方法無(wú)需編寫(xiě)大量的代碼去描述界面元素的外觀和位置,而只耍 把預(yù)先建立的控件加到幕上就像使用“畫(huà)圖” z類(lèi)的繪圖程序,通過(guò)選擇畫(huà)圖工具來(lái) 畫(huà)圖一樣。basic 是指basic ( beginners all-purposesy mbolicin st rue tionc ode)語(yǔ)言,z 所以叫做“visualbasic”就是因?yàn)樗褂胻eas ic語(yǔ)言作為代碼1241. vb在原有的basic 語(yǔ)言的基礎(chǔ)上的進(jìn)一步發(fā)展,至今包含了數(shù)百條語(yǔ)句、函數(shù)及關(guān)鍵詞,其中很多與 windows g
46、ui有直接關(guān)系。vb與basicz間有著千絲萬(wàn)縷的聯(lián)系,如果學(xué)過(guò)basic語(yǔ)言的 話,看到vb的程序結(jié)構(gòu)會(huì)感到很親切。專(zhuān)業(yè)人員可以用visualb asic實(shí)現(xiàn)其他任何 windows編程語(yǔ)言的功能,而初學(xué)者只需掌握幾個(gè)關(guān)鍵詞就可以建立實(shí)用的應(yīng)用程序。vb設(shè)計(jì)程序在windows工作環(huán)境中,開(kāi)發(fā)應(yīng)用程序是比較理想的。使用vb不僅可以 感受到windows帶來(lái)的新技術(shù)、新概念和新的開(kāi)發(fā)方法,而且vb是目前眾多windows軟件 開(kāi)發(fā)工具中效率最高的一個(gè)。另外,vb系列產(chǎn)品得到了計(jì)算機(jī)工業(yè)界的承認(rèn),得到了許 多軟件開(kāi)發(fā)商的大力支持。2. vb 開(kāi)發(fā) solidworks 原理solidworks
47、api ( application programming interface,應(yīng)用程序編程接 口)是 sol idworks的ole (object linking and embedding,對(duì)象鏈接或嵌入)應(yīng)用程序開(kāi)發(fā) 接口,用戶(hù)可以利用它和支持ole編程的開(kāi)發(fā)工具,如vb、vba (excel, access)、vc 等對(duì)solidworks進(jìn)行二次開(kāi)發(fā),建立適合用戶(hù)需要的、專(zhuān)用的solidworks功能模塊, 在此基礎(chǔ)上實(shí)現(xiàn)零件及模具的參數(shù)化驅(qū)動(dòng)。solidworks二次開(kāi)發(fā)通常有兩種形式:一是獨(dú)立應(yīng)用程序(standalone application),用戶(hù)程序作為一個(gè)獨(dú)立的應(yīng)用程
48、序(粒exe),通過(guò)apt接口調(diào)用 solidworks提供的服務(wù),完成對(duì)solidworks的控制和操作;二是插件形式 (add-lnapplication),用戶(hù)程序作為一個(gè)插件(*. dll)集成到solidworks中去。插 件形式下,用戶(hù)程序跟solidworks程序運(yùn)行在同一進(jìn)程空間,運(yùn)行效率高,而且用戶(hù) 町以在solidworks中添加自la的菜單、工具欄、屬性頁(yè)等,使用戶(hù)程序跟solidworks 程序渾然融為一體。由丁插件程序跟solidworks運(yùn)行在同一進(jìn)程空間,插件程序的異 常會(huì)導(dǎo)致solidworks程序的不穩(wěn)定,因此在做開(kāi)發(fā)時(shí)也要更加小心。相對(duì)應(yīng)的獨(dú)立應(yīng) 用程序跟s
49、olidworks程序運(yùn)行在不同的進(jìn)程空間,客戶(hù)程序的異常不會(huì)影響 solidworks,但由于涉及到跨進(jìn)程調(diào)用,它的效率會(huì)相對(duì)比較低,而且這種方式下用戶(hù) 不町以在solidworks中添加自(2的菜單、工具欄和屬性頁(yè)等。由于vb易學(xué)易用,滿足 基本設(shè)計(jì)要求,因此,木文采用vb做為開(kāi)發(fā)語(yǔ)言,以插件的形式添加到sol idworks中。在采用vb所實(shí)現(xiàn)的solidworks二次開(kāi)發(fā)應(yīng)用中,客戶(hù)通過(guò)vb編寫(xiě)的應(yīng)用程序 為客戶(hù)程序,solidworks是服務(wù)程序,vb編寫(xiě)的應(yīng)用程序驅(qū)動(dòng)solidworks完成指定 工作。其基本思路是在solidworks環(huán)境中,任意選定某一型號(hào)的標(biāo)準(zhǔn)件,按照正確的
50、設(shè)計(jì)關(guān)系繪制標(biāo)準(zhǔn)件的模型,當(dāng)需耍生成另一規(guī)格的標(biāo)準(zhǔn)件吋,可根據(jù)用戶(hù)給定的相關(guān) 約束變量參數(shù)值,對(duì)已定義好的標(biāo)準(zhǔn)模型的和應(yīng)約束關(guān)系進(jìn)行修改與求解,使其兒何 元素和特征的兒何或拓?fù)潢P(guān)系發(fā)生改變,并引起相關(guān)圖形元索及關(guān)系的聯(lián)動(dòng),生成所 需零件,即零件設(shè)計(jì)采用尺寸驅(qū)動(dòng)方式進(jìn)行設(shè)計(jì)。由于標(biāo)準(zhǔn)件均為系列化零件,因此設(shè) 計(jì)時(shí)可用access建立各類(lèi)標(biāo)準(zhǔn)件參數(shù)數(shù)據(jù)庫(kù),供用戶(hù)設(shè)計(jì)時(shí)選用相應(yīng)規(guī)格零件。本設(shè) 計(jì)用access建立了緊固件、連接件、滾動(dòng)軸承、鍵等標(biāo)準(zhǔn)件的參數(shù)數(shù)據(jù)庫(kù),用vb編 程實(shí)現(xiàn)solidworks下各類(lèi)標(biāo)準(zhǔn)件三維實(shí)體圖形的生成。系統(tǒng)基木框架如圖2.4所示, 即以面向?qū)ο蟮膙b語(yǔ)言為客戶(hù)端,結(jié)合ac
51、cess建立標(biāo)準(zhǔn)件參數(shù)庫(kù),通過(guò)activex automation技術(shù)控制服務(wù)端solidworks自身二次開(kāi)發(fā)接口 api函數(shù),調(diào)用其對(duì)象、 屬性、方法,實(shí)現(xiàn)solidworks的二次開(kāi)發(fā)。圖2.4系統(tǒng)開(kāi)發(fā)框架圖2. 3. 8數(shù)據(jù)庫(kù)技術(shù)1.數(shù)據(jù)庫(kù)技概括數(shù)據(jù)庫(kù)技術(shù)是應(yīng)數(shù)據(jù)管理任務(wù)的需求而產(chǎn)生的,從五十年代以來(lái),隨著計(jì)算機(jī)軟碩 件的飛速發(fā)展,數(shù)據(jù)管理技術(shù)己經(jīng)經(jīng)歷了人工管理、文件管理和數(shù)據(jù)庫(kù)系統(tǒng)三個(gè)階段。 20世紀(jì)60年代末,軟硬件技術(shù)的發(fā)展,為數(shù)據(jù)庫(kù)技術(shù)的發(fā)展提供了良好的基礎(chǔ),數(shù)據(jù)庫(kù) 管理系統(tǒng)取代了傳統(tǒng)的文件管理系統(tǒng),在各個(gè)領(lǐng)域獲得了廣泛的應(yīng)用。數(shù)據(jù)庫(kù)系統(tǒng)(databasesystem,簡(jiǎn)稱(chēng)db
52、s)是由數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)管理系統(tǒng)、應(yīng)用系統(tǒng)、 數(shù)據(jù)庫(kù)管理員和用戶(hù)構(gòu)成的人機(jī)系統(tǒng)。數(shù)據(jù)庫(kù)(database,簡(jiǎn)稱(chēng)db)是長(zhǎng)期存儲(chǔ)在計(jì)算機(jī) 上的、有結(jié)構(gòu)的、可共享的數(shù)據(jù)集合。數(shù)據(jù)庫(kù)管理系統(tǒng)(databasemanagement system, 簡(jiǎn)稱(chēng)dbms)是科學(xué)地組織和存儲(chǔ)數(shù)據(jù)、有效獲取和維護(hù)數(shù)據(jù)的系統(tǒng)軟件。它是位于用戶(hù) 和操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件。數(shù)據(jù)庫(kù)結(jié)構(gòu)一般分為層次模型、網(wǎng)狀模型和關(guān)系模型。(1) .層次模型(hierarchalm odel)用樹(shù)結(jié)構(gòu)表示實(shí)體之間的聯(lián)系,樹(shù)有結(jié)點(diǎn)和連線組成,節(jié)點(diǎn)表示實(shí)體集,連線表示 相連兩實(shí)體z間的關(guān)系,這種關(guān)系只能是1:n關(guān)系。(2) .網(wǎng)狀模型(n
53、etworkm odel)這種模型允許有零個(gè)或多個(gè)節(jié)點(diǎn)而無(wú)父節(jié)點(diǎn),它可直接表示m:n關(guān)系。(3) .關(guān)系模型(relationalm odel)關(guān)系模型由關(guān)系、關(guān)系上定義的操作和對(duì)關(guān)系的完整性的規(guī)則組成。它的二位表由 兩部分組成:一是表格的名字和屬性的名字,二是具體的數(shù)值。關(guān)系模型和層次模型、 網(wǎng)狀模型的區(qū)別在于它通過(guò)表格數(shù)據(jù)而不是通過(guò)指針連接來(lái)表示和實(shí)現(xiàn)兩實(shí)體間的關(guān) 系。以關(guān)系模型為基礎(chǔ)的數(shù)據(jù)庫(kù)就是關(guān)系數(shù)據(jù)庫(kù),具有數(shù)據(jù)結(jié)構(gòu)簡(jiǎn)單、符合工程習(xí)慣、 數(shù)據(jù)獨(dú)立性高及數(shù)學(xué)基礎(chǔ)嚴(yán)密等優(yōu)點(diǎn),是目前數(shù)據(jù)庫(kù)應(yīng)用的主流。數(shù)據(jù)庫(kù)技術(shù)應(yīng)用到cad/cam系統(tǒng)屮,人們希槊能夠利用數(shù)據(jù)庫(kù)技術(shù)有效的管理工程應(yīng) 用小所涉及
54、的圖形、圖像、聲音等更加i!然的信息形式,因此工程數(shù)據(jù)庫(kù)應(yīng)運(yùn)而生。工 程數(shù)據(jù)庫(kù)是指能滿足人們工程活動(dòng)中對(duì)數(shù)據(jù)處理要求的數(shù)據(jù)庫(kù)。它不但要能夠處理常規(guī) 的表格數(shù)據(jù)、曲線數(shù)據(jù)等,還必須能夠處理圖形數(shù)據(jù)。圖形數(shù)據(jù)既有滿足工程繪圖的二 維數(shù)據(jù),乂有產(chǎn)品造型所需要的三維設(shè)計(jì)數(shù)據(jù)。圖形數(shù)據(jù)一般是網(wǎng)狀關(guān)系的層次結(jié)構(gòu), 同一種實(shí)體可能在不同的使用階段使用兒種不同的表示方法,并且須實(shí)現(xiàn)不同表示方法 z間的相互轉(zhuǎn)換。在工程數(shù)據(jù)庫(kù)管理系統(tǒng)edbms (engineering data bases management system)中,數(shù)據(jù)的表現(xiàn)形式不再是單一的實(shí)際參數(shù),由含參數(shù)的過(guò)程(子程序)生成產(chǎn) 品商數(shù)據(jù)也是一
55、種必不可少的表現(xiàn)形式181。2.數(shù)據(jù)庫(kù)接口技術(shù)(access數(shù)據(jù)庫(kù)引擎)visualbasic所編寫(xiě)的數(shù)據(jù)庫(kù)應(yīng)用程序,負(fù)責(zé)的是與用戶(hù)的交互。用該程序可以選擇 數(shù)據(jù)庫(kù)中的數(shù)據(jù)項(xiàng),并把所選擇的數(shù)據(jù)項(xiàng)按用戶(hù)的耍求顯示出來(lái)。數(shù)據(jù)庫(kù)系統(tǒng)被稱(chēng)為后 臺(tái)系統(tǒng),通常是關(guān)系表的集合。這時(shí)就涉及到一個(gè)問(wèn)題,應(yīng)用程序如何與后臺(tái)的數(shù)據(jù)庫(kù)建立聯(lián)系呢?首先,數(shù)據(jù)庫(kù)要能支持用戶(hù)的訪問(wèn),其次,用戶(hù)的visualb asic程序可以訪問(wèn)這些 數(shù)據(jù)庫(kù),這兩點(diǎn)很關(guān)鍵。數(shù)據(jù)庫(kù)有三種方式支持應(yīng)用程序的訪問(wèn),即通過(guò)access數(shù)據(jù)庫(kù)引擎、microsoft odbc驅(qū)動(dòng)程序、第三方odbc驅(qū)動(dòng)程序。visualbasicg. 0應(yīng)用程序屮
56、支持多dbms來(lái)開(kāi)發(fā)數(shù)據(jù)庫(kù),這種方法稱(chēng)作odbc, odbc是 microsoft's window的開(kāi)放式服務(wù)體系結(jié)構(gòu)數(shù)據(jù)庫(kù)部分,是一個(gè)用于訪問(wèn)多種數(shù)據(jù)庫(kù)的 統(tǒng)一的界面標(biāo)準(zhǔn)。odbc實(shí)際是一個(gè)數(shù)據(jù)庫(kù)訪問(wèn)庫(kù),但是只提供一個(gè)統(tǒng)一的應(yīng)用程序接口 (apt) o這樣利用odbc可以避免應(yīng)用程序隨數(shù)據(jù)庫(kù)的改變而改變。odbc通過(guò)使用數(shù)據(jù)庫(kù) 驅(qū)動(dòng)程序獲得數(shù)據(jù)庫(kù)的獨(dú)立性,驅(qū)動(dòng)程序所提供的標(biāo)準(zhǔn)接口允許應(yīng)用程序開(kāi)發(fā)者和驅(qū)動(dòng) 程序提供者在應(yīng)用程序之間傳遞數(shù)據(jù)1191 o對(duì)visualbasic而言,其內(nèi)置為microsoft access數(shù)據(jù)庫(kù),可以提供不遜色于專(zhuān)業(yè)數(shù) 據(jù)庫(kù)軟件的支持,叮以進(jìn)行完整的數(shù)據(jù)
57、庫(kù)維護(hù)、操作及事務(wù)處理。在visualbasic中, 將非access數(shù)據(jù)庫(kù)稱(chēng)為外來(lái)數(shù)據(jù)庫(kù)。對(duì)t'foxpro, dbase, paradox等外來(lái)數(shù)據(jù)庫(kù),雖然 借助visualb asic的datam anager能夠?qū)@些數(shù)據(jù)庫(kù)進(jìn)行new,open, design, delete等操作,但在應(yīng)用程序的運(yùn)行狀態(tài)屮不能從底層真正 實(shí)現(xiàn)這些功能。visualbasic的核心結(jié)構(gòu)是所謂的microsoftjet數(shù)據(jù)庫(kù)引擎。jet引擎的作用就像是 一塊"面板”在其上可以插入多種tsam( tndexeds equentiala ccessm ethod,即索引 順序存取方法)數(shù)據(jù)庫(kù)
58、驅(qū)動(dòng)程序。jet引擎為access格式數(shù)據(jù)庫(kù)提供了直接的內(nèi)建 (build-in)支持,這就是visual basic對(duì)access數(shù)據(jù)庫(kù)具有豐富支持的真正原因。因此,我們利用visualbasic對(duì)access數(shù)據(jù)庫(kù)的方便、實(shí)用和直接的內(nèi)建(build-in) 支持,采用access作為數(shù)據(jù)源,這為開(kāi)發(fā)機(jī)床夾具零部件庫(kù)帶來(lái)了極大的方便。3. solidworks -次開(kāi)發(fā)的一般過(guò)程3.1用vb開(kāi)發(fā)solidworks的一般步驟用visual basic作為開(kāi)發(fā)工具,因?yàn)椴捎玫氖莇ll動(dòng)態(tài)鏈接庫(kù)方式,必須先在visual basic進(jìn)行二次開(kāi)發(fā)的步驟如下: 安裝sol idworks和vi s
59、ual bas ic0 啟動(dòng)visual basic,新建一個(gè)工程,導(dǎo)入所需要的3種類(lèi)型庫(kù)(如圖3. 1),然 后編寫(xiě)代碼。在任何情況下,編寫(xiě)的代碼應(yīng)該類(lèi)似于有solidworks的宏工 具所產(chǎn)生 的代碼,在solidworks中,應(yīng)用記錄宏(“工具”-> “宏”-> “錄制”)來(lái)獲得程序 頭部和應(yīng)用程序的代碼是十分有用的。如果日常事務(wù)僅僅是訪問(wèn)solidworks apt,則不必編譯應(yīng)用程序,只需visual basic 創(chuàng)建應(yīng)用程序,文件擴(kuò)展名設(shè)為swp而不是.bas即可。solidworks的宏文件(*. swp) *導(dǎo)入所需要的3種類(lèi)型庫(kù):sldworks 2007 type library>
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 【核動(dòng)力】2022屆高三物理一輪復(fù)習(xí)章末綜合檢測(cè)七-第7章-恒定電流-
- 2024年離婚雙方房產(chǎn)分割具體合同書(shū)
- 2025年度服裝品牌授權(quán)經(jīng)銷(xiāo)合同協(xié)議3篇
- 黃岡湖北黃岡市蘄春縣教育系統(tǒng)赴高校招聘2025應(yīng)屆高校畢業(yè)生46人筆試歷年典型考點(diǎn)(頻考版試卷)附帶答案詳解
- 貨運(yùn)代理合同法律風(fēng)險(xiǎn)防范考核試卷
- 鐵路車(chē)輛懸掛系統(tǒng)設(shè)計(jì)與性能測(cè)試考核試卷
- 儀器復(fù)雜形狀的3D打印實(shí)現(xiàn)-洞察分析
- 移動(dòng)支付與本地生活服務(wù)-洞察分析
- 體育傳播與媒體融合-洞察分析
- 物聯(lián)網(wǎng)協(xié)議標(biāo)準(zhǔn)-洞察分析
- 垃圾清運(yùn)服務(wù)投標(biāo)方案技術(shù)方案
- 電子工程師職位合同
- 2025屆青海省西寧二十一中學(xué)七年級(jí)數(shù)學(xué)第一學(xué)期期末考試試題含解析
- 湖北省宜昌市2025屆九年級(jí)物理第一學(xué)期期末達(dá)標(biāo)測(cè)試試題含解析
- DL-T5394-2021電力工程地下金屬構(gòu)筑物防腐技術(shù)導(dǎo)則
- 兒科護(hù)理技術(shù)操作規(guī)范
- 2024年江蘇宿遷經(jīng)濟(jì)技術(shù)開(kāi)發(fā)區(qū)城市管理輔助人員招聘筆試參考題庫(kù)附帶答案詳解
- 馬拉松賽事運(yùn)營(yíng)服務(wù)方案
- 陽(yáng)光少年體驗(yàn)營(yíng)輔導(dǎo)員工作總結(jié)
- 國(guó)家能源集團(tuán)考試試題
- 2024銷(xiāo)售業(yè)績(jī)深度總結(jié)報(bào)告
評(píng)論
0/150
提交評(píng)論