版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 本科畢業(yè)論文</b></p><p><b> (20 屆)</b></p><p> 基于Pro/E二次開發(fā)的標(biāo)準(zhǔn)件庫</p><p><b> 誠信聲明</b></p><p> 本人鄭重聲明:本論文及其研究工作是本人在指導(dǎo)教師的指導(dǎo)
2、下獨(dú)立完成的,在完成論文時(shí)所利用的一切資料均已在參考文獻(xiàn)中列出。</p><p> 本人簽名: 年 月 日 </p><p> 基于Pro/E二次開發(fā)的標(biāo)準(zhǔn)件庫</p><p> 摘要:本文研究以Pro/E二次開發(fā)工具Pro/TOOLKIT和Visual Studio 2005設(shè)計(jì)開發(fā)一套包括彈簧、齒輪、軸承三
3、大類零件的通用零件庫系統(tǒng),實(shí)現(xiàn)了Pro/E環(huán)境下這三大類零件的快速參數(shù)化的自動建模。系統(tǒng)將通用零件庫分為三類,使用 Pro/E建模和關(guān)系式,建立各種通用件的參數(shù)化模型數(shù)據(jù)庫,編程調(diào)用數(shù)據(jù)庫文件和利用Pro/TOOLKIT提供的UI對話框存儲各種通用件的參數(shù)初始值,或用戶手動輸入?yún)?shù)來實(shí)現(xiàn)各通用件特征的自動建模。</p><p> 關(guān)鍵詞:零件庫,Pro/TOOLKIT,二次開發(fā),參數(shù)化設(shè)計(jì)</p>
4、<p> General Parts Library’s Secondary Development Based on Pro/E</p><p> Abstract:Based on Pro/E, this paper designs and develops a general parts library system including three categories of parts :
5、 springs, gears, bearings using the secondary development tool Pro/TOOLKIT and Visual Studio 2005 to achieving the three kinds of parts’ fast automatic modeling of parameterized in Pro/E environment . The system divides
6、general parts library into three categories, establish all kinds of interchangeable parts parameterized model database and programming calls to the databas</p><p> Keywords: Parts library, Pro/TOOLKIT, Se
7、condary development, Parametric design</p><p><b> 目 錄</b></p><p><b> 1前 言1</b></p><p> 1.1常用標(biāo)準(zhǔn)件庫基本原理1</p><p> 1.2三維CAD技術(shù)2</p>&
8、lt;p> 1.2.1 CAD技術(shù)的發(fā)展主要階段2</p><p> 1.2.2 CAD 技術(shù)的發(fā)展趨勢3</p><p> 1.3零件庫的發(fā)展及其研究現(xiàn)狀4</p><p> 1.4二次開發(fā)的提出及主要研究內(nèi)容6</p><p> 1.4.1二次開發(fā)背景及意義6</p><p> 1.4.
9、2主要研究內(nèi)容7</p><p> 2開發(fā)環(huán)境及相關(guān)技術(shù)9</p><p> 2.1 CAD平臺的選取9</p><p> 2.1.1 Pro/Engineer軟件簡介9</p><p> 2.1.2開發(fā)平臺的選取9</p><p> 2.2 Pro/TOOLKIT二次開發(fā)基礎(chǔ)9</p>
10、;<p> 2.2.1 Pro/TOOLKIT簡介9</p><p> 2.2.2 Pro/TOOLKIT的安裝10</p><p> 3自定義菜單與用戶對話框設(shè)計(jì)12</p><p> 3.1 Pro/TOOLKIT開發(fā)過程12</p><p> 3.1.1安裝VS插件Pro/TK Tools12</
11、p><p> 3.1.2新建工程13</p><p> 3.1.3設(shè)置包含文件和庫文件14</p><p> 3.1.4 編寫注冊文件15</p><p> 3.1.5程序的運(yùn)行與卸載16</p><p> 3.2自定義菜單常用函數(shù)19</p><p> 3.2.1菜單欄菜單的
12、添加20</p><p> 3.2.2菜單按鈕的添加21</p><p> 3.2.3下級菜單的添加23</p><p> 3.3自定義菜單設(shè)計(jì)24</p><p> 3.4 UI對話框基本知識25</p><p> 3.4.1資源文件及格式25</p><p> 3.4
13、.2主要函數(shù)介紹27</p><p> 3.4.3 UI對話框元件29</p><p> 3.4.4 UI對話框?qū)傩约跋嚓P(guān)函數(shù)30</p><p> 3.5直齒輪UI對話框?qū)嵗?1</p><p> 4零件參數(shù)化建模39</p><p> 4.1漸開線的幾何分析39</p><
14、p> 4.2直齒圓柱齒輪的建模過程40</p><p> 5零件庫系統(tǒng)設(shè)計(jì)55</p><p> 5.1零件庫系統(tǒng)整體設(shè)計(jì)55</p><p> 5.2直齒輪的參數(shù)化自動建模的實(shí)現(xiàn)57</p><p> 5.2.1調(diào)出UI對話框57</p><p> 5.2.2控件編程60</p&g
15、t;<p> 5.2.3生成不同結(jié)構(gòu)形式的直齒輪61</p><p> 5.2.4更新設(shè)置新參數(shù)65</p><p> 5.3實(shí)例演示67</p><p> 5.3.1零件庫使用方法68</p><p> 5.3.2部分零件展示70</p><p><b> 結(jié) 論74
16、</b></p><p><b> 參考文獻(xiàn)75</b></p><p><b> 致 謝76</b></p><p><b> 1前 言</b></p><p> 1.1常用標(biāo)準(zhǔn)件庫基本原理</p><p> 根據(jù)標(biāo)準(zhǔn)件的
17、相似性原理 ,確定能夠完整表示該系列標(biāo)準(zhǔn)件所有零件特征的復(fù)合零件 ,根據(jù)該復(fù)合零件可以派生出此系列標(biāo)準(zhǔn)件中的任一個(gè)零件。復(fù)合零件是在 pro/ E 環(huán)境下創(chuàng)建的三維零件模型 ,也稱之三維零件樣板。在三維零件樣板的基礎(chǔ)上確定一組設(shè)計(jì)參數(shù)來控制零件的形狀和拓?fù)潢P(guān)系 ,并建立零件族設(shè)計(jì)參數(shù)的系列尺寸 ;通過訊則不同的系列尺寸來自動生成零件的三維模型[1] ,從而實(shí)現(xiàn)常用標(biāo)準(zhǔn)件庫的創(chuàng)建。例如;直齒輪</p><p>
18、創(chuàng)建參數(shù)化齒輪的過程相對復(fù)雜,其中涉及到許多與齒輪有關(guān)的參數(shù)以及關(guān)系式。</p><p><b> ?。?)創(chuàng)建基本圓</b></p><p> 用草繪曲線的方法,創(chuàng)建分度圓、基圓、齒頂圓、齒根圓這四個(gè)齒輪的基本圓,圓的大小用事先設(shè)置好的參數(shù)來控制。</p><p><b> ?。?)創(chuàng)建漸開線</b></p>
19、;<p> 前面已經(jīng)分析了漸開線方程的相關(guān)知識,這里用從方程來生成漸開線的方法,創(chuàng)建漸開線。</p><p><b> ?。?)鏡像漸開線</b></p><p> 在適當(dāng)位置創(chuàng)建一個(gè)平面,然后該平面為參照,鏡像已經(jīng)創(chuàng)建好的漸開線,并用關(guān)系式來控制鏡像平面的尺寸約束。</p><p><b> (4)拉伸形成實(shí)體&
20、lt;/b></p><p> 這是創(chuàng)建齒輪的關(guān)鍵步驟,以齒根圓和漸開線為參照,用拉伸的方法創(chuàng)建包括齒輪的齒根圓實(shí)體和齒輪的一個(gè)齒形實(shí)體。</p><p><b> ?。?)陣列輪齒</b></p><p> 將創(chuàng)建的齒形實(shí)體進(jìn)行陣列,完成齒輪的基本外形。同時(shí)需要添加關(guān)系式來控制輪齒的生成個(gè)數(shù)。</p><p>
21、;<b> ?。?)創(chuàng)建其它特征</b></p><p> 創(chuàng)建齒輪的鍵槽、中間孔、腹板或輪輻孔等特征,并通過關(guān)系式來控制相關(guān)的尺寸。</p><p> 1.2三維CAD技術(shù)</p><p> CAD是計(jì)算機(jī)輔助設(shè)計(jì)的簡稱,具體指通過計(jì)算機(jī)和圖形設(shè)備的使用,幫助設(shè)計(jì)人員完成設(shè)計(jì)工作。隨著計(jì)算機(jī)技術(shù)的廣泛普及、計(jì)算機(jī)性能的不斷提高以及智能化
22、信息處理技術(shù)的發(fā)展,CAD技術(shù)已經(jīng)由傳統(tǒng)的二維技術(shù)發(fā)展成為三維技術(shù),并朝著集成、開放、標(biāo)準(zhǔn)化的方向發(fā)展。CAD技術(shù)是新興的計(jì)算機(jī)應(yīng)用技術(shù),不僅能夠促進(jìn)CAD軟件行業(yè)的發(fā)展,而且能夠促進(jìn)機(jī)械設(shè)計(jì)行業(yè)的發(fā)展[1]。在某些特定的工程領(lǐng)域內(nèi),CAD技術(shù)從根本上改變了設(shè)計(jì)者的工作方式,在計(jì)算機(jī)技術(shù)領(lǐng)域內(nèi)CAD技術(shù)本身也己經(jīng)發(fā)展成為一個(gè)世界范圍的產(chǎn)業(yè)[2]。</p><p> 1.2.1 CAD技術(shù)的發(fā)展主要階段</
23、p><p> 1.20世紀(jì)50年代后期至70年代初期——線框造型技術(shù)。</p><p> CAD技術(shù)開始于上世紀(jì)50年代后期,然后隨著計(jì)算機(jī)繪圖軟件技術(shù)的迅速發(fā)展開始開始得到進(jìn)一步發(fā)展。此時(shí)主要是二維計(jì)算機(jī)繪圖技術(shù)的應(yīng)用,即用傳統(tǒng)的三視圖表達(dá)出零件信息,以計(jì)算機(jī)繪圖代替手工繪圖,使設(shè)計(jì)者從手工繪圖的中解放出來。以二維繪圖為主要目的的CAD技術(shù)作為CAD技術(shù)的一個(gè)完整分支一直相對獨(dú)立地存在且
24、平穩(wěn)發(fā)展至今,主要的代表軟件如AutoCAD。</p><p> 2.20世紀(jì)70年代初期至80年代初期——曲面(表面)造型技術(shù)。</p><p> 貝賽爾算法的提出,使人們開始利用計(jì)算機(jī)處理曲線問題及曲面問題變成現(xiàn)實(shí),此時(shí)的代表軟件為達(dá)索飛機(jī)公司推出的三維曲面造型軟件CATIA。這意味著CAD技術(shù)從二維到三維的躍升,實(shí)現(xiàn)了真正的用計(jì)算機(jī)表達(dá)零件的相關(guān)信息,同時(shí)也為CAM技術(shù)的開發(fā)提供
25、了堅(jiān)實(shí)的基礎(chǔ)。</p><p> 3.20世紀(jì)80年代初期至80年代中期——實(shí)體造型技術(shù)。</p><p> SDRC公司在1979年發(fā)布了世界上第一款真正基于實(shí)體造型技術(shù)的大型CAD/CAE軟件——I-DEAS。實(shí)體造型技術(shù)使設(shè)計(jì)工作發(fā)生了極大的變化,成為未來CAD技術(shù)的發(fā)展方向,被稱為第二次CAD技術(shù)革命。由于實(shí)體造型數(shù)據(jù)計(jì)算量非常龐大,超出了當(dāng)時(shí)計(jì)算機(jī)硬件運(yùn)算能力,使它的進(jìn)一步發(fā)
26、展受到限制。</p><p> 4.20世紀(jì)80年代中期至90年代初期——參數(shù)化技術(shù)。</p><p> 上世紀(jì)80年代中期,人們提出了參數(shù)化實(shí)體造型技術(shù),代表軟件為Pro/E。其特點(diǎn)是:基于特征、尺寸驅(qū)動設(shè)計(jì)修改、尺寸約束、全數(shù)據(jù)相關(guān)。隨著參數(shù)化技術(shù)的不斷成熟,它的優(yōu)勢得到了充分的體現(xiàn),使之成為CAD發(fā)展歷程上的第三次技術(shù)革命。</p><p> 5.20世
27、紀(jì)90年代初期至今——變量化技術(shù)。</p><p> SDRC分析了現(xiàn)有的各種造型技術(shù),對它們各自的優(yōu)缺點(diǎn)進(jìn)行對比后,以參數(shù)化技術(shù)為支撐,提出了變量化技術(shù)——一種更為先進(jìn)的實(shí)體造型技術(shù)。變量化技術(shù)特點(diǎn)保持了參數(shù)化技術(shù)本身的優(yōu)勢之處,同時(shí)也克服了某些不足,成為了CAD技術(shù)發(fā)展的第四次革命。</p><p> 目前流行的CAD技術(shù)基礎(chǔ)理論主要是以PTC公司的Pro/E為代表的參數(shù)化造型理論
28、和以SDRC公司的I-DEAS為代表的變量化技術(shù)造型理論兩大流派,它們都屬于基于約束的實(shí)體造型技術(shù)[3]。CAD技術(shù)正在向著更為深廣的方向發(fā)展,主要表現(xiàn)為以下幾個(gè)方面:</p><p> ?。?)基于專家系統(tǒng)的智能CAD;</p><p> ?。?)CAD系統(tǒng)的集成化;</p><p> (3)動態(tài)三維造型技術(shù);</p><p> ?。?)
29、基于并行工程,著力于制造的設(shè)計(jì)技術(shù)(DFM) ;</p><p> ?。?)分布式網(wǎng)絡(luò)CAD系統(tǒng)[4]。</p><p> 1.2.2 CAD 技術(shù)的發(fā)展趨勢</p><p> CAD 技術(shù)經(jīng)歷了漫長的發(fā)展,各個(gè)階段都有其巨大的影響力,促進(jìn)著制造業(yè)的飛速發(fā)展。從目前的發(fā)展趨勢來看,CAD 技術(shù)的主要方向應(yīng)是面向集成化、智能化、標(biāo)準(zhǔn)化、網(wǎng)絡(luò)化發(fā)展。</p&g
30、t;<p><b> ?。?)集成化</b></p><p> CAD 技術(shù)是現(xiàn)代制造業(yè)的技術(shù)基礎(chǔ)之一,為提高產(chǎn)品設(shè)計(jì)質(zhì)量和制造業(yè)的自動化程度,CAD系統(tǒng)必須集成化。它可以是不同系統(tǒng)之間的相互兼容、組合,也可以是同一系統(tǒng)內(nèi)部模塊間的集成。工程設(shè)計(jì)領(lǐng)域不同類型的輔助設(shè)計(jì)軟件互相兼容,制定標(biāo)準(zhǔn)化、規(guī)范化的標(biāo)準(zhǔn),在產(chǎn)品的整個(gè)生命周期內(nèi)都支持集成系統(tǒng),才能保證CAD集成化的順利實(shí)現(xiàn)。
31、為了使CAD技術(shù)應(yīng)用到產(chǎn)品設(shè)計(jì)的每個(gè)環(huán)節(jié)中,未來CAD軟件系統(tǒng)應(yīng)該增強(qiáng)其開放性、加大模塊的可移植性和通用性、實(shí)現(xiàn)功能的互連性,達(dá)到進(jìn)一步提高CAD系統(tǒng)的集成度目的。</p><p><b> 智能化</b></p><p> 借助人工智能技術(shù),CAD系統(tǒng)將向智能化的方向發(fā)展,利用計(jì)算機(jī)模擬人的思維,實(shí)現(xiàn)真正的智能機(jī)械,其中數(shù)值計(jì)算和符號推理是一般設(shè)計(jì)的兩項(xiàng)重要工作
32、。將人工智能的理論和技術(shù)基礎(chǔ)與CAD技術(shù)相結(jié)合形成智能CAD系統(tǒng),賦予計(jì)算機(jī)以人的思維,給設(shè)計(jì)者自動提供產(chǎn)品設(shè)計(jì)中所需要的各種信息,在最大程度上實(shí)現(xiàn)優(yōu)勢資源的共享與交換,通過分析比較,在最短的時(shí)間內(nèi)生成最適合的解決方案。</p><p><b> 標(biāo)準(zhǔn)化</b></p><p> 最初的CAD技術(shù)軟件開發(fā)、設(shè)計(jì)過程中采用各個(gè)模塊、功能獨(dú)立進(jìn)行的方式,因?yàn)樵谟布④?/p>
33、件、數(shù)據(jù)存儲、數(shù)據(jù)傳遞還有數(shù)據(jù)格式等方面產(chǎn)生了諸多障礙,開發(fā)出的系統(tǒng)雖然能夠?qū)崿F(xiàn)最終結(jié)果,但它嚴(yán)重影響了CAD技術(shù)的集成。國際上也提出了例如IGES標(biāo)準(zhǔn)和STEP標(biāo)準(zhǔn)的通用的數(shù)據(jù)交換規(guī)范,推動CAD標(biāo)準(zhǔn)化的不斷完善,促進(jìn)CAD系統(tǒng)的集成化的發(fā)展。</p><p><b> ?。?)網(wǎng)絡(luò)化</b></p><p> 集中式CAD系統(tǒng)存在著一些弊端,不能滿足現(xiàn)代人的使用
34、要求,隨著工作站和高性能個(gè)人計(jì)算機(jī)的不斷發(fā)展,越來越多的人開始結(jié)合工作站和個(gè)人PC系統(tǒng)替代以往的集中式CAD系統(tǒng),逐步形成了網(wǎng)絡(luò)化的系統(tǒng)。</p><p> 網(wǎng)絡(luò)化的系統(tǒng)改變了企業(yè)傳統(tǒng)的設(shè)計(jì)流程,對于產(chǎn)品設(shè)計(jì)而言,可以讓設(shè)計(jì)者擺脫受限制的環(huán)境,更加人性化,有利于設(shè)計(jì)者更好地發(fā)掘思維,高效率的完成設(shè)計(jì)工作。同時(shí)更多的設(shè)計(jì)人員可以使用同一平臺,提高設(shè)備和資源的利用率,也更方便地設(shè)計(jì)人員交換設(shè)計(jì)思想,通過相互交流和合
35、作提高設(shè)計(jì)質(zhì)量。進(jìn)而也推動了制造與商務(wù)的全面融合,使技術(shù)和應(yīng)用結(jié)合更加緊密。</p><p> 由于支持Web協(xié)同設(shè)計(jì)方案的CAD軟件的不斷發(fā)展進(jìn)步,其技術(shù)日趨成熟,個(gè)人和企業(yè)也可以通過Web技術(shù)尋找訂單,在家里或是遠(yuǎn)處完成達(dá)到客戶滿意的設(shè)計(jì)方案;同時(shí)也可以在互聯(lián)網(wǎng)上獲取最優(yōu)的設(shè)計(jì),實(shí)現(xiàn)跨地域、跨時(shí)空的溝通特性,使設(shè)計(jì)和網(wǎng)絡(luò)接軌[5]。</p><p> 1.3零件庫的發(fā)展及其研究現(xiàn)狀
36、</p><p> 將設(shè)計(jì)中可能用到的零部件信息存放到一起,其數(shù)據(jù)采用標(biāo)準(zhǔn)的格式進(jìn)行描述,有專用的管理系統(tǒng)進(jìn)行管理,設(shè)計(jì)人員可以進(jìn)行檢索、訪問,并提供與CAD系統(tǒng)的標(biāo)準(zhǔn)接口,設(shè)計(jì)人員可以方便地將檢索到的信息納入設(shè)計(jì)文件中,這種系統(tǒng)稱為零件庫系統(tǒng)[6]。零件庫是一種用于計(jì)算機(jī)輔助設(shè)計(jì)的典型數(shù)據(jù)庫,它包含工程設(shè)計(jì)中所需的各種常用的標(biāo)準(zhǔn)件和通用件。在計(jì)算機(jī)中它把一定的數(shù)據(jù)模型格式組織和存儲起來,組成相互關(guān)聯(lián)的標(biāo)準(zhǔn)件數(shù)
37、據(jù)信息集合,以提高CAD系統(tǒng)滿足用戶更多需要的要求。</p><p> 作為CAD/CAE技術(shù)、計(jì)算機(jī)數(shù)據(jù)集成的基礎(chǔ),零件庫是CAD技術(shù)中不可少缺的重要部分。將各種標(biāo)準(zhǔn)件和通用件的信息組合在一起,并設(shè)計(jì)有管理系統(tǒng)和配備相應(yīng)接口技術(shù),實(shí)現(xiàn)用戶對零件庫進(jìn)行訪問、查找和提取所需零件,極大地方便用戶的設(shè)計(jì)制造。</p><p> 機(jī)械設(shè)計(jì)強(qiáng)調(diào)互換性,盡可能的降低生產(chǎn)成本,保證經(jīng)濟(jì)性原則,因此在
38、設(shè)計(jì)中要求設(shè)計(jì)人員在非必要的情況下盡量使用各種標(biāo)準(zhǔn)件和通用件。主流的各種三維CAD軟件平臺,譬如:Pro/E、UG、Solid Works、CATIA、MDT等,它們功能強(qiáng)大,為現(xiàn)代先進(jìn)制造技術(shù)的發(fā)展奠定了堅(jiān)實(shí)的基礎(chǔ),其配備的標(biāo)準(zhǔn)件庫模塊得到了廣大用戶的一致好評。但是它們畢竟不是把主要精力放在標(biāo)準(zhǔn)庫的設(shè)計(jì)上,大多數(shù)系統(tǒng)所包含的零件種類和數(shù)量都比較有限,不能進(jìn)一步地滿足工程設(shè)計(jì)人員的需求。</p><p> 于是
39、很多研究單位和部門以各種CAD軟件系統(tǒng)為平臺,利用其自帶的二次開發(fā)接口技術(shù)對其進(jìn)行了二次開發(fā),得到了符合各行業(yè)實(shí)際情況的標(biāo)準(zhǔn)件庫和通用件庫,極大地方便了機(jī)械設(shè)計(jì)人員的工作。</p><p> 華中科技大學(xué)開發(fā)了包含齒輪傳動設(shè)計(jì)過程中用到的各種零件的標(biāo)準(zhǔn)零件庫,用于齒輪CAD系統(tǒng)設(shè)計(jì)。用戶輸入相關(guān)參數(shù)后,就能得到包括裝配圖和零部件圖在內(nèi)的符合設(shè)計(jì)要求的齒輪傳動系統(tǒng)。北京斯泰普產(chǎn)品數(shù)據(jù)技術(shù)中心、南京航空航天大學(xué)CA
40、D中心、東北大學(xué)歐磊公司、西北工業(yè)大學(xué)等也分別在AutoCAD、SolidEdge、CATIA上創(chuàng)建了自己的標(biāo)準(zhǔn)零件庫。它們涉及種類齊全,有的還允許戶建立自己的零件庫,向零件庫進(jìn)行刪除,插入或增加自己所需部分簡單零件的功能。</p><p> 對現(xiàn)有CAD系統(tǒng)進(jìn)行零件庫的二次開發(fā)給工程設(shè)計(jì)人員帶來了極大的便利,提高了設(shè)計(jì)效率,但仍存在諸多的不足,主要有以下幾點(diǎn):</p><p> ?。?
41、)零件庫和CAD系統(tǒng)不獨(dú)立:零件庫一般依賴于一種CAD系統(tǒng),適應(yīng)性和可移植性差,它只能在某個(gè)特定的CAD軟件上使用;</p><p> ?。?)擴(kuò)充性差:目前大多數(shù)的零件庫缺少擴(kuò)充工具,或只能按照嚴(yán)格規(guī)定進(jìn)行簡單零件擴(kuò)充,不能滿足用戶任意添加自己所需零件的要求;</p><p> 標(biāo)準(zhǔn)信息不完整:零件庫一般只包含零件的尺寸參數(shù)等簡單信息,缺少工程應(yīng)用中需要的材料、熱處理等其他信息,不便于
42、后續(xù)工作的開展。</p><p> 具體來說,零件庫系統(tǒng)應(yīng)滿足以下幾點(diǎn)要求:</p><p> (1)一定的集成能力:可與主流CAD平臺無縫集成,提高適應(yīng)性;</p><p> ?。?)具有開放性、系統(tǒng)穩(wěn)定可靠:可根據(jù)用戶的需要任意添加各種不同的零件,方便擴(kuò)充,滿足不同場合的需求;</p><p> (3)人機(jī)交互界面人性化:按照大多數(shù)
43、人的使用習(xí)慣設(shè)計(jì)交互界面,方便用戶的使用;</p><p> ?。?)良好的數(shù)據(jù)管理能力:用戶能夠?qū)α慵熘辛慵奖愕倪M(jìn)行移除,再編輯等操作,實(shí)現(xiàn)對零件庫的自我管理[7]。</p><p> 1.4二次開發(fā)的提出及主要研究內(nèi)容</p><p> 1.4.1二次開發(fā)背景及意義</p><p> 機(jī)械設(shè)計(jì)始終是航空航天、汽車、船舶、機(jī)械制造
44、等行業(yè)中最重要的工作之一,而標(biāo)準(zhǔn)件(包括常用非標(biāo)件和通用件)又是設(shè)計(jì)人員在利用CAD系統(tǒng)開發(fā)設(shè)計(jì)進(jìn)新產(chǎn)品的首先。在機(jī)械產(chǎn)品的開發(fā)過程除特殊情況下考慮設(shè)計(jì)新零件外,大都采用各種標(biāo)準(zhǔn)件、通用零件、相似件,以提高設(shè)計(jì)效率。一般情況下,產(chǎn)品使用標(biāo)準(zhǔn)件的數(shù)量要達(dá)到全部零件的70%以上。在基本形狀和主要主要結(jié)構(gòu)方面,標(biāo)準(zhǔn)件、通用件以及相似件都相對穩(wěn)定,而相同型號的標(biāo)準(zhǔn)件之間僅有尺寸上的差異。在產(chǎn)品設(shè)計(jì)時(shí),標(biāo)準(zhǔn)件會反復(fù)用在不同的位置。無論是標(biāo)準(zhǔn)件的二
45、維圖還是三維圖,其繪制過程極為繁瑣,加之需要反復(fù)查閱相關(guān)手冊獲取數(shù)據(jù),可謂費(fèi)時(shí)費(fèi)力,實(shí)為一件不省心的事。若設(shè)計(jì)人員每用一次都要對其重新造型,重復(fù)性的工作將對他的工作效率和工作積極性大打折扣[8]。</p><p> 利用己有的資源,建立這些常用零部件的數(shù)據(jù)庫,用戶在使用時(shí)隨時(shí)調(diào)用,達(dá)到在較短的時(shí)間內(nèi)完成新產(chǎn)品的設(shè)計(jì)工作的目的將是一件非常用意義的事。一方面它可以避免設(shè)計(jì)人員的重復(fù)造型,提高產(chǎn)品設(shè)計(jì)效率,同時(shí)也提高
46、了產(chǎn)品的標(biāo)準(zhǔn)化程度,減少因人為因素造成的錯(cuò)誤,縮短新產(chǎn)品研發(fā)周期;另一方面還可以將三維實(shí)體模型進(jìn)行諸如有限元分析等更深層次的分析,確保設(shè)計(jì)結(jié)果達(dá)到預(yù)期效果。企業(yè)要降低生產(chǎn)成本和提高經(jīng)濟(jì)效益,就必須最大限度地使用標(biāo)準(zhǔn)件、通用件、相似件。因此,通用零件庫的開發(fā)應(yīng)用將成為CAD軟件二次開發(fā)發(fā)展的一個(gè)必不可少的方向。</p><p> 1.4.2主要研究內(nèi)容</p><p> 本課題的主要研究
47、內(nèi)容為標(biāo)準(zhǔn)件庫的設(shè)計(jì),利用Pro/E提供的二次開發(fā)工具Pro/TOOLKIT結(jié)合Visual Studio 2005設(shè)計(jì)出通用零件庫系統(tǒng),實(shí)現(xiàn)彈簧、齒輪和軸承三大類通用件的參數(shù)化自動建模。用戶選擇不同的零件后,通過選擇零件型號或是輸入相關(guān)參數(shù)信息即可在Pro/E環(huán)境下立馬生成相應(yīng)零件的三維模型。</p><p> 對于這些標(biāo)準(zhǔn)件,用戶不必重復(fù)造型,減少設(shè)計(jì)時(shí)間,提高設(shè)計(jì)效率。與其他零件庫相比,本課題設(shè)計(jì)的零件庫
48、重點(diǎn)表現(xiàn)在軸承三維造型方面,種類多樣,生成的軸承模型自帶保持架,可以隨意修改。齒輪、零件類零件種類齊全,直齒可以選擇內(nèi)外嚙合,斜齒也可以選擇左右旋等。</p><p><b> 課題具體實(shí)施方案:</b></p><p> ?。?)學(xué)習(xí)與本課題相關(guān)的Pro/E二次開發(fā)技術(shù),包括Pro/TOOLKIT與Visual Studio 2005的接口技術(shù)、自定義萊單的設(shè)計(jì)、
49、對話框的編寫、Pro/TOOLKIT應(yīng)用程序的執(zhí)行。</p><p> ?。?)接著根據(jù)本畢業(yè)設(shè)計(jì)要求,分析通用零件庫系統(tǒng)設(shè)計(jì)開發(fā)的整休思路。</p><p> (3)然后完成所有零件的參數(shù)化建模,結(jié)合Pro/TOOLKIT和Visual Studio 2005編寫實(shí)現(xiàn)程序。</p><p> (4)最后測試驗(yàn)證運(yùn)行效果。</p><p>
50、; 零件庫的工作方式:開發(fā)者編寫的二次開發(fā)C語言程序經(jīng)編譯后形成DLL文件,打開Pro/E軟件后執(zhí)行Pro/TOOLKIT應(yīng)用程序,Pro/TOOLKIT調(diào)用DLL文件,讀取參數(shù)化零件模型庫零件并更新相關(guān)參數(shù),從而自動創(chuàng)建零件模型。</p><p> 圖1-2 零件庫工作示意圖</p><p> 2開發(fā)環(huán)境及相關(guān)技術(shù)</p><p> 2.1 CAD平臺的
51、選取</p><p> 2.1.1 Pro/Engineer軟件簡介</p><p> Pro/Engineer是美國PTC (Parametric Technology Corporation)公司設(shè)計(jì)的以提供包含二維圖在內(nèi)零件的三維模型設(shè)計(jì)、加工、分析等功能的CAD/CAE/CAM解決方案的集成軟件。作為當(dāng)今世界應(yīng)用最廣泛的CAD系統(tǒng)軟件之一,Pro/Engineer提出的參數(shù)化設(shè)
52、計(jì)、基于特征、單一數(shù)據(jù)庫、全相關(guān)性的全新理念改變了機(jī)械CAD/CAE/CAM的傳統(tǒng)觀念,也使之成為了當(dāng)今CAD/CAE/CAM領(lǐng)域的新標(biāo)準(zhǔn)[8]。</p><p> Pro/Engineer軟件在我國的航天、汽車、家電和機(jī)械等行業(yè)有著廣泛的應(yīng)用,從使用數(shù)量上來看已經(jīng)超過了國內(nèi)其他同類型的國外產(chǎn)品。Pro/Engineer主要由工業(yè)設(shè)計(jì)(CAID)、機(jī)械設(shè)計(jì)(CAD)、功能仿真(CAE)、制造(CAM)、數(shù)據(jù)管理
53、(PDM)和數(shù)據(jù)交換(Geometry Translator)六大模塊組成,集成了零件設(shè)計(jì)、飯金件設(shè)計(jì)、鑄型設(shè)計(jì)、造型設(shè)計(jì)、模具開發(fā)、NC加工、逆向工程、機(jī)構(gòu)仿真、有限元分析、數(shù)據(jù)管理等幾乎所有功能,堪稱全方位的3D產(chǎn)品開發(fā)軟件系統(tǒng)。</p><p> 2.1.2開發(fā)平臺的選取</p><p> 基于以上特點(diǎn)及Pro/Engineer強(qiáng)大的二次開發(fā)功能,故采用Pro/Engineer作
54、為開發(fā)平臺,然后結(jié)合VS2005開發(fā)。</p><p> 2.2 Pro/TOOLKIT二次開發(fā)基礎(chǔ)</p><p> 2.2.1 Pro/TOOLKIT簡介</p><p> Pro/TOOLKIT是PTC公司為Pro/Engineer開發(fā)的以提供大量的C語言函數(shù)來使用戶程序或第三方程序安全高效地訪問Pro/Engineer數(shù)據(jù)庫及應(yīng)用程序,實(shí)現(xiàn)與Pro/E
55、ngineer的完美連接的二次開發(fā)工具。Pro/TOOLKIT能使用戶或第三方通過C語言編程來擴(kuò)展Pro/Engineer系統(tǒng)的功能,開發(fā)基于該軟件系統(tǒng)下的應(yīng)用程序模塊,以滿足一些用戶的特定要求。采用Pro/TOOLKIT提供的菜單技術(shù)、UI對話框以及C++可視化界面技術(shù),可以設(shè)計(jì)出與Pro/Engineer完全相同的的人機(jī)交互界面,方便用戶的操作。對用戶程序來講,在Pro/Engineer和用戶程序之間信息傳送的數(shù)據(jù)結(jié)構(gòu)是不可見的,它
56、必須通過Pro/TOOLKIT提供的函數(shù)來訪問。本課題借助windows操作系統(tǒng),采用C++程序設(shè)計(jì)語言,在Visual Studio 2005的集成環(huán)境下完成零件庫系統(tǒng)的設(shè)計(jì)、調(diào)試和編譯[9]。</p><p> 2.2.2 Pro/TOOLKIT的安裝</p><p> Pro/TOOLKIT工具包包含于Pro/Engineer安裝文件中,安裝時(shí)在“產(chǎn)品功能”下級目錄中選中“API
57、工具包",并在“子元件”列表中選中“Pro/TOOLKIT",如圖2-1所示。在Pro/Engineer系統(tǒng)的指定目錄下將自動生成protoolkit和prodevelop兩個(gè)下級目錄。</p><p> Protoolkit目錄中包含4個(gè)子目錄:\i486_nt、\includes、\protk_appls和\protkdoc。protoolkit\includes目錄為頭文件,prota
58、olkit\i486_nt\obj目錄為庫文件,它們都是用VC對Pro/Engineer進(jìn)行應(yīng)用程序開發(fā)的必不可少的支持文件。\protk_appls目錄的內(nèi)容為程序?qū)嵗?,\protkdoc目錄下的內(nèi)容為幫助文件。其中\(zhòng)protkdoc目錄中的IENoSwing.html文件為網(wǎng)頁文件,需要借助jawa軟件使用,全英文的幫助文件幾乎包含了二次開發(fā)所需要的知識點(diǎn),是學(xué)習(xí)Pro/Engineer的二次開發(fā)絕佳助手[10]。</p>
59、;<p> prodevelop目錄中包含了三個(gè)子目錄:\i486_ nt、\includes和\Protk_appls。它們分別是Pro/develop使用的函數(shù)庫文件、頭文件和程序?qū)嵗?。可以在Pro/TOOLKIT中使用Pro/develop函數(shù),但Pro/develop中的函數(shù)使用比較少,大多被Pro/TOOLKIT中的函數(shù)所取代。</p><p> 3自定義菜單與用戶對話框設(shè)計(jì)</
60、p><p> 3.1 Pro/TOOLKIT開發(fā)過程</p><p> 3.1.1安裝VS插件Pro/TK Tools</p><p> 先介紹一款Pro/E二次開發(fā)插件——Pro/TK Tools。Pro/TK Tools是一款輔助Visual Studio 2005做Pro/E二次開發(fā)的工具,包括項(xiàng)目wizard,Resource UI的可視化設(shè)計(jì),自定義菜單
61、設(shè)計(jì)和vs2005環(huán)境中控制Pro/E插件程序的注冊等功能。相同的工作,采用Pro/TK輔助,能提升效率數(shù)十倍。 </p><p> 安裝Pro/TK Tools時(shí),安裝目錄最好使用軟件默認(rèn)目錄,無需更改。根據(jù)Pro/E的安裝版本選擇Pro/E的安裝目錄,如圖2-2所示,本機(jī)Pro/E版本為野火4.0[11]。</p><p><b> 3.1.2新建工程</b>
62、</p><p> 運(yùn)行Visual Studio 2005,選擇【文件】->【新建】->【項(xiàng)目】命令,如圖2-3所示。</p><p> 在【新建項(xiàng)目】對話框中【模板】欄下選擇ProToolkit_Wizard類型。輸入項(xiàng)目名稱和保存路徑,點(diǎn)擊【確定】按鈕,如圖2-4所示。</p><p> 選擇Pro/E的版本號,此處選擇wildfire 4.
63、0版本,其余項(xiàng)默認(rèn)即可,點(diǎn)擊【finish】完成新建過程,如圖2-5所示。</p><p> 3.1.3設(shè)置包含文件和庫文件</p><p> 選擇【工具】->【選項(xiàng)】命令,在出現(xiàn)的【選項(xiàng)】對話框的【項(xiàng)目和解決方案】節(jié)點(diǎn)下選擇【C++目錄】選項(xiàng),在【顯示一下內(nèi)容的目錄】下拉列表中選擇【包含文件】,如圖2-6所示[12]。</p><p> 單擊【…】添加
64、以下文件夾。</p><p> …\proeWildfire4.0\protoolkit\include</p><p> …\proeWildfire4.0\protoolkit\protk_appls\includes</p><p> …\proeWildfire4.0\prodevelop\includes</p><p>
65、…\proeWildfire4.0\prodevelop\prodev_appls\includes</p><p> 本機(jī)Pro/E軟件安裝在D盤PTC文件夾中,故添加路徑為圖2-6所示。</p><p> 在【顯示一下內(nèi)容的目錄】下拉列表中選擇【庫文件】,單擊【…】添加以下文件夾。</p><p> …\proeWildfire4.0\protoolkit
66、\i486_nt\obj</p><p> …\proeWildfire4.0\prodevelop\i486_nt\obj</p><p><b> 如圖2-7所示。</b></p><p> 3.1.4 編寫注冊文件</p><p> Pro/TOOLKIT應(yīng)用程序在Pro/Engineer中運(yùn)行前,必須先進(jìn)
67、行注冊。注冊文件以向Pro/Engineer傳遞應(yīng)用程序信息為作用。注冊文件的各字段名及其含義見表2-2[12]。</p><p> 表2-2 注冊文件的各字段名及其含義</p><p> 注冊文件文件名必須以dat作為擴(kuò)展名,一個(gè)注冊文件可寫人多條注冊信息。</p><p> 修改注冊文件如圖2-11:</p><p> 3.1.
68、5程序的運(yùn)行與卸載</p><p> 程序的運(yùn)行,這里有三種方法。</p><p> 用Pro/TK Tools直接加載運(yùn)行。</p><p> 啟動Pro/E軟件,在Visual Studio 2005菜單欄中點(diǎn)擊【Pro/Tools(X)】->【Pro/TK APP Start】,如圖2-12所示。</p><p><b
69、> 手動加載</b></p><p> 啟動Pro/E軟件,點(diǎn)擊【工具】->【輔助應(yīng)用程序】,在彈出的輔助應(yīng)用程序?qū)υ捒蛑悬c(diǎn)擊【注冊】,如圖2-13所示。</p><p> 選擇C:\Users\Administrator\Desktop\ProToolkit_Wizard1\ProToolkit_Wizard1\text文件夾下的ProToolkit_Wiz
70、ard1.dat文件。此時(shí)dat文件被加載到輔助應(yīng)用程序?qū)υ捒蛑校x中列表框中項(xiàng)目,【啟動】按鈕由灰變亮,點(diǎn)擊【啟動】即可運(yùn)行程序,如圖2-14所示。</p><p> 在桌面上右擊Pro/Engineer圖標(biāo),在彈出的快捷萊單中選擇【屬性】命令,在彈出的屬性對話框中,記下Pro/E起始位置的路徑,即工作目錄,如圖2-15所示,本機(jī)路徑為D:\PTC\Work。將C:\Users\Administrator\D
71、esktop\ProToolkit_Wizard1\ProToolkit_Wizard1\text文件夾下的ProToolkit_Wizard1.dat文件復(fù)制到Pro/E工作目錄中,打開該文件,將文件中的“DELAY_START TRUE”改為“DELAY_START FALSE”,并更名為protk.dat。啟動Pro/E后即可自動運(yùn)行程序。</p><p> 以上三種方法均可實(shí)現(xiàn)程序的運(yùn)行,運(yùn)行后的效
72、果如圖2-16所示。</p><p> 卸載應(yīng)用程序時(shí),可以選擇Visual Studio 2005菜單欄中【Pro/Tools(X)】->【Pro/TK APP Start】,如圖2-17所示。</p><p> 或是在Pro/E軟件中,點(diǎn)擊【工具】->【輔助應(yīng)用程序】,在彈出的輔助應(yīng)用程序?qū)υ捒蛑羞x中列表框里項(xiàng)目,此時(shí)【停止】按鈕由灰變亮,點(diǎn)擊【停止】即可卸載應(yīng)用程序,
73、如圖2-18所示。</p><p> 3.2自定義菜單常用函數(shù)</p><p> 菜單欄菜單包含菜單欄、菜單、圖標(biāo)、按鈕、復(fù)選框、單選按鈕組等項(xiàng)目,在Pro/TOOLKIT中,用戶不但可以創(chuàng)建新的菜單欄菜單,也可以對Pro/E系統(tǒng)現(xiàn)有的菜單欄菜單進(jìn)行修改。通過對菜單的修改實(shí)現(xiàn)對菜單的本地語言化翻澤。菜單欄菜單各項(xiàng)目如圖3-1所示[13]。</p><p> 3
74、.2.1菜單欄菜單的添加</p><p> 菜單欄菜單是Pro/E菜單體系的最頂層菜單,菜單欄菜單添加的函數(shù)是ProMenubarMenuAdd,其定義如下:</p><p> #include <ProMenuBar.h> //包含文件</p><p> ProErrorProMenubarMenuAdd (</p>
75、<p> ProMenuItemName menu_name</p><p> ProMenuItemLabeluntranslated_menu_label</p><p> ProMenuItemName neighbor</p><p> ProBooleanadd_after_neighbor</
76、p><p> ProFileName filename</p><p><b> )</b></p><p><b> Returns:</b></p><p> PRO_TK_NO_ERROR</p><p> PRO_TK_MSG_NOT_FOUN
77、D</p><p> PRO_TK_E_FOUND</p><p> PRO_TK_GENERAL_ERROR</p><p> 參數(shù)含義具體解釋如下:</p><p> (1)menu_name為新添菜單欄菜單名稱,ProMenuItemName類型。</p><p> ?。?)untransla
78、ted_menu_label為菜單欄菜單標(biāo)題文本,標(biāo)題文本是顯示在菜單上的文字,入“工具”、“幫助”等就是菜單欄標(biāo)簽。這個(gè)參數(shù)里需要輸入的是在信息文本中定義原語言版本的標(biāo)簽。</p><p> ?。?)neighbor參數(shù)用于定義菜單將會被放在哪個(gè)菜單旁邊,如菜單欄菜單【窗口】的鄰居可是【工具】,也可以是【幫助】。如果想把菜單欄菜單添加到【工具】旁邊,則這個(gè)參數(shù)的值為:“Utilities”。</p>
79、<p> ?。?)add_after_neighbor參數(shù)是一個(gè)布爾類型,可以選取PRO_B_FALSE或者PRO_B_TRUE,用來定義新添加的菜單欄菜單在鄰居的那一側(cè),如果要使添加的菜單在【工具】的左側(cè)[14],則參數(shù)的值為:“PRO_B_FALSE” 。</p><p> 3.2.2菜單按鈕的添加</p><p> 單擊某個(gè)菜單按鈕后,應(yīng)能響應(yīng)某個(gè)函數(shù),因此它的添加
80、過程分為兩步:首先是菜單按鈕和添加動作函數(shù),然后把菜單按鈕與動作函數(shù)聯(lián)系起來,作為菜單按鈕的響應(yīng)函數(shù)。</p><p> 1)菜單動作函數(shù)命令的添加</p><p> 在將菜單按鈕和動作函數(shù)聯(lián)系起來之前,先在程序主文件的頭文件中定義動作函數(shù),如:“int Menu1_1_fun();”。</p><p> 在Pro/Toolkit中,將菜單按鈕和動作函數(shù)聯(lián)系
81、起來的函數(shù)是ProCmdActionAdd,其定義如下:</p><p> #include <ProMenuBar.h> //包含文件</p><p> ProErrorProCmdActionAdd(</p><p> char* action_name</p><p> uiCmdCmdA
82、ctFn action_cb</p><p> uiCmdPriority priority</p><p> uiCmdAccessFn access_func</p><p> ProBoolean allow_in_non_active_window</p><p> ProBoolean allo
83、w_in_accessory_window</p><p> uiCmdCmdId* action_id</p><p><b> )</b></p><p><b> Returns:</b></p><p> PRO_TK_NO_ERROR</p><p&
84、gt; PRO_TK_GENERAL_ERROR</p><p> PRO_TK_E_FOUND</p><p> 各參數(shù)具體解釋含義如下:</p><p> (1)action_name為動作命令的名稱。該名稱必須是唯一的,不能與其他動作命令同名。</p><p> ?。?)action_cb為動作函數(shù)的名稱。例如定義了一個(gè)函
85、數(shù)int Menu1_1_fun(),把它作為菜單的動作函數(shù),那么這個(gè)參數(shù)的的值可以是:(uiCmdCmdActFn)Menu1_1_fun,即把函數(shù)Menu1_1_fun強(qiáng)制轉(zhuǎn)換為uiCmdCmdActFn類型,并以指針方式傳入。如果int Menu1_1_fun()的定義為:</p><p> int Menu1_1_fun()</p><p><b> {</
86、b></p><p> AFX_MANAGE_STATE(AfxGetStaticModuleState());</p><p> AfxMessageBox(_T("你好"));</p><p><b> return 0;</b></p><p><b> }</b&
87、gt;</p><p> 則點(diǎn)擊該菜單項(xiàng)后就會彈出消息提示框,并顯示“你好”。</p><p> ?。?)Priority指定動作函數(shù)的優(yōu)先級別。優(yōu)先級別是在程序執(zhí)行過程調(diào)用多個(gè)動作函數(shù)時(shí),哪個(gè)函數(shù)優(yōu)先就會先被執(zhí)行。</p><p> ?。?)access_func是訪問控制函數(shù)。有時(shí)需要菜單在不同的情況顯示不同的狀態(tài),如不可見、可見但處于灰化狀態(tài)、正常狀態(tài)等等。
88、菜單的狀態(tài)通過這個(gè)函數(shù)來進(jìn)行控制的。</p><p> ?。?)allow_in_non_active_window是一個(gè)布爾類型參數(shù),表示這個(gè)命令是否允許在非激活的窗口下執(zhí)行。取PRO_B_TRUE值,表示允許在非激活窗口下使用;取PRO_B_FALSE值,表示不允許在非激活窗口下使用。何謂激活窗口,Pro/E運(yùn)行時(shí)可以有多個(gè)窗口,但只能有個(gè)處于激活狀態(tài),只能對激活狀態(tài)的窗口進(jìn)行操作,如果要激活其他窗口,需要
89、在【窗口】菜單下單擊【激活】。</p><p> (6)allow_in_accessory_window也是一個(gè)布爾類型的參數(shù),表示動作函數(shù)是否允許在沒有模型窗門下被執(zhí)行。剛啟動的Pro/E系統(tǒng)可能并沒有模型被打開,如果動作函數(shù)要對模型進(jìn)行操作,那么在沒有模型的情況下,按鈕應(yīng)該是不允許被執(zhí)行的,這個(gè)時(shí)候參數(shù)可以取PRO_B_FALSE。但像【打開】等這種不需要對當(dāng)前模型進(jìn)行操作的動作函數(shù),可以取PRO_B_T
90、RUE,以允許動作函數(shù)被執(zhí)行。</p><p> ?。?)action_id是返回的動作函數(shù)的標(biāo)識。這也是我們使用這個(gè)函數(shù)所需要得到的。uiCmdCmdid的定義如下:</p><p> Typedef void uiCmdCmdid;</p><p> 3.2.3下級菜單的添加</p><p> 在一個(gè)菜單欄菜單需要添加子菜單(二級菜
91、單)或在子菜單中添加三級菜單可以使用ProMenubarmenuMenuAdd函數(shù)。其定義如下[7]:</p><p> #include <ProMenuBar.h></p><p> ProErrorProMenubarmenuMenuAdd(</p><p> ProMenuItemName parent_menu</p>
92、;<p> ProMenuItemName menu_name</p><p> ProMenuItemLabel menu_label</p><p> ProMenuItemName neighbor</p><p> ProBoolean add_after_neighbor</p><p>
93、 ProFileName filename</p><p><b> )</b></p><p><b> Returns:</b></p><p> PRO_TK_NO_ERROR</p><p> PRO_TK_MSG_NOT_FOUND</p><p>
94、; PRO_TK_E_FOUND</p><p> PRO_TK_GENERAL_ERROR</p><p> 各參數(shù)的具體含義解釋如下:</p><p> (1)parent_menu父菜單名。</p><p> ?。?)menu_name需要添加的子菜單名。</p><p> ?。?)menu_label子
95、菜單的文本標(biāo)簽,需要和菜單資源文件保持一致。</p><p> ?。?)add_after_neighbor鄰近按鈕的名字。</p><p> 3.3自定義菜單設(shè)計(jì)</p><p> 為方便用戶的使用,課題設(shè)計(jì)的軟件盡可能的做到人性化。首先是在Pro/E菜單欄中添加【通用零件庫】菜單項(xiàng),按照彈簧、齒輪、軸承三大類零件,在【通用零件庫】下添加【彈簧】、【齒輪】、【
96、軸承】菜單項(xiàng),此三個(gè)菜單項(xiàng)下又各包含下級菜單,顯示具體的零件名按鈕,用戶點(diǎn)擊不同的按鈕,系統(tǒng)將會彈出不同的對話框,以生成相應(yīng)的零件模型。為方便操作使用,菜單還加入了【生成模型樹】、【窗口視圖】、【關(guān)于】按鈕?!旧赡P蜆洹堪粹o可以激活用戶新生成的通用零件庫內(nèi)的模型,展開模型樹,從而可以使用戶在需要時(shí)對零件做一定的修改?!敬翱谝晥D】可以調(diào)整活動窗口的狀態(tài),用戶可以清除或是重畫窗口內(nèi)容,刷新窗口或者調(diào)整窗口視圖大小。如圖3-2~3-4所示。
97、</p><p> 3.4 UI對話框基本知識</p><p> UI對話框是Pro/TOOLKIT提供的一種自定義人機(jī)交互界面,即用戶界面對話框(User Interface Dialog Boxes)的簡稱。開發(fā)者可以利用Pro/TOOLKIT提供的UI對話框技術(shù),設(shè)計(jì)出與Pro/E對話框風(fēng)格相似的人機(jī)交互界面。它主要由對話框資源文件和對應(yīng)的控制程序兩部分組成。對話框資源文件定義了
98、對話框的組成、外觀和屬性,用ASCII碼文本格式編寫;采用C或C++語言編寫的控制程序,用來驅(qū)動在Pro/E系統(tǒng)中載入對話框資源、顯示對話框和設(shè)置動作等操作[15]。</p><p> 3.4.1資源文件及格式</p><p> 資源文件是用來描述UI對話框外觀和定義其屬性的文本文件。其主要內(nèi)容包括UI對話框的組成部分各元件(component)、元件的屬性定義與元件的布局形式。<
99、;/p><p> 資源文件的結(jié)構(gòu)如下:</p><p> (Dialog<對話框名></p><p> ?。–omponents</p><p><b> ……</b></p><p><b> ?。?lt;/b></p><p> ?。≧es
100、ources</p><p><b> ……</b></p><p><b> (.Layout</b></p><p><b> ……</b></p><p><b> ?。?lt;/b></p><p><b> ?。?/p>
101、</b></p><p><b> ?。?lt;/b></p><p> Dialog<對話框名>為頂層語句,下面主要由兩段構(gòu)成,其中元件段(Components)聲明了該對話框的所有元件,資源段(Resources)分別定義了各元件的屬性及布局。元件聲明的格式為:</p><p> ?。ㄔ愋兔?lt;/p&g
102、t;<p> 類型名為系統(tǒng)所定義,元件名為用戶定義,前者可以理解為元件對象類,后者可以理解為元件對象的實(shí)例,如(PushButtonOK),其中“PushButton”為類型名,“OK”為元件名。元件屬性的格式為:</p><p> ?。ㄔ?屬性名屬性值)</p><p> 如(OK.Label“確定”),其中“OK”為開始已經(jīng)聲明過的元件名,“Label”為“
103、OK”對象的標(biāo)簽屬性,屬性值為中文字符串“確定”。如果忽略了元件名,則表示上級元件的屬性,如“(.Label “直齒輪參數(shù)化建模”)”表示對話框的標(biāo)題為“直齒輪參數(shù)化建?!薄?lt;/p><p> “(.Layout(……))”為對話框的布局定義,其中(Grid (Rows 1 1…)(Cols 1…)定義了對話框中元件的位置網(wǎng)格。Row表示行,Cods表示列,其值為“l(fā)”表示一行(列),n個(gè)1代表n行(列)。如
104、“(Grid (Rows 1 1) (Cols 1 1)……)”表示定義了兩行,每行按兩個(gè)元件布局。表示行或列的“1”也可以用“0”代替,“1”表示元件的大小可以隨UI對話框的大小變化而變化,“0”則不可以。Grid的一般格式為:</p><p> (Grid (Rows 1……)(Cols l……)</p><p><b> <元件名></b><
105、;/p><p><b> ……</b></p><p> (Pos <行> <列)</p><p><b> <元件名></b></p><p><b> ……</b></p><p><b> )<
106、;/b></p><p> Pos語句用來指定其后的第1個(gè)元件的位置,這樣可以使元件不按順序排列,還可以設(shè)置空位置。</p><p> 編寫資源文件時(shí)應(yīng)注意以下兒點(diǎn):</p><p><b> (1)區(qū)分大小寫。</b></p><p> ?。?)括號必須成對,為了便于查錯(cuò),最好采用縮進(jìn)行格式書寫。</
107、p><p> ?。?)對話框名必須與資源文件名相同。</p><p> ?。?)“!”后的內(nèi)容為注釋,對UI對話框的定義沒有影響。</p><p> ?。?)資源文件可用任意一種支持純文本格式的文字處理軟件編寫。如Word,寫字板和記事本等,也可以用VC應(yīng)用程序設(shè)計(jì)向?qū)Ь帉?。不管用哪種方法編寫,都必須以純文本格式保存,且文件擴(kuò)展名必須為.res。保存在Pro/E安裝月錄
108、下的\text\resource子目錄或注冊文件中TEXT_DIR字段指定目錄下的\<language>\resvurce子目錄,其中<language>取決于當(dāng)前使用的語言(如usascii或chinese_cn )。對于Pro/TOOLKIT應(yīng)用程序中使用的資源文件最好保存在注冊文件中TEXT_DIR字段指定目錄下的\<language>\resource子目錄中。</p><
109、p> 3.4.2主要函數(shù)介紹</p><p> 資源文件只是對UI對話框的具體描述,必須通過Pro/TOOLKIT應(yīng)用程序來對其進(jìn)行裝入、顯示和控制等操作[16]。</p><p><b> 創(chuàng)建和終止UI話框</b></p><p><b> 創(chuàng)建過程如下:</b></p><p>
110、 ?。?)調(diào)用ProUIDialogCreate()函數(shù)把資源文件載入電腦內(nèi)存。</p><p> ?。?)調(diào)用對話框元件的動作設(shè)置函數(shù)設(shè)置某些元件的動作函數(shù)。</p><p> ?。?)調(diào)用ProUIDialogAcrivate()函數(shù)顯示和激活對話框。</p><p> ?。?)調(diào)用ProUIDialogDestroy()函數(shù)從內(nèi)存清除對話框資源。</p&
111、gt;<p> 上述4各步驟是創(chuàng)建一個(gè)UI對話樞的基本步驟,可作為相對固程序結(jié)構(gòu)。其中第2步的動作設(shè)置函數(shù)與元件類型有關(guān),它的主要目的是設(shè)置用戶在對話框界面上對某一元件進(jìn)行操作時(shí)(如:在輸入框中輸入內(nèi)容、選擇單選按鈕組中的某個(gè)按鈕等)調(diào)用的動作函數(shù),動作函數(shù)需要在Pro/TOOLKIT應(yīng)用程序中定義。</p><p> 完成上述4個(gè)步驟在屏幕上顯示對話框并從內(nèi)存清除對話框資源后,等待用戶的操作,
112、調(diào)用包含調(diào)用ProUIDialogExit()的動作函數(shù),終止對話框。如果不執(zhí)行第4步,調(diào)用ProUIDialogExit()將無法終止對話框。</p><p> 2.ProUIDiaIog類對話框函數(shù)介紹</p><p> ProUIDialog類對話框函數(shù)是指用于對話框(不包含元件)操作的相關(guān)函數(shù),函數(shù)名前綴為ProUIDialog。</p><p> (
113、1)ProUIDialogCreate()函數(shù)</p><p> ProError ProUIDialogCreate(char* dialog_name/*(In)對話框名*/</p><p> char* resource/*(In)資源文件名*/)</p><p><b> 函數(shù)返回值為:</b></p>&l
114、t;p> PRO_TK_NO_ERROR(調(diào)用成功);</p><p> PRO_TK_GENERAL_ERROR(一般錯(cuò)誤)。</p><p> ?。?)ProUlDialogActivate()函數(shù)</p><p> ProError PProUlDialogActivate(char* dialog_name/*(In)對話框名*/</p
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于proe的齒輪模型庫二次開發(fā)畢業(yè)設(shè)計(jì)
- proe二次開發(fā)畢業(yè)設(shè)計(jì)論文
- 機(jī)械畢業(yè)設(shè)計(jì)891基于proe的通用零件的二次開發(fā)設(shè)計(jì)正文
- 機(jī)械畢業(yè)設(shè)計(jì)891基于proe的通用零件的二次開發(fā)設(shè)計(jì)正文
- 液壓缸參數(shù)化設(shè)計(jì)及標(biāo)準(zhǔn)件庫的二次開發(fā).pdf
- 機(jī)械畢業(yè)設(shè)計(jì)891基于ProE的通用零件的二次開發(fā)設(shè)計(jì)正文.doc
- 基于UG二次開發(fā)的注塑模具標(biāo)準(zhǔn)件庫的研究與開發(fā).pdf
- 機(jī)械畢業(yè)設(shè)計(jì)891基于ProE的通用零件的二次開發(fā)設(shè)計(jì)正文.doc
- 集中潤滑系統(tǒng)標(biāo)準(zhǔn)件的二次開發(fā)與仿真.pdf
- solidworks二次開發(fā)畢業(yè)設(shè)計(jì)
- 基于SolidWorks的起重機(jī)三維標(biāo)準(zhǔn)件庫的二次開發(fā)與研究.pdf
- solid works二次開發(fā)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)-erp軟件的二次開發(fā)
- 基于.net的autocad二次開發(fā)——聯(lián)軸器標(biāo)準(zhǔn)庫的建設(shè)
- 1 基于proe的緊固件二次開發(fā)
- 1 基于proe的緊固件二次開發(fā)
- AUTOCAD二次開發(fā)——機(jī)構(gòu)簡圖符號、標(biāo)準(zhǔn)件等的參數(shù)化繪圖.pdf
- 基于proe的三維標(biāo)準(zhǔn)件庫的研究與開發(fā)
- 基于proe的三維標(biāo)準(zhǔn)件庫的研究與開發(fā)
- 基于proe的三維標(biāo)準(zhǔn)件庫的研究與開發(fā)
評論
0/150
提交評論