基于 So1idworks專用夾具通用件庫的開發(fā)及應(yīng)用
《基于 So1idworks專用夾具通用件庫的開發(fā)及應(yīng)用》由會(huì)員分享,可在線閱讀,更多相關(guān)《基于 So1idworks專用夾具通用件庫的開發(fā)及應(yīng)用(43頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
第 1 頁 共 36 頁畢 業(yè) 論 文基于 So1idworks專用夾具通用件庫的開發(fā)及應(yīng)用學(xué)生姓名: 學(xué)號(hào): 學(xué) 院: 專 業(yè): 指導(dǎo)教師: 年 6 月機(jī)械工程與自動(dòng)化學(xué)院機(jī)械設(shè)計(jì)制造及其自動(dòng)化第 2 頁 共 36 頁基于 So1idworks專用夾具通用件庫的開發(fā)及應(yīng)用摘要夾具在機(jī)械加工中起著重要的作用,它直接影響著機(jī)械加工的質(zhì)量、生產(chǎn)效率和成本。要加工結(jié)構(gòu)和尺寸都比較特殊的工件就必須設(shè)計(jì)專用夾具。在產(chǎn)品相對(duì)穩(wěn)定、批量較大的生產(chǎn)中,采用專用夾具可獲得較高的生產(chǎn)率和加工精度。隨著現(xiàn)代多品種、中小批量生產(chǎn)的發(fā)展,傳統(tǒng)的夾具設(shè)計(jì)方式己成為企業(yè)中產(chǎn)品快速上市的瓶頸,企業(yè)迫切需要提高夾具設(shè)計(jì)的效率。為構(gòu)建一個(gè)能支持產(chǎn)品快速制造的生產(chǎn)準(zhǔn)備系統(tǒng),夾具設(shè)計(jì)要從全局自動(dòng)化的高度進(jìn)行變革。計(jì)算機(jī)輔助夾具設(shè)計(jì)正是為了適應(yīng)這一要求而產(chǎn)生的,而且已經(jīng)成為國(guó)際上競(jìng)相研究的熱點(diǎn)。本文結(jié)合國(guó)內(nèi)外機(jī)床夾具設(shè)計(jì)的現(xiàn)狀,廣泛研究了國(guó)內(nèi)外 CAFD 系統(tǒng),針對(duì)國(guó)內(nèi)制造業(yè)中存在的問題,以實(shí)用性、高效性為指導(dǎo)思想,以建立機(jī)床夾具通用件庫為切入點(diǎn),提出了設(shè)計(jì)專用夾具 CAD 系統(tǒng)((Computer Aided Special Fixture Design,CASFD)的新觀點(diǎn),并付諸實(shí)現(xiàn)。通過調(diào)查、比較和分析各類 CAD 軟件在國(guó)內(nèi)的應(yīng)用現(xiàn)狀,從開發(fā)的難易程度、可移植性、易維護(hù)性等方面考慮,SolidWorks 是一種非常優(yōu)秀的三維機(jī)械設(shè)計(jì)軟件,但是它缺少國(guó)家標(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ā),專用夾具通用件的標(biāo)準(zhǔn)參數(shù)可以用 Access 來管理。所以選定以三維設(shè)計(jì)軟件 SolidWOrks 作為開發(fā)平臺(tái),綜合運(yùn)用 VisualBasic 編程技術(shù)和 Aeeess 數(shù)據(jù)庫管理技術(shù),利用 SolidWOrksAPI 強(qiáng)大的二次開發(fā)功能,開發(fā)完成了基于特征造型、參數(shù)化驅(qū)動(dòng)生成零部件的機(jī)床夾具三維通用件庫?;诖?,本文主要研究了以下幾個(gè)方面:第 3 頁 共 36 頁1.介紹了計(jì)算機(jī)輔助夾具設(shè)計(jì)系統(tǒng)的發(fā)展概況和研究現(xiàn)狀。2.分析快速設(shè)計(jì)、模塊化、并行設(shè)計(jì)等現(xiàn)代設(shè)計(jì)方法對(duì) CAFD 系統(tǒng)的影響,研究了參數(shù)化技術(shù)、數(shù)據(jù)管理技術(shù)及數(shù)據(jù)庫技術(shù)在 CAFD 系統(tǒng)中的應(yīng)用。3.利用 Solidwoks 三維繪圖軟件繪制了大量的夾具通用件三維模型,建立了CASFD 系統(tǒng)的數(shù)據(jù)庫和圖形庫。4.應(yīng)用 VB 和 Solidworks API 函數(shù)對(duì) Solidworks 進(jìn)行二次開發(fā),生成了Solidworks 插件,創(chuàng)建了人機(jī)交互參數(shù)化界面,并實(shí)現(xiàn)了插件與 Solidworks 的無縫連接。關(guān)鍵詞:參數(shù)化驅(qū)動(dòng);特征造型;機(jī)床夾具通用件庫 ; Solidworks;CAFDBased So1idworksGeneral Parts Library for special fixtures and Application DevelopmentABSTRACTFixture is Playing a very important role in machining,which influence the quality of machining,Production efficiency and cost direetly.SPecial fixture must be designed when workpiece with complex strueture and size is proeessed.With the development of modern multi-variety and small batch production, traditional fixture design has become the bottleneck of rapid Production coming-into-the-market.So enterprises cry for promoting the effieieney of designing fixture.In order to build a production preparation system supporting rapid manufacturing of production,fixture design must be reformed based on global automation. CAFD is generated for adapting to the requirement and has beeome the focus of intemational study.第 4 頁 共 36 頁Through investigating,comparing,analyzing the variable CAD software and thinking about the degree of difficulty,transportability and maintainability. The SolidWorks is a real fair 3D machine design software, But it be in defect of the Lib of the national standard parts, that works to bring for machine design very inconvenient. VB is a easily study, and powerful computer high class language, Access is an easy usage, and powerful DBMS. The SolidWorks provided mass API functions base the OLE Automation technique, Can be use the VB to development two times for it, the special fixture parts common standard parameters can use the Access to manage.So the 3D CAD software SolidWorks is seleeted as the developing Platform and VisualBasie6.0 program technique and database management technique of Aceess is utilized.By the seeondary development function of Solidwbrks API, a feature- based and paramete- driven parts library for machine tool fixture are developed.Based on that,such main works are studied in this Paper.1.The development and research statement of CAFD are introduced.2.The effeetion on CAFD system exerted by modem design methods isanalyzed,such as RaPid Design, Coneurrent Design etc.The apPlieation in CAFD of Parametrie,DataManagement and Data Base is studied. 3.Many drawings of the standardized Parts and components hav been drawn and the Data Base and GraPhic Base are created for CASFD.4.Describing the seeondary development of Solidworks based on VB andSolidworks API funetion, Generating Solidworks menu Plug- in andHuman-comPuter interaction dialog box, and seamless conneetion between Solidwbrks and general standard Parts library is realized at last.KcyWords:Parameter Driving; Feature Modeling; Machine Fixture Genera1 Parts Solidworks API;CAFD.第 5 頁 共 36 頁目 錄1、引言…………………………………………………………………………… 11.1 設(shè)計(jì)目的和意義……………………………………………………………11.2 機(jī)床夾具的現(xiàn)狀和發(fā)展方向……………………………………………… 21.2.1 機(jī)床夾具的現(xiàn)狀……………………………………………………… 21.2.2 機(jī)床夾具的發(fā)展方向……………………………………………………… 31.3 論文各部分主要內(nèi)容……………………………………………………… 32.solidworks 二次開發(fā)及其 API 函數(shù)的簡(jiǎn)介…………………………………… 32.1 相關(guān)術(shù)語 ………………………………………………………………… 42.2SolidworksAPI 函數(shù)介紹 ……………………………………… 6 2.2.1 Solidworks 的對(duì)象模型 ……………………………………… 62.2.2 對(duì)象的屬性和方法 ……………………………………………………… 62.2.3 更多的 Solidworks 的 API 函數(shù)介紹……………………………………… 92.3 VB 開發(fā) Solidworks 的基本原理…………………………………………… 92.4 VB 開發(fā) Solidworks 的一般步驟……………………………………………112.5 開發(fā)方式選擇方法……………………………………………………………122.6 Solidworks 的 API 函數(shù)語法 ………………………………………………… 123. 簡(jiǎn)單標(biāo)準(zhǔn)件的開發(fā)與實(shí)現(xiàn)………………………………………………… 143.1 十字墊圈的設(shè)計(jì)……………………………………………………… 133.1.1 建立墊圈對(duì)話框……………………………………………………… 133.1.2 程序的設(shè)計(jì)……………………………………………………… 133.1.3 建立數(shù)據(jù)庫………………………………………………………14第 6 頁 共 36 頁3.1.4 程序運(yùn)行及結(jié)果……………………………………………………… 163.2 定向鍵的設(shè)計(jì)……………………………………………………… 163.2.1 定向鍵對(duì)話框的建立………………………………………………………173.2.2 程序的設(shè)計(jì)……………………………………………………… 183.2.3 建立數(shù)據(jù)庫……………………………………………………… 183.24 程序的運(yùn)行及結(jié)果……………………………………………………… 203.3 固定式定位銷的設(shè)計(jì)……………………………………………………… 213.3.1 定位銷對(duì)話框的建立…………………………………………………… 213.3.2 程序的設(shè)計(jì)……………………………………………………… 223.3.3 建立定位銷數(shù)據(jù)庫……………………………………………………… 233.4 圓形對(duì)刀塊的設(shè)計(jì)………………………………………………………243.4.1 對(duì)刀塊對(duì)話框的建立…………………………………………………… 243.4.2 程序的設(shè)計(jì)……………………………………………………… 253.4.3 建立對(duì)刀塊數(shù)據(jù)庫……………………………………………………… 263.4.4 程序運(yùn)行及結(jié)果……………………………………………………… 284.設(shè)計(jì)的具體實(shí)現(xiàn)……………………………………………………… 294.1 在 Solidworks 軟件下添加菜單及子菜單 ………………………………… 294.2 程序的運(yùn)行及結(jié)果……………………………………………………… 325.結(jié)論………………………………………………………………………… 32致謝…………………………………………………………………………… 34參考文獻(xiàn)…………………………………………………………………………35第 7 頁 共 36 頁1. 引言1.1 課題研究的目的及意義機(jī)床夾具是機(jī)械制造過程中最常用的一種工藝裝備,其主要作用是保證加工精度,提高勞動(dòng)生產(chǎn)率,擴(kuò)大機(jī)床的使用范圍和保證生產(chǎn)安全,因此機(jī)床夾具在機(jī)械制造中占有很重要的地位。機(jī)床專用夾具是為完成某一工件的某工序而專門設(shè)計(jì)的工藝裝備。在傳統(tǒng)的專用夾具設(shè)計(jì)過程中,由于工藝裝備尤其是夾具零部件的標(biāo)準(zhǔn)化、系列化、規(guī)格化程度差,傳統(tǒng)的設(shè)計(jì)方法在資料檢索、繪圖、編制技術(shù)文件等方面均由人工完成,這不僅需要大量的人力、物力和較長(zhǎng)的周期,且由于人為因素使設(shè)計(jì)精度和質(zhì)量受到影響 。因此快速實(shí)現(xiàn)夾具設(shè)計(jì)己成為企業(yè)的迫切要求。將計(jì)算機(jī)輔助[1]設(shè)計(jì)技術(shù)(Computer Aided Fixture Design,CAFD)應(yīng)用到夾具設(shè)計(jì)的過程也就成為解決這一問題的必然選擇。夾具可分為通用夾具、組合夾具、專用夾具等幾類。通用夾具己完全標(biāo)準(zhǔn)化,由專業(yè)廠家生產(chǎn)、市場(chǎng)有售。組合夾具和專用夾具要滿足生產(chǎn)要求,在設(shè)計(jì)時(shí)需要進(jìn)行一系列的定位、夾緊、裝配設(shè)計(jì),成為制造企業(yè)面廣量大且繁重的工作。組合夾具是由一套預(yù)先制造好的標(biāo)準(zhǔn)元件組成,可針對(duì)不同的加工對(duì)象進(jìn)行裝配以獲得可滿足要求的夾具。使用完畢后,可拆散成元件和組件 ,且夾具元件的[2]第 8 頁 共 36 頁配合尺寸具有完全互換性,可以重復(fù)使用。組合夾具的設(shè)計(jì)主要是擬定組裝方案、進(jìn)行裝配設(shè)計(jì)。CAFD 首先在組合夾具設(shè)計(jì)上得到較多的研究 ,采用先進(jìn)的計(jì)算[3]機(jī)拼裝方法和手段提高拼裝效率和質(zhì)量,進(jìn)行組合夾具的設(shè)計(jì)和元件管理,這使得組合夾具 CAD 的研究及開發(fā)取得了較快的發(fā)展。對(duì)于加工結(jié)構(gòu)和尺寸都比較特殊的工件,組合夾具很難滿足其要求,必須設(shè)計(jì)專用夾具。而且大批量生產(chǎn)時(shí),專用夾具是最經(jīng)濟(jì)的選擇。專用夾具是為完成某一工件的某一工序而專門設(shè)計(jì)的工藝設(shè)備。與組合夾具相比,專用夾具具有以下特殊的優(yōu)點(diǎn):(l)能確保工件的加工精度;(2)總體方案與生產(chǎn)綱領(lǐng)相適應(yīng);(3)操作方便,能減輕工人的勞動(dòng)強(qiáng)度;(4)便于排屑,有良好的結(jié)構(gòu)工藝性。傳統(tǒng)的專用夾具設(shè)計(jì)需要耗費(fèi)大量的時(shí)間進(jìn)行設(shè)計(jì)計(jì)算,需要經(jīng)驗(yàn)豐富的夾具設(shè)計(jì)人員來完成,勞動(dòng)量大,效率低 。[4]由于機(jī)床專用夾具結(jié)構(gòu)依賴于產(chǎn)品的結(jié)構(gòu)特征和企業(yè)的工藝水平,因而使其結(jié)構(gòu)設(shè)計(jì)變得復(fù)雜和不確定,長(zhǎng)期以來一直是企業(yè)制造過程中提高生產(chǎn)效率的瓶頸環(huán)節(jié) 。專用夾具作為一種特殊的產(chǎn)品,需要豐富的設(shè)計(jì)經(jīng)驗(yàn),設(shè)計(jì)人員的經(jīng)[5]驗(yàn)與技能將直接影響著設(shè)計(jì)結(jié)果。而現(xiàn)有的一些通用 CAD 軟件只能完成一些諸如繪圖,三維建模等方面的工作,計(jì)算機(jī)對(duì)設(shè)計(jì)人員的輔助作用非常有限,設(shè)計(jì)的自動(dòng)化程度也很低,據(jù)統(tǒng)計(jì)僅標(biāo)準(zhǔn)件建模就占設(shè)計(jì)工作量的 50%以上,僅標(biāo)準(zhǔn)件建模一項(xiàng),就需花費(fèi)工程技術(shù)人員大量的寶貴時(shí)間。然而,國(guó)內(nèi)外在對(duì)機(jī)床夾具的研究方面,大多是集中在對(duì)組合 和柔順拼裝夾具 ,基于 AuToCAD 二維環(huán)境[6] [7]下開發(fā)的,而對(duì)占夾具總量 60%以上的機(jī)床專用夾具則研究較少 。目前迫切需[8]要開發(fā)專用夾具 CAD 系統(tǒng)(Computer Aided Special Fixture Design,CASFD)。1.2 機(jī)床夾具的現(xiàn)狀及發(fā)展方向1.2.1 機(jī)床夾具的現(xiàn)狀機(jī)床夾具是由定位元件(或組件)、對(duì)刀元件、導(dǎo)向元件(或組件)、夾緊元件(或組件)及夾具體等幾個(gè)基本單元組成。機(jī)床夾具的設(shè)計(jì)的特點(diǎn)主要體現(xiàn)在:夾具的各個(gè)組成部分可以分別進(jìn)行設(shè)計(jì)。與一般的產(chǎn)品設(shè)計(jì)相比,夾具設(shè)計(jì)的重構(gòu)性還是比較強(qiáng)的。國(guó)際生產(chǎn)研究協(xié)會(huì)的統(tǒng)計(jì)表明,目前中、小批多品種生產(chǎn)的工件品種已占工件種類總數(shù)的 85%左右?,F(xiàn)代生產(chǎn)要求企業(yè)所制造的產(chǎn)品品種經(jīng)常更新?lián)Q代,以第 9 頁 共 36 頁適應(yīng)市場(chǎng)激烈的競(jìng)爭(zhēng)。然而,一般企業(yè)仍習(xí)慣于大量采用傳統(tǒng)的專用夾具。另一方面,在多品種生產(chǎn)的企業(yè)中,約隔四年就要更新 80%的專用夾具,而夾具的實(shí)際磨損量?jī)H為 15%左右 。特別是近幾年來,數(shù)控機(jī)床(NC)、加工中心(MC)、成[9]組技術(shù)(GT)、柔性制造系統(tǒng) (FMS)等新技術(shù)的應(yīng)用,對(duì)機(jī)床夾具提出了如下新要求:(1)能迅速而方便地裝備新產(chǎn)品的投產(chǎn),以縮短生產(chǎn)準(zhǔn)備周期,降低生產(chǎn)成本。(2)能裝夾一組具有相似特征的工件。(3)適用于精密加工的高精密機(jī)床夾具。(4)適用于各種現(xiàn)代化制造技術(shù)的新型機(jī)床夾具。(5)采用液壓或氣壓夾緊的高效夾緊裝置,以進(jìn)一步提高勞動(dòng)生產(chǎn)率。(6)提高機(jī)床夾具的標(biāo)準(zhǔn)化程度。1.2.2 現(xiàn)代機(jī)床夾具的發(fā)展方向現(xiàn)代機(jī)床夾具的發(fā)展方向主要表現(xiàn)為精密化、高效化、柔性化、標(biāo)準(zhǔn)化四個(gè)方面:精密化 隨著產(chǎn)品精度的日益提高,勢(shì)必相應(yīng)提高了對(duì)夾具的精度要求。高效化 高效化夾具主要用來減少工件加工的基本時(shí)間和輔助時(shí)間,以提高勞動(dòng)生產(chǎn)率,減輕工人的勞動(dòng)強(qiáng)度。常見的高效化夾具有:自動(dòng)化夾具、高速化夾具、具有夾緊動(dòng)力裝置的夾具等。柔性化 機(jī)床夾具的柔性化與機(jī)床的柔性化相似,它是指機(jī)床夾具通過調(diào)整、拼裝、組合等方式,以適應(yīng)可變因素的能力。具有柔性化特征的新型夾具種類主要有:組合夾具、通用可調(diào)夾具、成組夾具、拼裝夾具、數(shù)控機(jī)床夾具等。標(biāo)準(zhǔn)化 機(jī)床夾具的標(biāo)準(zhǔn)化與通用化是相互聯(lián)系的兩個(gè)方面。在制定典型夾具結(jié)構(gòu)的基礎(chǔ)上,首先進(jìn)行夾具元件和部件的通用化,建立類型尺寸系列或變型,以減少功能用途相近的夾具元件和部件的形式,摒除一些功能低劣的結(jié)構(gòu)。1.3 論文各部分主要內(nèi)容SolidWorks 作為機(jī)械類的三維 CAD 軟件,對(duì)于具體的用戶可能有不同的應(yīng)用??蛻糇约航⑾嚓P(guān)的軟件,使得 SolidWorks 能更好的成為開發(fā)管理方面的優(yōu)秀應(yīng)用軟件。第 10 頁 共 36 頁論文的第二章介紹了本次設(shè)計(jì)的相關(guān)知識(shí),并對(duì) SolidWorks 的使用作了簡(jiǎn)明的介紹。第三章闡述了簡(jiǎn)單標(biāo)準(zhǔn)件的設(shè)計(jì),對(duì)系統(tǒng)設(shè)計(jì)作了具體的分析。第四章介紹了本次設(shè)計(jì)的具體實(shí)現(xiàn),即菜單的加入和調(diào)試。第五章是對(duì)這次設(shè)計(jì)的總結(jié)。最后是謝詞,參考文獻(xiàn)。當(dāng)然,設(shè)計(jì)中還存在很多的不足和漏洞,希望廣大的老師和同學(xué)能幫助我找出并加以改進(jìn),本人在此感激不盡。2 Solidworks 的二次開發(fā)及其 API 函數(shù)簡(jiǎn)介2.1 相關(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)用程序之間能夠通過數(shù)據(jù)的嵌入或連接的方式來共享數(shù)據(jù)。含有嵌入或連接文檔的應(yīng)用程序被稱為容器程序,提供文檔數(shù)據(jù)編輯的應(yīng)用程序被稱為服務(wù)器程序。OLE2.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ā)展為ActiveX Automation,它適用于 OLE 對(duì)象和 ActiveX 對(duì)象。自動(dòng)化技術(shù)由客戶程序和服務(wù)器程序組成,客戶程序是操縱者與控制者,服務(wù)器程序是被控制者,它包含了一系列的暴露對(duì)象。服務(wù)器應(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),完全實(shí)現(xiàn)了 OLE 自動(dòng)化,前已提及,第 11 頁 共 36 頁SolidWoks 具有開放的結(jié)構(gòu)體系,它的這種開放性體現(xiàn)在它所提供的 API 對(duì)象上。API 是一個(gè)對(duì) SolidWoks 的應(yīng)用編程接口(Application Programming Interface),包含了幾百個(gè)對(duì)象及其屬性、方法和事件,這正是 SolidWoks 為用戶提供的功能強(qiáng)大的二次開發(fā)接口,凡支持 OLE 編程的開發(fā)工具,如 Visual C++、Visual Basic、Dephi 等均可從各自本身操作這些對(duì)象,從而直接行使 SolidWoks 的功能,如畫一條直線,拉伸一個(gè)凸臺(tái),或修改一個(gè)表面的參數(shù)等。利用這種方法可以完成 SolidWoks 的二次開發(fā),創(chuàng)建出用戶定制的、專用的 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)制之間進(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 的一種集成策略。OLE Automation 技術(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(Object Linking and Embedding)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)中的零件變的有可能而且容易。第 12 頁 共 36 頁尺寸驅(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)相同而尺寸不同的零件,每一類標(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ì)準(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ù)庫中取得)。2.2 SolidWorks 的 API 函數(shù)介紹2.2.1 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) ,或者說, 特殊對(duì)象是這個(gè)一般對(duì)象的子類(SubClass) ,子類繼承父類的所有屬性和操作,除此以外子類還可以定義自己特有的屬性和操作。繼承是對(duì)象類的一種特例化關(guān)系,亦即集合包含關(guān)系,子類對(duì)象實(shí)例集合是父類對(duì)象實(shí)例集合的子集。對(duì)象模型SolidWorks 的對(duì)象模型是一個(gè)多層次的對(duì)象網(wǎng)絡(luò),如圖2.1所示。最高級(jí)別的對(duì)象類是SolidWorks ,該對(duì)象中封裝了很多方法 (Methods) , 如OpenDoc2 、ActivateDoc2 、CloseDoc、ExitApp,下面又創(chuàng)建了許多子類, 如ModelDoc、Environment 、Frame。本文將重點(diǎn)介紹 ModelDoc 對(duì)象,因?yàn)榇蟛糠掷L第 13 頁 共 36 頁圖操作都在ModelDoc 對(duì)象中, 如SelectByID (選擇) 、CreateCircle2 ( 畫圓) 、CreateLine2 ( 畫直線)。ModelDoc 中又創(chuàng)建了PartDoc、AssemblyDoc、DrawingDoc 等子類。其中大部分實(shí)體建模操作都在PartDoc 對(duì)象中,如FeatureExtrusion (拉伸) 、FeatureRevolve (旋轉(zhuǎn));而相關(guān)的裝配操作如AddComponent (插入零部件) 、AddMate (插入配合) 等都在AssemblyDoc 對(duì)象中。2.2.2 對(duì)象的屬性和方法在SolidWorks 創(chuàng)建的對(duì)象中,每個(gè)對(duì)象都有自己的屬性和方法,通過調(diào)用API 函數(shù)實(shí)現(xiàn),反過來,應(yīng)用SolidWorks 的每一步操作都體現(xiàn)在特定的對(duì)象類中。下面以VB 為開發(fā)平臺(tái)介紹其一些常用的API 函數(shù)。連接SolidWorks在對(duì)SolidWorks 進(jìn)行二次開發(fā)時(shí),首先要建立SolidWorks 的連接,創(chuàng)建SolidWorks 的應(yīng)用對(duì)象:Dim swApp As ObjectSet swApp = CreateObject (″SldWorks.Application″)通過這個(gè)函數(shù),就打開了SolidWorks 的接口,可以調(diào)用它的API 函數(shù)了。選擇“選擇”可以說是在使用SolidWorks 時(shí)用得最多的一個(gè)命令,有很多命令在使用時(shí)都要選擇操作對(duì)象,通過調(diào)用ModelDoc 對(duì)象中的SelectByID 函數(shù)來實(shí)現(xiàn):ModelDoc.SelectByID(objectName ,object Type ,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 、Arc1 、Line3 、D1 @ 草圖1 @Part1.SLDPRT;object Type 要輸入對(duì)象的類型,如PLANE (面) 、SKETCHSEGMENT (草圖上的對(duì)象如直線、圓弧等) 、DIMENSION (尺寸標(biāo)注);x , y , z 是平面上任一點(diǎn)的坐標(biāo)值。插入草圖在所選平面上插入草圖,調(diào)用ModelDoc 中的InsertSketch 函數(shù): ModelDoc.InsertSketch ()基本草圖繪制命令第 14 頁 共 36 頁畫直線調(diào)用ModelDoc 對(duì)象中的CreateLine2 函數(shù):ModelDoc.CreateLine2 (xStart ,yStart ,zStart ,xEnd , yEnd , zEnd )[.Const ructionGeomet ry =True ]xStart 、yStart 、zStart 、xEnd、yEnd、zEnd 分別是直線的起點(diǎn)和終點(diǎn)坐標(biāo); Const ructionGeomet ry =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)注尺寸先通過SelectByID 函數(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.FeatureExtrusion(sd,flip,dir,t1,t2,d1 ,d2 ,dchk1 ,dchk2 ,ddir1,ddir2 ,dang1 ,dang2 ,off setReverse1 ,off setReverse2)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í)表示帶拔模角拉伸;dang1 、dang2 為TRUE 時(shí)表示向內(nèi)拔模,為FALSE 是向外拔模;off setRe2verse1 , off setReverse2 控制到離指定面指定的距離,在t1 、t2 為5 時(shí)有效。其中d2 、dchk2 、 ddir2 、dang2 、off setReverse2 在雙向拉伸時(shí)有效。旋轉(zhuǎn)調(diào)用PartDoc 中 FeatureRevolv函數(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 時(shí)有效 ;revTyp 表示旋轉(zhuǎn)類型,為0 時(shí)單方向旋轉(zhuǎn) ,為1 時(shí)雙向等角度旋轉(zhuǎn),為2 時(shí)雙向旋轉(zhuǎn)。倒角調(diào)用ModelDo中的FeatureChamfer2Type 函數(shù):ModelDoc.FeatureChamferType(chamfer Type,width ,angle ,flip ,otherDist ,vertexChamDist1 ,vertexChamDist2 ,vertexChamDist3)chamfer Type 控制倒角的類型,可取下列值: 1(角度- 距離控制) 、2 (距離- 距離控制) 、3 (頂點(diǎn)-第 15 頁 共 36 頁倒角控制) 、 4 (兩邊等距離控制 ) ;width 表示倒角邊距 ;angle 表示倒角角度,僅當(dāng)chamfer Type1 為1 時(shí)有效;otherDist 表示chamfer Type 為2 時(shí)的另一邊距; vertexChamDist1、vertexChamDist2 、vertex2ChamDist3 表示chamfer Type 為3 時(shí)的三個(gè)距離添加菜單為了操作方便,把生成標(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)行訪問處理提供了接口。關(guān)于菜單插件的具體具體實(shí)現(xiàn)方法將在后面談到。2.2.3 更多的SolidWorks的API函數(shù)介紹在這里只是簡(jiǎn)要的介紹SolidWorks的API函數(shù),不可能作到全面的認(rèn)識(shí)或是圖2.1熟悉這些API要了解更多的API知識(shí)可以查看SolidWorks的API和插件幫助主題,如圖2.1。第 16 頁 共 36 頁2.3 VB開發(fā)SolidWorks的基本原理SolidWorks支持ActiveX Automation技術(shù),VB 環(huán)境下建立的客戶程序可以直接訪問SolidWorks中的對(duì)象。ActiveX Automation是Microsoft公司提出的一個(gè)基于COM( Componet Object Model)的技術(shù)標(biāo)準(zhǔn),是以前的OLE( Object Linking and Embeding)技術(shù)的更高層次的發(fā)展,ActiveX Automation被開發(fā)出來的原因就是需要協(xié)調(diào)不同的應(yīng)用程序。Windows 本身準(zhǔn)許同時(shí)運(yùn)行多個(gè)應(yīng)用程序,ActiveX Automation準(zhǔn)許這些應(yīng)用程序互相通訊。每個(gè)應(yīng)用程序可以決定哪些信息和功能可以公布或者暴露給系統(tǒng)上的其它應(yīng)用程序。雖然ActiveX Automation總是在兩個(gè)應(yīng)用程序之間安排對(duì)話,但是這個(gè)對(duì)話不是雙向的,也是不平等的。ActiveX Automation程序的每一塊都包括兩個(gè)程序,起不同的作用,客戶機(jī)是開始對(duì)話的應(yīng)用程序,服務(wù)器是響應(yīng)客戶機(jī)的應(yīng)用程序。代碼在客戶機(jī)上運(yùn)行,而這個(gè)代碼所控制的動(dòng)作由服務(wù)器執(zhí)行。在這里我們將SolidWorks理解為一個(gè)服務(wù)程序,把二次開發(fā)工具的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í)現(xiàn)與SolidWorks相同的功能。 SolidWorks中常用的主要ActiveX Automation 對(duì)象有SolidWorks 的Body Parameter、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è)置與提取,特征所在面的信息提取及各種幾何和拓?fù)湫畔ⅲ涣慵难b配信息;零件工程圖紙中的各項(xiàng)信息等。 第 17 頁 共 36 頁對(duì)SolidWorks進(jìn)行二次開發(fā)。開發(fā)方法主要有兩種方法:一是用人機(jī)交互形式建立模型,設(shè)置合理的設(shè)計(jì)變量,再通過V B 程序驅(qū)動(dòng)設(shè)計(jì)變量實(shí)現(xiàn)模型的更新,這種方法編程較簡(jiǎn)單,通用性好;二是完全用程序?qū)崿F(xiàn)三維模型的參數(shù)化設(shè)圖 2.2計(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)讀取,一般不要修改它,但SolidWorks自動(dòng)標(biāo)注的尺寸名字( 如:D 1,D 2)在程序中難以識(shí)別,所以尺寸的名字可在標(biāo)注時(shí)修改,使尺寸的名字盡量表達(dá)出特征。通過菜單,如圖2.2,為V B 添加SolidWorks引用。本設(shè)計(jì)為標(biāo)準(zhǔn)件庫的一般開發(fā)方法,對(duì)致力于SolidWorks二次開發(fā)的人員,具有一定的參考價(jià)值。2.4 用Visual Basic 6.0開發(fā)Solidworks的一般步驟(1) 安裝 Solidworks 和 Visual Basic 6.0。(2) 啟動(dòng) Visual Basic 6.0,新建一個(gè)工程,編寫代碼。在任何情況下,第 18 頁 共 36 頁你寫的代碼應(yīng)該類似于由 Solidworks 的宏工具所產(chǎn)生的代碼。在 Solidworks 中,應(yīng)用記錄宏(【工具】→【宏操作】→【錄制】 )來獲得程序頭部和應(yīng)用程序的代碼是十分有益的。為了查看 Visual Basic 會(huì)話中的每個(gè)對(duì)象,可單擊【視圖】→【對(duì)象瀏覽器】菜單命令,右鍵單擊對(duì)象瀏覽器的“類”或“成員”窗口。在出現(xiàn)的彈出菜單中,單擊【顯示隱含成員】命令。此時(shí)可以瀏覽每個(gè) Solidworks API 對(duì)象及相關(guān)的屬性和 Visual Basic 安全數(shù)組傳遞的方法。 [1](3) 在 Visual Basic 里,選擇文件,生成.EXE 文件即可。用 Visual Basic 寫的應(yīng)用程序能夠在許多地方運(yùn)行。若在 Solidworks 中運(yùn)行,則選擇【工具】→【宏操作】→【運(yùn)行】菜單命令,選擇源文件即可;若作為.EXE 文件運(yùn)行,直接運(yùn)行即可。如果 Solidworks 已經(jīng)運(yùn)行,你的程序?qū)⒏郊佑谒?;否則,Solidworks 打開一個(gè)新的會(huì)話;也可以創(chuàng)建一個(gè)宏文件來運(yùn)行Visual Basic。2.5 開發(fā)方式選擇分析即程序載入方式的選取。關(guān)于Solidworks API,在不同情況下使用有不同的使用方法。下圖表示的是各種情況下的數(shù)據(jù)傳遞情況,Solid works 數(shù)據(jù)指的是零件,裝配體,工程圖等等此軟件中涉及的各種元素??紤]到建立參數(shù)化模型需要用戶自行選擇零件種類,并由用戶手動(dòng)輸入各種參數(shù),且要給用戶提供一個(gè)友好的界面,因此可以 DLL 動(dòng)態(tài)鏈接庫形式動(dòng)態(tài)在菜單上添加按鈕,按鈕的驅(qū)動(dòng)函數(shù)實(shí)現(xiàn)的功能就是提供給用戶所需的界面。2.6 SolidWorks API函數(shù)語法1 .常用的 API 函數(shù)語法如下:return_value Object :: Function ( Parameters )所有的 API 函數(shù)均支持執(zhí)行程序界面。如果你正在使用可執(zhí)行程序,SolidWorks API 函數(shù)返回 HRESULT 和一些其他變量的參數(shù)值。 [13]2. 含多個(gè)變量函數(shù)的語法例:下面的函數(shù)用 ModelDoc2::SelectByID 返回一個(gè)布爾值。在該函數(shù)中使用了五個(gè)變量。第 19 頁 共 36 頁boolean ModelDoc2::SelectByID(BSTR objectName, BSTR objectType, double x, double y, double z)VB 語法: Dim result As Booleanresult = ModelObj.SelectByID(“Point1“,“SKETCHPOINT“, .2, .3, 0)3. 無變量函數(shù)的語法下面用嵌入草圖函數(shù)作為例子,該函數(shù)無返回值,同時(shí)也沒有輸入變量,它將在當(dāng)前文件(ModelDoc2)中插入一個(gè)草圖。void ModelDoc2::InsertSketch( )VB 語法:ModelObj.InsertSketch4. 含返回值函數(shù)語法下面的語法用 ModelDoc2::GetType 函數(shù)為例,該函數(shù)不含輸入變量,返回一個(gè)長(zhǎng)整型值,該值為當(dāng)前文件的類型。Long ModelDoc2::GetType( )VB 語法:Dim docType As LongdocType = ModelObj.GetType同樣,下面的例子得到所選表面的邊數(shù),將該值作為長(zhǎng)整型返回。long Face2::GetEdgeCount( )VB 語法:Dim edgeCount As LongedgeCount = FaceObj.GetEdgeCount5. 同一函數(shù)的不同接口一些函數(shù)可能有不同的實(shí)現(xiàn)方法。如果需要還可能含有多個(gè)接口。IDispatch *Body2::GetFirstFace( ) (OLE Automation)HRESULT Body2::IGetFirstFace( LPFACE* retval ) (COM Object)VB 語法: Dim FaceObj As ObjectSet FaceObj = BodyObj.GetFirstFace 注意:所調(diào)用的接口(對(duì)象自動(dòng)連接標(biāo)簽)返回一個(gè)調(diào)用指針,而執(zhí)行程序接口返回一個(gè) LPFACE2 指針。可執(zhí)行程序界面用對(duì)象指針代替調(diào)用指針,用指針代替不同的。因此,變量類型不同,一些 API 函數(shù)用不同的接口處理對(duì)象和數(shù)據(jù),一個(gè)用于執(zhí)行,一個(gè)用于連接調(diào)用。在上面的例子中,調(diào)用和執(zhí)行接口分別是第 20 頁 共 36 頁GetFirstFace 和 IgetFirstFace。 [17]3 簡(jiǎn)單標(biāo)準(zhǔn)件的開發(fā)與實(shí)現(xiàn)3.1 十字墊圈的設(shè)計(jì)3.1.1 建立墊圈對(duì)話框建立對(duì)話框如下:圖 3.13.1.2 程序的設(shè)計(jì)首先我們要繪制一個(gè)十字墊圈.SLDPRT 作為模型,設(shè)置文件的保存路徑。要根據(jù)數(shù)據(jù)來繪制不同尺寸的零件圖,首先我們要通過 solidworks 的 API 接口來獲取模型的尺寸值,然后建立變量來驅(qū)動(dòng)模型尺寸,使其得到我們所需要的零件圖。其關(guān)鍵代碼如下:Dim modelTitle As StringDim longstatus As LongSet sldApp = GetObject(““, “SldWorks.Application“)Set model = sldApp.ActiveDocIf model Is Nothing ThenSet model = sldApp.OpenDoc4(“C:\Documents and Settings\Administrator\桌面\第 21 頁 共 36 頁王艷軍畢設(shè)\數(shù)據(jù)庫\solidworks\十字墊圈-零件 16“, 1, 0, ““, longstatus)ElsemodelTitle = model.GetTitlesldApp.CloseDoc modelTitleSet model = sldApp.OpenDoc4(“C:\Documents and Settings\Administrator\桌面\王艷軍畢設(shè)\數(shù)據(jù)庫\solidworks\十字墊圈-零件 16“, 1, 0, ““, longstatus)End If'If model Is Nothing Then Exit Submodel.Parameter(“D1@草圖 1“).SystemValue = Text1.Text / 1000 'Dmodel.Parameter(“D1@草圖 5“).SystemValue = Text2.Text / 1000 'dmodel.Parameter(“D2@圓角 1“).SystemValue = Text6.Text / 1000 '圓角大小 r1model.EditRebuildEnd Sub3.1.3 建立數(shù)據(jù)庫數(shù)據(jù)庫技術(shù)是計(jì)算機(jī)應(yīng)用技術(shù)中的一個(gè)主要部分,對(duì)于大量的數(shù)據(jù),使用數(shù)據(jù)庫來存儲(chǔ)數(shù)據(jù)比通過文件來存儲(chǔ)有更高的效率,Visual Basic 的數(shù)據(jù)控件(data)及相關(guān)的網(wǎng)格控件等提供了訪問數(shù)據(jù)庫的方法。 [3](1)應(yīng)用 Microsoft Access 建立十字墊圈的數(shù)據(jù)庫,如下圖: [6](2)VB 與數(shù)據(jù)庫之間的連接第 22 頁 共 36 頁圖 3.23.1.4 程序運(yùn)行及結(jié)果當(dāng)我們運(yùn)行上述程序時(shí),程序會(huì)自動(dòng)打開 solidworks 軟件打開我們所建立的模型,然后根據(jù)我們選擇的尺寸來生成我們需要的新零件圖,而且新的零件圖是可以編輯和保存的。第 23 頁 共 36 頁圖 3.33.2 定向鍵的設(shè)計(jì)3.2.1 定向鍵對(duì)話框的建立建立對(duì)話框如下:第 24 頁 共 36 頁圖 3.43.2.2 程序的設(shè)計(jì)定向鍵的尺寸的參數(shù)化變化主要通過以下關(guān)鍵代碼來實(shí)現(xiàn):Private Sub Command3_Click()Dim swAppTitle As StringDim longstatus As LongSet sldApp = GetObject(““, “SldWorks.Application“)Set swApp = sldApp.ActiveDocIf swApp Is Nothing ThenSet swApp = sldApp.OpenDoc4(“C:\Documents and Settings\Administrator\桌面\王艷軍畢設(shè)\數(shù)據(jù)庫\solidworks\定向鍵-零件4.SLDPRT“, 1, 0, ““, longstatus)第 25 頁 共 36 頁ElseswAppTitle = swAppl.GetTitlesldApp.CloseDoc swAppTitleSet swApp = sldApp.OpenDoc4(“C:\Documents and Settings\Administrator\桌面\王艷軍畢設(shè)\數(shù)據(jù)庫\solidworks\定向鍵-零件4.SLDPRT“, 1, 0, ““, longstatus)End If'IfswApp Is Nothing Then Exit SubAssem.Parameter(“直線 2@草圖 1“).SystemValue = Val(Text1.Text) / 1000 '基本尺寸 BAssem.Parameter(“直線 5@草圖 1“).SystemValue = Val(Text2.Text) / 1000 'h1Assem.Parameter(“直線 1@草圖 1“).SystemValue = Val(Text3.Text) / 1000 'HAssem.Parameter(“直線 3@草圖 1“).SystemValue = Val(Text4.Text) / 1000 'B1 Assem.EditRebuildAssem.EditRebuildEnd Sub3.2.3 建立定向鍵數(shù)據(jù)庫(1)應(yīng)用 Microsoft Access 建立定向鍵的數(shù)據(jù)庫,如下圖所示:第 26 頁 共 36 頁圖 3.5(2)進(jìn)行數(shù)據(jù)庫的連接第 27 頁 共 36 頁圖 3.63.2.4 程序運(yùn)行及結(jié)果當(dāng)我們運(yùn)行上述程序時(shí),程序會(huì)自動(dòng)打開 solidworks 軟件打開我們所建立的模型,然后根據(jù)我們選擇的尺寸來生成我們需要的新零件圖,而且新的零件圖是可以編輯和保存的。第 28 頁 共 36 頁圖 3.73.3 固定式定位銷的設(shè)計(jì)3.3.1 定位銷對(duì)話框的設(shè)計(jì)第 29 頁 共 36 頁圖 3.83.3.2 程序的設(shè)計(jì)Dim swAppTitle As StringDim longstatus As LongSet sldApp = GetObject(““, “Sld- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
10 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 基于 So1idworks 專用 夾具 通用 開發(fā) 應(yīng)用
鏈接地址:http://italysoccerbets.com/p-442656.html