2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩50頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  本科畢業(yè)論文</b></p><p><b>  (20 屆)</b></p><p>  基于Pro/E二次開(kāi)發(fā)的變壓器結(jié)構(gòu)件參數(shù)化設(shè)計(jì)</p><p>  所在學(xué)院 </p><p>  專業(yè)班級(jí)

2、電氣工程及其自動(dòng)化 </p><p>  學(xué)生姓名 學(xué)號(hào) </p><p>  指導(dǎo)教師 職稱 </p><p>  完成日期 年 月 </p><p>  基于Pro/E二次開(kāi)發(fā)的變壓器結(jié)構(gòu)件參數(shù)化

3、設(shè)計(jì)</p><p><b>  摘要</b></p><p>  電力變壓器是電力系統(tǒng)中重要的電氣設(shè)備,其絕緣結(jié)構(gòu)的合理性很大程度上決定了它的安全可靠運(yùn)行和使用壽命。本文便是研究如何實(shí)現(xiàn)變壓器結(jié)構(gòu)件的參數(shù)化設(shè)計(jì)。</p><p>  Pro/E軟件提供了Pro/TOOLKIT二次開(kāi)發(fā)工具,該工具提供了大量Pro/E功能函數(shù)。通過(guò)編寫(xiě)C語(yǔ)言程序

4、合理使用Pro/E的功能函數(shù),我們可以為Pro/E軟件擴(kuò)展我們所需要的功能,其中便包括針對(duì)零件的參數(shù)化設(shè)計(jì)功能。</p><p>  本文中共開(kāi)發(fā)了變壓器鐵心、靜電環(huán)、正角環(huán)、反角環(huán)和端圈等五個(gè)零件的參數(shù)化設(shè)計(jì)對(duì)話框。其中,鐵心的設(shè)計(jì)包含了高度、寬度以及鐵心柱、鐵軛厚度的修改;靜電環(huán)可修改其曲率半徑、絕緣層厚度等參數(shù);正反角環(huán),可修改其內(nèi)徑、外徑、高度和厚度等參數(shù);端圈,可修改墊塊厚度、紙圈厚度、紙圈內(nèi)外徑等參數(shù)

5、。</p><p>  在參數(shù)對(duì)話框中,我們可以通過(guò)修改零件原型的各個(gè)參數(shù),直接再生出新的零件。所以,我們可以方便的修改參數(shù)規(guī)格不合理的結(jié)構(gòu)件。利用此功能輔助設(shè)計(jì)變壓器,大大提高了工作效率。</p><p>  關(guān)鍵詞 :Pro/E二次開(kāi)發(fā);Pro/TOOLKIT;參數(shù)設(shè)計(jì) </p><p>  The Parametric Design of the Trans

6、former Structure Based on Pro/E Secondary Development</p><p><b>  Abstract</b></p><p>  In this paper, we will learn how can we use the Pro/TOOLKIT to make the secondary development

7、of Pro/E, in order to simple the transformer design and make the parametric design come true.</p><p>  Pro/E software provides us a development tool called Pro/TOOLKIT, which provide us a lot of Pro/E perfor

8、mance functions. We can extend the functionality we need for the Pro/E software, which would include the parametric design capabilities for parts, by means of writing C language program.</p><p>  In this pap

9、er, we have made five parametric design UI dialog for transformer core, wrist strap, horn ring and end circle. The transformer core design includes the height, width, and core column, the iron yoke thickness changes; we

10、can modify radius of curvature, insulation layer thickness and other parameters of wrist strap; we can modify the parameters such as diameter, diameter, height and thickness of positive and negative horn ring; for the en

11、d circle ,we can modify the pad thickness upon th</p><p>  In the Parameters dialog box, we can modify the parameters of the parts prototype direct regeneration of new parts. With this feature, we can easily

12、 modify the unreasonable structure .It can greatly improved work efficiency.</p><p>  Keywords:The Secondary Development of Pro/E;Pro/TOOLKIT;Parametric Design</p><p>  不要?jiǎng)h除行尾的分節(jié)符,此行不會(huì)被打印</p&

13、gt;<p><b>  目錄</b></p><p><b>  摘要I</b></p><p>  AbstractII</p><p><b>  第1章 緒論5</b></p><p>  1.1 計(jì)算機(jī)輔助設(shè)計(jì)變壓器意義5</p>

14、<p>  1.2 Pro/E用于變壓器設(shè)計(jì)的優(yōu)勢(shì)5</p><p>  1.3 Pro/E二次開(kāi)發(fā)與Pro/TOOLKIT的優(yōu)勢(shì)6</p><p>  1.4 本文主要研究目的和內(nèi)容6</p><p>  第2章 Pro/TOOLKIT應(yīng)用初步7</p><p>  2.1 Pro/E二次開(kāi)發(fā)環(huán)境設(shè)置7</p>

15、;<p>  2.1.1 包含Pro/ENGINEER提供的函數(shù)的頭文件7</p><p>  2.1.2 包含Pro/ENGINEER提供的庫(kù)文件8</p><p>  2.1.3 設(shè)置附加依賴項(xiàng)8</p><p>  2.2 Pro/TOOLKIT的應(yīng)用程序結(jié)構(gòu)9</p><p>  2.2.1 Pro/TOOLKI

16、T包含文件(Include Files)9</p><p>  2.2.2 Pro/TOOLKIT應(yīng)用程序的內(nèi)核9</p><p>  2.3 Pro/TOOLKIT的數(shù)據(jù)結(jié)構(gòu)10</p><p>  2.3.1 對(duì)象及對(duì)象名10</p><p>  2.3.2 動(dòng)作及Pro/TOOLKIT函數(shù)10</p><p

17、>  2.3.3 對(duì)象句柄11</p><p>  2.3.4 Pro/TOOLKIT的函數(shù)原型與函數(shù)的返回值11</p><p>  2.4 寬字符(wchar_t)11</p><p>  2.4.1 寬字符函數(shù)11</p><p>  第3章 Pro/E模型參數(shù)化設(shè)計(jì)文件與函數(shù)說(shuō)明13</p><p&

18、gt;  3.1 相關(guān)文件的使用與說(shuō)明13</p><p>  3.1.1 注冊(cè)文件13</p><p>  3.1.2 跟蹤文件14</p><p>  3.2 設(shè)計(jì)菜單14</p><p>  3.2.1 向菜單欄中添加菜單條14</p><p>  3.2.2 向菜單條中添加菜單按鈕設(shè)置按鈕動(dòng)作函數(shù)1

19、4</p><p>  3.3 設(shè)計(jì)對(duì)話框15</p><p>  3.3.1 資源文件15</p><p>  3.3.2 UI對(duì)話框的控制程序設(shè)計(jì)16</p><p><b>  3.4 模型16</b></p><p>  3.4.1 模型對(duì)象16</p><p

20、>  3.4.2 模型項(xiàng)16</p><p>  3.4.3 實(shí)體對(duì)象16</p><p>  3.5 三維模型的參數(shù)化設(shè)計(jì)17</p><p>  3.5.1 三維模型樣板的建立17</p><p>  3.5.2 參數(shù)化設(shè)計(jì)程序18</p><p>  第4章 自定義函數(shù)與變壓器結(jié)構(gòu)件的參數(shù)設(shè)計(jì)1

21、9</p><p>  4.1 自定義函數(shù)19</p><p>  4.1.1 函數(shù)ParamsList ( )19</p><p>  4.1.2 函數(shù)ParamGetAndShow( )20</p><p>  4.1.3 函數(shù)Update_Action( )20</p><p>  4.1.4 函數(shù) Pa

22、ramUpdate( )21</p><p>  4.1.5 函數(shù)CANCEL_Action( )22</p><p>  4.2 鐵心的參數(shù)化設(shè)計(jì)22</p><p>  4.3 靜電環(huán)的參數(shù)化設(shè)計(jì)23</p><p>  4.4 角環(huán)的參數(shù)化設(shè)計(jì)24</p><p>  4.5 端圈的參數(shù)化設(shè)計(jì)25&l

23、t;/p><p><b>  結(jié)論I</b></p><p><b>  致謝II</b></p><p><b>  參考文獻(xiàn)III</b></p><p><b>  附錄AIV</b></p><p><b> 

24、 附錄BVIII</b></p><p><b>  緒論</b></p><p>  千萬(wàn)不要?jiǎng)h除行尾的分節(jié)符,此行不會(huì)被打印。在目錄上點(diǎn)右鍵“更新域”,然后“更新整個(gè)目錄”。打印前,不要忘記把上面“Abstract”這一行后加一空行</p><p><b>  緒論</b></p><

25、p>  計(jì)算機(jī)輔助設(shè)計(jì)變壓器意義</p><p>  電力變壓器是電力網(wǎng)中的主要電力設(shè)備,在電力系統(tǒng)中起到改變電壓等級(jí)的作用。并且,電力變壓器還廣泛應(yīng)用與發(fā)電廠、輸變電網(wǎng)絡(luò)和變電中。由于其重要性,電力變壓器得到迅猛得發(fā)展。</p><p>  電力變壓器在未來(lái)有著極大的發(fā)展空間。目前,制約變壓器電壓等級(jí)和容量的關(guān)鍵因素是其絕緣問(wèn)題。絕緣結(jié)構(gòu)設(shè)計(jì)的優(yōu)劣不僅限制了變壓器容量,而且對(duì)變壓器

26、的安全可靠運(yùn)行及經(jīng)濟(jì)性具有重要意義。</p><p>  從二十世紀(jì)80年代以后,隨著計(jì)算機(jī)技術(shù)的發(fā)展,CAD在變壓器設(shè)計(jì)方面的應(yīng)用變得越來(lái)越廣泛。世界上很多大型的變壓器制造商,如瑞士的ABB、德國(guó)的西門子等都開(kāi)發(fā)研制出了自己的變壓器CAD技術(shù)。而美國(guó),早在二十世紀(jì)50年代便將計(jì)算機(jī)輔助設(shè)計(jì)引入到變壓器的電磁設(shè)計(jì)中。在二十世紀(jì)60年代,日本、英國(guó)、挪威等發(fā)達(dá)國(guó)家也開(kāi)始致力于研究變壓器的優(yōu)化設(shè)計(jì)工作。</p&

27、gt;<p>  隨著我國(guó)電力事業(yè)的快速發(fā)展,為了滿足市場(chǎng)對(duì)加快產(chǎn)品設(shè)計(jì)即生產(chǎn)周期的需求同時(shí)也為了減輕設(shè)計(jì)人員的勞動(dòng)強(qiáng)度及降低差錯(cuò)率,使用計(jì)算機(jī)CAD技術(shù)輔助設(shè)計(jì)變壓器已經(jīng)廣泛使用于行業(yè)之中。我國(guó)在變壓器CAD技術(shù)方面的研究開(kāi)始于二十世紀(jì)70年代。在變壓器三維結(jié)構(gòu)設(shè)計(jì)方面,我國(guó)沈變研究所處于全國(guó)領(lǐng)先水平,先后研制出引線設(shè)計(jì)、鐵心設(shè)計(jì)、油箱設(shè)計(jì)、繞組及器身絕緣設(shè)計(jì)等一系列數(shù)字化設(shè)計(jì)系統(tǒng),并得到全面應(yīng)用,充分驗(yàn)證了計(jì)算機(jī)輔助設(shè)

28、計(jì)系統(tǒng)的實(shí)用性與便捷性。</p><p>  先進(jìn)、完善的CAD技術(shù)不僅可以提高企業(yè)設(shè)計(jì)生產(chǎn)的效率,它的演進(jìn),更是與一個(gè)國(guó)家的工業(yè)發(fā)展息息相關(guān)。我國(guó)在CAD技術(shù)上雖然取得了很大的進(jìn)步,但從總體上看,尤其是在變壓器CAD技術(shù)上,與發(fā)達(dá)國(guó)家相比還有一段距離。我國(guó)自主研發(fā)的CAD軟件功能略為單一且商業(yè)化程度不夠高,有很大的發(fā)展空間。</p><p>  Pro/E用于變壓器設(shè)計(jì)的優(yōu)勢(shì)</p

29、><p>  Pro/E是1988年由美國(guó)PTC(參數(shù)設(shè)計(jì))公司開(kāi)發(fā)的三維建模軟件。經(jīng)過(guò)不斷的發(fā)展和完善,目前該軟件已成為世界上最普及的CAD/CAM/CAE軟件之一,成為三維機(jī)械設(shè)計(jì)軟件的領(lǐng)軍者。使用Pro/E進(jìn)行變壓器設(shè)計(jì)與AutoCAD相比優(yōu)勢(shì)非常顯著。</p><p>  1.提高了效率。天威保定變壓器廠對(duì)使用兩種設(shè)計(jì)方法設(shè)計(jì)相同型號(hào)變壓器所需時(shí)間進(jìn)行了對(duì)比。采用AutoCAD軟件設(shè)計(jì)

30、折算到1名設(shè)計(jì)人員所需時(shí)間為5個(gè)月,同時(shí),使用Pro/E軟件設(shè)計(jì)只需1個(gè)月的時(shí)間。設(shè)計(jì)周期縮短了80%。</p><p>  2.減少了設(shè)計(jì)錯(cuò)誤的發(fā)生。Pro/E具有干涉檢查與虛擬裝配兩大AutoCAD不具備的功能。其中,干涉檢查可以檢查裝配體中各零件是否有相交部分,虛擬裝配功能使設(shè)計(jì)人員可以講每個(gè)零件裝配起來(lái),形成一個(gè)完整產(chǎn)品。這兩大功能可以大大減少設(shè)計(jì)人員的錯(cuò)誤,提高產(chǎn)品的質(zhì)量。</p><

31、;p>  3.工程圖紙比例真實(shí)。利用Pro/E軟件進(jìn)行設(shè)計(jì)產(chǎn)生的工程圖紙均是在三維實(shí)體模型上產(chǎn)生的,這就保證了工程圖紙的圖形比例與真實(shí)結(jié)構(gòu)一致性,提高了工程圖紙的質(zhì)量。</p><p>  Pro/E二次開(kāi)發(fā)與Pro/TOOLKIT的優(yōu)勢(shì)</p><p>  Pro/E具有很強(qiáng)的通用性,廣泛應(yīng)用與電氣、機(jī)械、模具、工業(yè)設(shè)計(jì)等行業(yè),是一個(gè)全方位3D產(chǎn)品開(kāi)發(fā)軟件。然而,正是由于這種廣而博

32、的通用性,衍生出“二次開(kāi)發(fā)”的出現(xiàn)。</p><p>  所謂的“二次開(kāi)發(fā)”就是插件設(shè)計(jì),也就是“編程”。因?yàn)椋骸疤煜聸](méi)有十全十美的軟件,同時(shí)因?yàn)樵O(shè)計(jì)行業(yè)的面太廣太雜,也無(wú)法應(yīng)付所有的分支專業(yè)”。當(dāng)企業(yè)因?yàn)楦?jìng)爭(zhēng)激烈,而急需設(shè)計(jì)效益或降低成本時(shí),就愿意花錢購(gòu)買一些特別針對(duì)該專業(yè)設(shè)計(jì)的CAD功能軟件,以增加企業(yè)競(jìng)爭(zhēng)力。變壓器CAD技術(shù)便是在原有軟件上作二次開(kāi)發(fā)。</p><p>  對(duì)Pro/

33、E二次開(kāi)發(fā)主要通過(guò)兩種方法分別是C語(yǔ)言和VB語(yǔ)言。C語(yǔ)言是通過(guò)基于Pro/E軟件自帶的二次開(kāi)發(fā)軟件包Pro/TOOLKIT來(lái)實(shí)現(xiàn)的,該方法是Pro/E最根本的二次開(kāi)發(fā)方法。甚至Pro/E程序本身便是基于Pro/TOOLKIT應(yīng)用程序開(kāi)發(fā)的,所以,用它寫(xiě)成的程序可達(dá)到與Pro/E無(wú)縫連接的境界。同時(shí),Pro/TOOLKIT使用面向?qū)ο箫L(fēng)格的C編程,且提供了一個(gè)龐大、用于底層資源調(diào)用的C語(yǔ)言函數(shù)庫(kù)和頭文件 ,能夠使外部應(yīng)用程序安全有效地訪問(wèn)

34、Pro/E的數(shù)據(jù)庫(kù)和應(yīng)用程序。使用VB語(yǔ)言的優(yōu)勢(shì)在于簡(jiǎn)單易學(xué),但使用此語(yǔ)言一般需要第三方軟件作為中間橋梁才能訪問(wèn)Pro/E的底層數(shù)據(jù)庫(kù),達(dá)到Pro/E二次開(kāi)發(fā)目的。</p><p>  本文主要研究目的和內(nèi)容</p><p>  本文主要研究如何利用Pro/E系統(tǒng)提供的Pro/TOOLKIT工具包的支持,實(shí)現(xiàn)變壓器端部絕緣件的參數(shù)化設(shè)計(jì)。在本文中,共設(shè)計(jì)了變壓器鐵心、靜電環(huán)、正角環(huán)、反角環(huán)

35、和端圈的參數(shù)化設(shè)計(jì)對(duì)話框??梢酝ㄟ^(guò)編輯對(duì)話框中顯示的對(duì)應(yīng)參數(shù)值,修改絕緣件的參數(shù)尺寸。并且,再生為一個(gè)新的零件。本文編寫(xiě)的詳細(xì)代碼見(jiàn)附錄。</p><p>  Pro/TOOLKIT應(yīng)用初步</p><p>  本章主要研究Pro/TOOLKIT使用的一些基礎(chǔ)知識(shí),是做Pro/E二次開(kāi)發(fā)的必備知識(shí),可以說(shuō)是做二次開(kāi)發(fā)的常識(shí)。所以,本章節(jié)除了做參數(shù)化設(shè)計(jì)所用到的個(gè)別函數(shù)外,其余知識(shí)不提供具

36、體例子加以詳細(xì)解說(shuō)。</p><p>  Pro/E二次開(kāi)發(fā)環(huán)境設(shè)置</p><p>  針對(duì)Pro/E WildFire 5.0版本官方推薦使用Microsoft Visual Studio 2008(下文簡(jiǎn)稱VS2008)編寫(xiě)二次開(kāi)發(fā)程序。要開(kāi)發(fā)用于Pro/E的程序,必須使用Pro/E提供的接口函數(shù),要使用這些接口函數(shù),就必須對(duì)VS2008進(jìn)行一些配置,使VS2008能夠找到這些函數(shù)的

37、聲明和用法。</p><p>  包含Pro/ENGINEER提供的函數(shù)的頭文件</p><p>  設(shè)置方法:打開(kāi)VS2008之后,直接選擇“工具”“選項(xiàng)”,在選項(xiàng)對(duì)話框內(nèi)做如上圖2-1所示的設(shè)置。</p><p>  圖2-1 Microsoft Visual Studio 2008配置包含文件</p><p>  需要在包含目錄中添加如

38、圖所示四個(gè)路徑,路徑中<……>為Pro/E的安裝路徑。</p><p>  <......>\protoolkit\protk_appls\includes</p><p>  <......>\protoolkit\includes</p><p>  <…..>\prodevelop\prodev_appls\in

39、cludes</p><p>  <......>\prodevelop\includes</p><p>  包含Pro/ENGINEER提供的庫(kù)文件</p><p>  設(shè)置方法:需要在庫(kù)目錄中添加如圖2-2所示三個(gè)路徑。</p><p>  <......>\prodevelop\x86e_win64\obj&l

40、t;/p><p>  <......>\protoolkit\x86e_win64\obj</p><p>  <......>\x86e_win64\obj</p><p>  圖2-2 Microsoft Visual Studio 2008配置庫(kù)文件</p><p><b>  設(shè)置附加依賴項(xiàng)</b

41、></p><p>  設(shè)置方法如圖2-3所示。</p><p>  圖2-3 Microsoft Visual Studio 2008 項(xiàng)目屬性設(shè)置</p><p>  附加依賴項(xiàng)是針對(duì)于具體項(xiàng)目的設(shè)置,所以首先要“文件”“新建”“項(xiàng)目”,建立“MFC DLL”項(xiàng)目,生成新項(xiàng)目之后,選擇菜單上的“項(xiàng)目”“屬性”,進(jìn)行如圖2-3所示的設(shè)置。在附加依賴項(xiàng)紅框內(nèi)加

42、入一些庫(kù):</p><p>  wsock32.lib mpr.lib psapi.lib protk_dllmd.lib netapi32.lib</p><p>  這些庫(kù)保證了鏈接的時(shí)候能夠找到toolkit函數(shù),這些庫(kù)項(xiàng)目根據(jù)不同的二次開(kāi)發(fā)項(xiàng)目是不同的,庫(kù)的說(shuō)明參見(jiàn)“附錄2 Pro/TOOLKIT各個(gè)庫(kù)文件的詳解.docx”。配置紅框內(nèi)有Debug和Release兩個(gè)選項(xiàng),都需要設(shè)

43、置附加依賴項(xiàng)。</p><p>  前兩項(xiàng)設(shè)置是在Microsoft Visual Studio 2008未建立任何項(xiàng)目的時(shí)候設(shè)置的,這兩項(xiàng)設(shè)置始終被Microsoft Visual Studio 2008保存,以后不需要重新設(shè)置。但第三項(xiàng)附加依賴項(xiàng)的設(shè)置是每建立一個(gè)新項(xiàng)目都需要重新設(shè)置的。</p><p>  Pro/TOOLKIT的應(yīng)用程序結(jié)構(gòu)</p><p>

44、  Pro/TOOLKIT包含文件(Include Files)</p><p>  在在編程過(guò)程中,使用的每一個(gè)Pro/TOOLKIT函數(shù),必須總是包含含這些函數(shù)原形的頭文件。如果在使用Pro/TOOLKIT應(yīng)用程序中使用Pro/DEVELOP-類型函數(shù),必須在Pro/Toolkit.h前包含Prodevelop.h。每個(gè)Pro/TOOLKIT應(yīng)用程序源文件中,都必須包含的“頭文件”(Header File)是

45、ProToolkit.h。這個(gè)文件定義了值wchar_t,即以廣義字符定義了字符類型,而這些字符將被許多其他的包含文件所引用。</p><p>  Pro/TOOLKIT應(yīng)用程序的內(nèi)核</p><p>  Pro/TOOLKIT應(yīng)用程序必須包含user_initialize和user_terminate函數(shù)。user_initialize()是Pro/TOOLKIT應(yīng)用程序的初始化函數(shù),主

46、要用來(lái)對(duì)同步模式的Pro/TOOLKIT應(yīng)用程序進(jìn)行初始化,任何同步模式的應(yīng)用程序要在Pro/E系統(tǒng)中加載都必須包含該函數(shù),其作用相當(dāng)于C程序中的main()函數(shù)。在該函數(shù)中設(shè)置用戶的交互接口,如設(shè)置菜單及菜單的響應(yīng)函數(shù)等。user_initialize()函數(shù)的參數(shù)如下: </p><p>  extern “C”:指明函數(shù)名改編的方式,實(shí)現(xiàn)C++與C及其它語(yǔ)言的混合編程。</p><p&g

47、t;  Int:函數(shù)返回值為整數(shù)。</p><p>  argc:參數(shù)數(shù)組argv中的參數(shù)個(gè)數(shù)。</p><p>  argv:char型的指針數(shù)組,用來(lái)存放輸入的命令行變量。</p><p>  version:Pro/ENGINEER的版本號(hào)。</p><p>  build:Pro/ENGINEER的構(gòu)建代碼。</p>&

48、lt;p>  errbuf:是輸出函數(shù),用來(lái)存放初始化失敗的錯(cuò)誤信息。</p><p>  argc、argv、version、build是Pro/E向應(yīng)用程序傳遞的參數(shù)。</p><p>  user_initialize()的這五個(gè)參數(shù)可以不定義,直接不寫(xiě)。</p><p>  函數(shù)返回PRO_TK_NO_ERROR表示初始化成功。</p>

49、<p>  user_initialize( ) 必須至少包含一個(gè)Pro/TOOLKIT的API調(diào)用。</p><p>  user_terminate ( )在需要終止同步模式的Pro/TOOLKIT應(yīng)用程序時(shí)調(diào)用。user_terminate( )由用戶定義,其中可以不包含任何代碼,但必須添加在dll中。</p><p>  該函數(shù)完整定義格式如圖2-3:</p>

50、<p>  圖2-3 user_initialize()函數(shù)的完整定義</p><p>  Pro/TOOLKIT的數(shù)據(jù)結(jié)構(gòu)</p><p><b>  對(duì)象及對(duì)象名</b></p><p>  Pro/TOOLKIT的對(duì)象實(shí)質(zhì)是一種類型為結(jié)構(gòu)體的數(shù)據(jù),結(jié)構(gòu)體中的成員描述了該對(duì)象的屬性。為了便于區(qū)別,在Pro/TOOLKIT中所有

51、對(duì)象的命名約定為:Pro+<對(duì)象名>,對(duì)象名用英文表示。如ProFeature(特征對(duì)象)、ProSurface(曲面對(duì)像)。</p><p>  動(dòng)作及Pro/TOOLKIT函數(shù)</p><p>  對(duì)特定的Pro/TOOLKIT對(duì)象執(zhí)行某種操作稱為動(dòng)作,動(dòng)作的執(zhí)行時(shí)通過(guò)調(diào)用Pro/TOOLKIT函數(shù)庫(kù)提供的C函數(shù)實(shí)現(xiàn)的。與動(dòng)作相關(guān)的Pro/TOOLKIT函數(shù)命名約定為:Pr

52、o+<對(duì)象名>+<動(dòng)作>,表示<對(duì)象名>和<動(dòng)作>的英文單詞首字母均用大寫(xiě)表示,如ProFeatureCreate()(特征創(chuàng)建)、ProFeatureDelete()(特征刪除)。</p><p><b>  對(duì)象句柄</b></p><p>  句柄,是整個(gè)windows編程的基礎(chǔ)。一個(gè)句柄是指使用的一個(gè)唯一的整數(shù)值

53、,即一個(gè)四字節(jié)長(zhǎng)的數(shù)值,來(lái)標(biāo)志應(yīng)用程序中的不同對(duì)象和同類對(duì)象中的不同的實(shí)例,諸如,一個(gè)窗口,按鈕,圖標(biāo),滾動(dòng)條,控件或者文件等。應(yīng)用程序能夠通過(guò)句柄訪問(wèn)相應(yīng)的對(duì)象的信息,但是句柄不是一個(gè)指針,程序不能利用句柄來(lái)直接閱讀文件中的信息。。</p><p>  在每個(gè)Pro/TOOLKIT中,每一個(gè)對(duì)象都有一個(gè)相應(yīng)的C類型定義(TypeDef),稱為一個(gè)“句柄”(Handle),它的名字通常在對(duì)象名稱前加上前綴“Pro

54、”。句柄作為類型被使用在所有指向一個(gè)那種類型的對(duì)象的變量和參數(shù)中。例如,任何對(duì)一個(gè)實(shí)體執(zhí)行一個(gè)操作的Pro/TOOLKIT函數(shù)都有一個(gè)ProSolid類型的輸入?yún)?shù)。</p><p>  Pro/TOOLKIT的函數(shù)原型與函數(shù)的返回值</p><p>  Pro/TOOLKIT函數(shù)庫(kù)提供的庫(kù)函數(shù)均有相應(yīng)的ANSI函數(shù)原型,并在相應(yīng)的頭文件中定義,在調(diào)用函數(shù)之前必須將頭文件包含在C程序中。大

55、多數(shù)Pro/TOOLKIT函數(shù)的返回值類型為ProError。用來(lái)表示調(diào)用函數(shù)執(zhí)行狀態(tài)。其中,返回值是PRO_TK_NO_ERROR表示函數(shù)調(diào)用成功。在編程中,通過(guò)檢查函數(shù)的返回值不僅便于在調(diào)試時(shí)找出錯(cuò)誤,更重要是可以避免在執(zhí)行時(shí)出現(xiàn)異常情況,提高程序的可靠性。</p><p>  寬字符(wchar_t)</p><p>  與Pro/E相同,Pro/TOOLKIT必須在使用非ASCII

56、的字符(Character Strings)的環(huán)境下運(yùn)行,即所有對(duì)用戶可見(jiàn)的字符及字符串(包括各種文字消息、鍵盤輸入、文件名,以及所有尺寸標(biāo)注名、參數(shù)名等)都不是字符char,而是一種寬字符 wchar_t。</p><p><b>  寬字符函數(shù)</b></p><p>  寬字符串函數(shù)包括ProStringToWstring()和ProWstringToStrin

57、g( )。在設(shè)計(jì)自己的處理寬符串的工具,為了保證可移植性,如果程序中需要使用ASCII編碼,那么要將所有輸入的寬字符串轉(zhuǎn)化為字符串。一般使用的方法是,使用ProWstringToString( );然后在適當(dāng)之處使用標(biāo)準(zhǔn)C函數(shù)執(zhí)行必要的操作;并使用ProStringToWstring( )將結(jié)果轉(zhuǎn)回廣義字符串。</p><p>  1.ProWstringToString( )用來(lái)將標(biāo)準(zhǔn)的ASCII字符轉(zhuǎn)化為寬字

58、符;</p><p>  2.ProStringToWstring( )用來(lái)將寬字符轉(zhuǎn)化為標(biāo)準(zhǔn)的ASCII字符。</p><p>  本文所做參數(shù)化設(shè)計(jì)中使用到ProStringToWstring( )函數(shù),其函數(shù)定義為: wchar_t* ProStringToWstring (wchar_t* wstr ,char* str)</p><p>  該函數(shù)用來(lái)將c

59、har變量轉(zhuǎn)化為wchar_t變量;其中第一個(gè)參數(shù)wstr為寬字符指針,輸出變量;第二個(gè)參數(shù)str為普通字符指針,輸入變量。在本文參數(shù)化設(shè)計(jì)中的用法舉例:</p><p>  ProFileName MsgFile;--------------------------------------------1</p><p>  ProStringToWstring(MsgFile, &quo

60、t;Message.txt");----------------2</p><p>  Note:第一行為變量“MsgFile”的聲明,此變量為下面的菜單添加函數(shù)ProMenubarMenuAdd ( )需要調(diào)用的信息文檔名(信息文檔的詳細(xì)用法說(shuō)明將在下一章節(jié)說(shuō)明)。在第二行,因?yàn)镻roMenubarMenuAdd ()為Pro/TOOLKIT提供函數(shù),無(wú)法直接在函數(shù)中調(diào)用char字符變量“Messag

61、e.txt”,必須經(jīng)由ProStringToWstring( )輸出為成寬字符MsgFile提供給函數(shù)ProMenubarMenuAdd ( )使用。</p><p>  Pro/E模型參數(shù)化設(shè)計(jì)文件與函數(shù)說(shuō)明</p><p>  相關(guān)文件的使用與說(shuō)明</p><p><b>  注冊(cè)文件</b></p><p>  任

62、何一個(gè)Pro/TOOLKIT應(yīng)用程序,必須編寫(xiě)一個(gè)dat格式的文本文件(如ZhengJiaoHuan_protk.dat)作為注冊(cè)文件,才能使Pro/ENGINEER系統(tǒng)識(shí)別并執(zhí)行應(yīng)用程序。</p><p><b>  注冊(cè)文件的語(yǔ)法格式</b></p><p>  注冊(cè)文件是一個(gè)簡(jiǎn)單的文本文件,每一行都有一個(gè)預(yù)先定義的關(guān)鍵詞,典型的DLL模式注冊(cè)文件內(nèi)容如:<

63、/p><p>  name 畢業(yè)設(shè)計(jì) //應(yīng)用程序名稱//</p><p>  startup dll //程序啟動(dòng)方式//</p><p>  exec_file <directory>/TieXin.dll

64、 //dll程序路徑及名稱//</p><p>  text_dir <directory>/text //文本路徑//</p><p>  allow_stop true //允許終止程序//</p><p>  revision 24

65、 //版本號(hào)//</p><p>  end //結(jié)束標(biāo)志//</p><p>  注冊(cè)文件中主要關(guān)鍵字的含義如下:</p><p>  name: 應(yīng)用程序的標(biāo)識(shí)名稱。</p><p>  exec_file: 指定

66、包含具體路徑的應(yīng)用程序名稱。</p><p>  text_dir: 指定完整的應(yīng)用程序所需的文本路徑。在這個(gè)路徑下應(yīng)用程序所用到的菜單資源文件、窗口信息資源文件、對(duì)話框資源文件。這些資源文件一般包含在名為“text”的文件夾下。</p><p>  allow_stop:若設(shè)置為“TRUE”,則準(zhǔn)許用戶在Pro/ENGINEER進(jìn)程中中止Pro/TOOKIT程序的執(zhí)行,以滿足在不退出Pr

67、o/E進(jìn)程的前提下反復(fù)修改應(yīng)用程序的目的。</p><p>  end:用于指示注冊(cè)文件的結(jié)尾。</p><p><b>  文本信息文件</b></p><p>  文本信息文件主要是為所編寫(xiě)的函數(shù)程序提供文本信息說(shuō)明。本文中所編寫(xiě)的顯示于外的菜單名稱、按鈕名稱、對(duì)話框名、以及它們的注釋說(shuō)明,都需要在信息文件中編寫(xiě)提供。信息文件將由四行語(yǔ)句的

68、組構(gòu)成(每組對(duì)應(yīng)一條編寫(xiě)的信息)。這四行語(yǔ)句的內(nèi)容如下:</p><p>  1.一個(gè)作為關(guān)鍵字的字符串,作為函數(shù)調(diào)用的標(biāo)識(shí)信息。</p><p>  2.當(dāng)調(diào)用函數(shù)時(shí),一個(gè)被用于代替第一個(gè)字符串的字符串。這個(gè)字符串類似printf ( ) 語(yǔ)句中的格式化字符串。通過(guò)修改信息文件中的這一行,就可以修改信息的文本,而無(wú)需修改C代碼。</p><p>  3.另一種語(yǔ)言

69、的信息翻譯。</p><p>  4.一個(gè)空行,為將來(lái)的擴(kuò)展預(yù)留(“#”也表示空行)。</p><p><b>  跟蹤文件</b></p><p>  處理菜單界面的所有函數(shù)都需要用到Pro/E用于識(shí)別命令和下拉式菜單選項(xiàng)的字符串。我們可以通過(guò)Pro/E工作目錄下的跟蹤文件(Trail File)來(lái)獲取一個(gè)動(dòng)作命令(包括下拉菜單名、命令按鈕等

70、所有界面上看得到的選項(xiàng))的識(shí)別名稱。獲取方法:首先,打開(kāi)Pro/E,并單擊目標(biāo)按鈕;然后,打開(kāi)Pro/E工作目錄,使用文字處理軟件打開(kāi)最新生成的跟蹤文件(即以trail為擴(kuò)展名的文件)查看。</p><p><b>  設(shè)計(jì)菜單</b></p><p>  Pro/E中所有的命令都可以通過(guò)菜單發(fā)出。為了方便的使用自定義的應(yīng)用程序,必須為自定義的功能函數(shù)創(chuàng)建觸發(fā)的菜單命

71、令選項(xiàng)。使用Pro/TOOLKIT可以修改并新增Pro/E的菜單結(jié)構(gòu)。</p><p>  PTC并不保證Pro/E界面的結(jié)構(gòu)在將來(lái)的版本中不會(huì)改變,因此,在編寫(xiě)Pro/TOOLKIT應(yīng)用程序時(shí),需要向菜單欄中新增一個(gè)菜單條,并往菜單條中新增菜單按鈕。設(shè)置菜單選項(xiàng)的動(dòng)作函數(shù)。</p><p>  向菜單欄中添加菜單條</p><p>  菜單條是Pro/E菜單體系中

72、最頂層的菜單,包含菜單、按鈕、復(fù)選按鈕、單選按鈕等項(xiàng)目。創(chuàng)建方法分兩步:</p><p>  1.使用函數(shù)ProMenubarMenuAdd ( ) 向Pro/E添加所需菜單;</p><p>  2.根據(jù)函數(shù)ProMenubarMenuAdd ( ) 中參數(shù)名編寫(xiě)信息文件。</p><p>  該函數(shù)的包含頭文件為“ProMenuBar.h”,所以,在編寫(xiě)程序是必

73、須首先添加“#include <ProMenuBar.h>”。這里需注意,在Microsoft Visual Studio 2008程序中編程必須使用英文輸入法編寫(xiě),否則,程序無(wú)法識(shí)別。其中,Microsoft Visual Studio 2008明確無(wú)法識(shí)別的包括中文引號(hào)、分號(hào)等標(biāo)點(diǎn)符號(hào)。</p><p>  向菜單條中添加菜單按鈕設(shè)置按鈕動(dòng)作函數(shù)</p><p>  要添加

74、一個(gè)按鈕至菜單條,應(yīng)做以下操作:</p><p>  1.使用函數(shù)ProCmdActionAdd ( ) 定義新增按鈕的動(dòng)作命令。其實(shí)質(zhì)是設(shè)置菜單項(xiàng)與動(dòng)作相關(guān)聯(lián)。</p><p>  2.使用函數(shù)ProMenubarmenuPushbuttonAdd ( ) 新增按鈕至菜單條,這個(gè)操作綁定了新增動(dòng)按鈕到菜單條的操作。</p><p>  通過(guò)以上操作,點(diǎn)擊新Pro/

75、E菜單條下新增按鈕時(shí),Pro/E就會(huì)執(zhí)行的動(dòng)作函數(shù)ProCmdActionAdd( )。該函數(shù)一般為用戶自定義函數(shù)。</p><p><b>  設(shè)計(jì)對(duì)話框</b></p><p>  用戶界面對(duì)話框( User Interface Dialog Boxes,簡(jiǎn)稱UI對(duì)話框 )是Pro/TOOLKIT提供的一種交互界面。程序員可以利用UI對(duì)話框技術(shù),在Pro/TOOL

76、KIT應(yīng)用程序中設(shè)計(jì)出風(fēng)格與Pro/E系統(tǒng)本身具有的對(duì)話框相似的人機(jī)交互界面。UI對(duì)話框的設(shè)計(jì)方法主要由對(duì)話框資源文件和相應(yīng)的控制程序兩大部分構(gòu)成。對(duì)話框資源文件用ASCII碼文本格式編寫(xiě),其內(nèi)容定義了對(duì)話框的組成、外觀和屬性??刂瞥绦蛳喈?dāng)于驅(qū)動(dòng)程序,用C或C++語(yǔ)言編寫(xiě),用來(lái)在Pro/E環(huán)境裝入對(duì)話框資源、顯示對(duì)話框、設(shè)置動(dòng)作和退出對(duì)話框等。</p><p><b>  資源文件</b>&

77、lt;/p><p>  首先介紹資源文件的總體結(jié)構(gòu),如下所示:</p><p>  (Dialog<對(duì)話框名></p><p> ?。–omponents ……)(Resources……)</p><p><b>  )</b></p><p>  Dialog<對(duì)話框名>為

78、頂層語(yǔ)句,主要包含以下兩段:</p><p>  1.元件段 (Components…)</p><p>  本段聲明了該對(duì)話框的所有元件,元件聲明的格式:</p><p>  (元件類型名 元件名)。</p><p>  2.資源段 ( Resources …)</p><p>  資源段包含了對(duì)原件屬性的定義以及對(duì)

79、話框中布局的定義。</p><p>  元件屬性的格式為:(元件名.屬性名 屬性值)。</p><p>  對(duì)話框的布局定義格式如下:</p><p><b>  (.Layout</b></p><p>  (Grid (Rows l…) (Cols l…)</p><p><b>

80、  <元件名></b></p><p><b>  )</b></p><p>  其中 ( Grid (Rows l…) ( Cols l…) 定義了對(duì)話框中元件的位置網(wǎng)格。Row表示行,Cols表示列,其值為“l(fā)”表示一行,“l(fā) l”則表示兩行,n個(gè)1或0代表n行。表示行或列的“l(fā)”也可以取“0”,“l(fā)”表示元件的大小可隨UI對(duì)話框的大小

81、變化而變。</p><p>  UI對(duì)話框的控制程序設(shè)計(jì)</p><p>  資源文件僅僅是對(duì)UI對(duì)話框的描述,必須通過(guò)Pro/TOOLKIT應(yīng)用程序來(lái)裝入、顯示和控制對(duì)話框。創(chuàng)建一個(gè)UI對(duì)話框的分四個(gè)步驟。</p><p>  1.調(diào)用函數(shù)ProUIDialogCreate ( ) 用于將資源文件調(diào)入內(nèi)存,是創(chuàng)建一個(gè)UI對(duì)話框的首要步驟 。</p>

82、<p>  2.編寫(xiě)輸入框的設(shè)置函數(shù)以及按鈕的動(dòng)作函數(shù)。</p><p>  UI對(duì)話框中每個(gè)元件都有各自的屬性、屬性值、以及相關(guān)的控制函數(shù)。因?yàn)楸疚闹饕獮榱藢?shí)現(xiàn)參數(shù)設(shè)計(jì),所以在本文只用到并介紹輸入框(InputPanel)和按鈕(PushButton)的動(dòng)作函數(shù)。以下為Pro/TOOLKIT提供的三個(gè)基本函數(shù)。</p><p>  ProUIInputpanelValueGet

83、 ( )從輸入框中獲取參數(shù)值。</p><p>  ProUIInputpanelValueSet ( ) 獲取指定參數(shù)值。</p><p>  ProUIPushbuttonActivateActionSet( )設(shè)置按鈕的動(dòng)作。</p><p>  3.調(diào)用ProUIDialogActivate ( ) 顯示和激活對(duì)話框。</p><p>

84、;  4.調(diào)用ProUIDialogDestroy( ) 清除對(duì)話框資源。</p><p><b>  模型</b></p><p><b>  模型對(duì)象</b></p><p>  模型對(duì)象即模型句柄。句柄,是整個(gè)windows編程的基礎(chǔ)。一個(gè)句柄是指使用的一個(gè)唯一的整數(shù)值,來(lái)標(biāo)志應(yīng)用程序中的不同對(duì)象和同類對(duì)象中的不同的

85、實(shí)例。模型句柄被定義為無(wú)類型指針。它不僅可以表示零件模型。工程圖模型,還可以表示其他類型的模型。同時(shí),因?yàn)槠渲档牟淮_定性,不能直接用來(lái)引用不在Pro/E系統(tǒng)當(dāng)前內(nèi)存中的模型。當(dāng)前窗口中模型句柄的獲取可以通過(guò)函數(shù)ProMdlCurrentGet ( )來(lái)實(shí)現(xiàn)的。 </p><p><b>  模型項(xiàng)</b></p><p>  模型項(xiàng)(modelitem)是一個(gè)結(jié)構(gòu)體類

86、型的通用對(duì)象,主要用來(lái)描述不同類型模型中所包含的項(xiàng)目。在Pro/TOOLKIT中用ProModelitem表示模型項(xiàng)對(duì)象(結(jié)構(gòu)體)。可以通過(guò)函數(shù)ProMdlToModelitem ( )將模型句柄轉(zhuǎn)換為模型項(xiàng)。</p><p><b>  實(shí)體對(duì)象</b></p><p>  實(shí)體對(duì)象是模型對(duì)象的一中,用于表示零件模型和裝配件模型。函數(shù)ProSolidRegenera

87、te ( ) 可以再生或更新一個(gè)實(shí)體零件。定義如下:</p><p>  ProError ProSolidRegenerate (ProSolid p_handle,int flags);</p><p>  函數(shù)中參數(shù)“p_handle”是零件模型的句柄;“flags”是用來(lái)設(shè)置再生過(guò)程的選項(xiàng)。詳細(xì)設(shè)置請(qǐng)參考幫助文檔。</p><p>  三維模型的參數(shù)化設(shè)計(jì)&

88、lt;/p><p>  利用設(shè)計(jì)參數(shù)來(lái)控制三維模型的基本原理是采用三維模型與程序控制相結(jié)合的方式。在以創(chuàng)建的零件三維模型基礎(chǔ)上,進(jìn)一步根據(jù)零件設(shè)計(jì)要求建立一組可以控制三維模型形狀大小的設(shè)計(jì)參數(shù)。參數(shù)化程序針對(duì)該零件的設(shè)計(jì)參數(shù)進(jìn)行編程,實(shí)現(xiàn)設(shè)計(jì)參數(shù)的檢索、修改以及根據(jù)新的參數(shù)值生成新的三位模型的功能。其主要過(guò)程如圖3-1所示:</p><p>  圖3-1 三維模型參數(shù)設(shè)計(jì)流程圖</p&g

89、t;<p><b>  三維模型樣板的建立</b></p><p>  在Pro/E環(huán)境用人機(jī)交互方式建立三維模型樣板。創(chuàng)建方法與一般的三維模型相同,但需注意以下幾點(diǎn):</p><p><b>  約束</b></p><p>  在對(duì)三維模型樣板進(jìn)行特征造型時(shí),對(duì)二維截面輪廓,利用尺寸標(biāo)注和施加相切、固定點(diǎn)

90、、同心、共線、垂直及對(duì)稱等關(guān)系實(shí)現(xiàn)對(duì)幾何圖形的全約束。</p><p><b>  設(shè)計(jì)參數(shù)</b></p><p>  正確設(shè)置控制三維模型的設(shè)計(jì)參數(shù)。設(shè)計(jì)參數(shù)可分為兩種情況:一是與其他參數(shù)無(wú)關(guān)的獨(dú)立參數(shù);另一種是與其他參數(shù)相關(guān)的非獨(dú)立參數(shù)。前者主要用來(lái)控制三維模型的幾何尺寸和拓樸關(guān)系,后者可用以獨(dú)立參數(shù)為自變量的關(guān)系式表示。</p><p>

91、;<b>  參數(shù)與尺寸變量關(guān)聯(lián)</b></p><p>  正確建立設(shè)計(jì)參數(shù)與三維模型尺寸變量之間的關(guān)聯(lián)關(guān)系。在Pro/E中創(chuàng)建草圖、加減材料和其他修飾特征時(shí),系統(tǒng)將會(huì)以d0、dl、d2…等默認(rèn)的符號(hào)給特征的約束參數(shù)命名。系統(tǒng)的約束參數(shù)命名是由Pro/ENGINEER系統(tǒng)自動(dòng)創(chuàng)建的,其值控制三維模型的幾何尺寸和拓樸關(guān)系,與用戶建立的參數(shù)無(wú)關(guān)。要使用戶建立的設(shè)計(jì)參數(shù)能夠控制三維模型,必須使二

92、者相關(guān)聯(lián)。主要有兩種方法:</p><p>  1.在創(chuàng)建或修改特征需要輸入數(shù)值時(shí),直接輸入?yún)?shù)名。如在草圖中標(biāo)注或修改尺寸值時(shí)用參數(shù)名代替具體數(shù)值。</p><p>  2.利用Pro/E的關(guān)系式功能創(chuàng)建新的關(guān)系式,使Pro/E系統(tǒng)自動(dòng)創(chuàng)建的約束參數(shù)名與設(shè)計(jì)參數(shù)關(guān)聯(lián)。</p><p><b>  參數(shù)化設(shè)計(jì)程序</b></p>

93、<p>  本程序的功能主要包括檢索三維模型的設(shè)計(jì)參數(shù)、并提供參數(shù)的編輯功能和根據(jù)新的設(shè)計(jì)參數(shù)再生三維模型的功能。</p><p><b>  參數(shù)對(duì)象和參數(shù)值</b></p><p>  參數(shù)對(duì)象(Parameter Object)和參數(shù)值(the value of a parameter)均是結(jié)構(gòu)體的一種數(shù)據(jù)對(duì)象。在Pro/TOOLKIT中,前者為Pro

94、Parameter類型數(shù)據(jù),后者為ProParamvalue類型數(shù)據(jù)。</p><p><b>  參數(shù)對(duì)象的檢索</b></p><p>  要從Pro/E的模型或特征中獲取參數(shù)值,首先必須得到只想該參數(shù)對(duì)象的指針,即從Pro/E數(shù)據(jù)庫(kù)中檢索到所需的參數(shù)對(duì)象句柄。通過(guò)調(diào)用函數(shù)ProParameterInit ( )初始化參數(shù)指針,根據(jù)已知的參數(shù)名和父對(duì)象獲取指向Pr

95、oParameter對(duì)象的指針。</p><p><b>  參數(shù)的編輯</b></p><p>  本文中對(duì)參數(shù)的編輯即是將零件中舊的參數(shù)值替換為我們輸入的新的參數(shù)值。又因?yàn)閁I對(duì)話框的輸入框的存在,這里就需要用到下面兩個(gè)函數(shù)ProParameterValueGet( )與ProParameterValueSet( )。函數(shù)ProParameterValueGet(

96、 )通過(guò)輸入一個(gè)參數(shù)對(duì)象指針來(lái)獲取參數(shù)對(duì)象的值。函數(shù)ProParameterValueSet( )作用為輸入一個(gè)參數(shù)對(duì)象指針與參數(shù)對(duì)象值,并將對(duì)象值賦與該對(duì)象。</p><p><b>  實(shí)體模型的再生</b></p><p>  模型的再生可使用函數(shù)ProSolidRegenerate ( )實(shí)現(xiàn)。</p><p>  自定義函數(shù)與變壓器結(jié)

97、構(gòu)件的參數(shù)設(shè)計(jì)</p><p><b>  自定義函數(shù)</b></p><p>  雖然Pro/TOOLKIT自身提供了大量的函數(shù),但這些函數(shù)的功能畢竟單一,僅僅依靠它們并不能實(shí)現(xiàn)用戶多樣的功能要求。這時(shí)候,必須依靠用戶編寫(xiě)自定義的函數(shù)來(lái)合理運(yùn)用各函數(shù)的功能以實(shí)現(xiàn)自己所要的功能。</p><p>  以鐵心的參數(shù)化設(shè)計(jì)為例(見(jiàn)圖5-6)。點(diǎn)擊菜

98、單條下“鐵心參數(shù)設(shè)計(jì)”按鈕,會(huì)彈出鐵心參數(shù)設(shè)計(jì)對(duì)話框。在鐵心的對(duì)話框中,輸入框首先會(huì)顯示零件的對(duì)應(yīng)參數(shù)的初始值。然后,我們可以在輸入框中輸入新的參數(shù)。最后點(diǎn)擊“模型更新”按鈕會(huì)執(zhí)行一個(gè)將輸入框中的新參數(shù)更新到零件并再生為一個(gè)新的零件。這些,僅僅簡(jiǎn)單使用Pro/TOOLKIT提供的輸入框設(shè)置函數(shù)與按鈕動(dòng)作函數(shù)是無(wú)法實(shí)現(xiàn)這些功能的。所以,必須編寫(xiě)自定義函數(shù),將Pro/TOOLKIT提供的對(duì)話框函數(shù)、模型函數(shù)、參數(shù)相關(guān)函數(shù)有機(jī)的結(jié)合起來(lái),使其

99、各部所需以實(shí)現(xiàn)上述功能。</p><p>  本文共編寫(xiě)了MenuActFn( )、ParamGetAndShow( )、ParamsList( )、ParamUpdate( )、Update_Action( )與CANCEL_Action( )六個(gè)自定義函數(shù)。其中函數(shù)MenuActFn( )將作為4.2.2款中的動(dòng)作函數(shù),即執(zhí)行UI對(duì)話框的創(chuàng)建函數(shù)、對(duì)話框中輸入框設(shè)置函數(shù)、按鈕的動(dòng)作函數(shù)以及將對(duì)話框從內(nèi)存中清除

100、。自定義函數(shù)ParamsList( )作為輸入框的設(shè)置函數(shù),在本函數(shù)里將會(huì)執(zhí)行函數(shù)ParamGetAndShow( )。自定義函數(shù)Update_Action( )作為按鈕“模型更新”的動(dòng)作函數(shù),在本函數(shù)里包含了函數(shù)ParamUpdate( )。自定義函數(shù)CANCEL_Action( )作為按鈕“退出”的動(dòng)作函數(shù),將會(huì)清除輸入框中數(shù)據(jù),并執(zhí)行函數(shù)ProUIDialogExit( )來(lái)退出對(duì)話框。</p><p> 

101、 函數(shù)ParamsList ( )</p><p>  本函數(shù)的完整編碼如圖4-1所示。</p><p>  圖4-1函數(shù)ParamsList ( ) 編碼示意圖</p><p>  第一框中聲明了兩類模型變量,第二框中通過(guò)第一條函數(shù)獲取了當(dāng)前窗口中模型的對(duì)象句柄,并由第二個(gè)函數(shù)轉(zhuǎn)換為模型項(xiàng)輸出。第三框中,以為需要處理多組數(shù)據(jù),所以另外編寫(xiě)了自定義函數(shù)ParamGe

102、tAndShow( )。</p><p>  函數(shù)ParamGetAndShow( )</p><p>  本函數(shù)完整編碼如圖4-2所示。</p><p>  圖4-2 函數(shù)ParamGetAndShow ( ) 代碼示意圖</p><p>  圖中綠色文字為對(duì)編碼的注釋,對(duì)程序無(wú)影響。</p><p>  1號(hào)框:一

103、個(gè)模型項(xiàng),該參數(shù)從在ParamsList( )中獲??;</p><p>  2號(hào)框:4個(gè)參數(shù)變量的聲明;</p><p>  3號(hào)框:兩個(gè)Pro/TOOLKIT函數(shù)語(yǔ)句,分別用于初始化零件模型的參數(shù)和獲取參數(shù)值;</p><p>  4號(hào)框:上文介紹的Pro/TOOLKIT提供的輸入框設(shè)置函數(shù),用于將前面獲取到的參數(shù)值顯示于輸入框中。</p><

104、p>  函數(shù)Update_Action( )</p><p>  函數(shù)Update_Action( ) 的完整代碼如圖4-3所示。</p><p>  圖4-3 函數(shù)Update_Action( )代碼示意圖</p><p>  1號(hào)框:聲明了模型對(duì)象和模型項(xiàng)對(duì)象;</p><p>  2號(hào)框:第一個(gè)函數(shù)作用為獲取當(dāng)前模型的模型句柄,第

105、二個(gè)函數(shù)是將模型對(duì)象轉(zhuǎn)換為模型項(xiàng)對(duì)象;</p><p>  3號(hào)框:自定義函數(shù),函數(shù)功能為從參數(shù)輸入框中獲取新的參數(shù)值,并設(shè)置參數(shù)對(duì)象新的參數(shù)值。</p><p>  4號(hào)框:模型零件再生命令。當(dāng)前界面的零件經(jīng)過(guò)3號(hào)框中函數(shù)更新了指定的參數(shù)值,需要執(zhí)行此函數(shù)再生為新的零件。</p><p>  5號(hào)框:當(dāng)執(zhí)行零件再生命令后,會(huì)彈出再生進(jìn)度條,需要使用該函數(shù)來(lái)更新視圖

106、。</p><p>  函數(shù) ParamUpdate()</p><p>  函數(shù)的完整代碼如圖4-4所示。圖中各部分代碼意義如下。</p><p>  1號(hào)框:聲明了一個(gè)寬字符指針、寬字符對(duì)象、參數(shù)對(duì)象、參數(shù)值對(duì)象、“Char”類型字符串;</p><p>  2號(hào)框:首先利用函數(shù)ProStringToWstring( )將自定義Param

107、Update( )函數(shù)的第三個(gè)輸入?yún)?shù)“char”字符轉(zhuǎn)換為寬字符作為函數(shù)ProParameterInit( )的輸入值以初始化模型參數(shù)。然后執(zhí)行函數(shù)ProUIInputpanelValueGet( )從UI對(duì)話框的輸入框中獲取數(shù)值;</p><p>  3號(hào)框:將從UI對(duì)話框中獲取的數(shù)值轉(zhuǎn)換為“char”字符,作為四號(hào)框中C語(yǔ)句中選擇結(jié)構(gòu)的輸入值;</p><p>  4號(hào)框:第一條函數(shù)

108、通過(guò)參數(shù)對(duì)象“&param”與參數(shù)值對(duì)象“&value”獲取參數(shù)值,下面是一個(gè)C語(yǔ)句選擇結(jié)構(gòu),用于設(shè)置顯示于對(duì)話框的參數(shù)值的格式; </p><p>  5號(hào)框:通過(guò)函數(shù)ProParameterValueSet ( ) 獲取的參數(shù)值設(shè)置為當(dāng)前零件的參數(shù)值。</p><p>  圖4-4 函數(shù)ParamUpdate ( )代碼示意圖</p><p> 

109、 函數(shù)CANCEL_Action()</p><p>  該函數(shù)完整代碼如圖4-5所示:</p><p>  圖4-5 函數(shù)CANCEL_Action ( )代碼示意圖</p><p>  1號(hào)框:函數(shù)ProArrayFree ( ) 作用為釋放一個(gè)預(yù)先分配的數(shù)組;</p><p>  2號(hào)框:該函數(shù)作用為退出指定對(duì)話框。</p>

110、<p><b>  鐵心的參數(shù)化設(shè)計(jì)</b></p><p>  在設(shè)計(jì)零件鐵心時(shí),通過(guò)對(duì)稱拉伸、建立基準(zhǔn)約束等手段使得鐵心的外形尺寸上下、左右對(duì)稱。只需要修改兩個(gè)參數(shù)便能得到不同長(zhǎng)寬的鐵心。為了方便起見(jiàn),在這里通過(guò)新建基準(zhǔn)點(diǎn)與基準(zhǔn)軸使得三個(gè)鐵心柱截面直徑與鐵軛截面相同。所以,只需修改鐵心厚度(d0)便可改變鐵心柱直徑。圖4-6便是鐵心的參數(shù)化設(shè)計(jì)界面。</p>

111、<p>  圖4-6 鐵心的參數(shù)設(shè)計(jì)對(duì)話框</p><p><b>  靜電環(huán)的參數(shù)化設(shè)計(jì)</b></p><p>  靜電環(huán)參數(shù)對(duì)話框如圖4-7所示。</p><p>  圖4-7 靜電環(huán)參數(shù)設(shè)計(jì)對(duì)話框</p><p>  繞組端部場(chǎng)強(qiáng)較高, 為改善高電壓繞組端部或入口線段附近的電場(chǎng)分布,降低端部的最大電場(chǎng)

112、強(qiáng)度,在繞組上常采用靜電環(huán)( 也稱靜電板) 。</p><p>  靜電環(huán)是由最內(nèi)層的絕緣層、中間層的金屬層和外絕緣層三部分構(gòu)成的。靜電環(huán)結(jié)構(gòu)尺寸對(duì)端部電場(chǎng)影響很大,增大曲率半徑和絕緣層厚度均能使最大場(chǎng)強(qiáng)下降, 但應(yīng)使兩者比例合適時(shí)才能取得良好的結(jié)果。通過(guò)對(duì)圖中列表中參數(shù)的修改可以方便的得到形狀相同但尺寸不同的靜電環(huán)模型。</p><p>  考慮到金屬層與外絕緣層的厚度均勻,上下兩側(cè)的圓

113、弧為兩組同心圓弧。如圖中所示,絕緣層厚度(S)=曲率半徑(d3)+絕緣層半徑(d1)。金屬層厚度與絕緣層厚度均由下側(cè)半徑約束。這使得我們,在確定了曲率半徑(d3)的尺寸后,只需要編輯絕緣層半徑(d1)、金屬層半徑(d2)和外絕緣層半徑(d4)三個(gè)參數(shù)便可修改三層厚度。</p><p><b>  角環(huán)的參數(shù)化設(shè)計(jì)</b></p><p>  角環(huán)分為正角環(huán)與反角環(huán),在

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論