【正文】
機(jī)械設(shè)計(jì)制造及自動(dòng)化專業(yè)畢業(yè)論文 基于 Pro_E的彈簧模型庫(kù)二次開發(fā)設(shè)計(jì) 目 錄 1 概論 1 CAD/CAM 的發(fā)展現(xiàn)狀 1 課題的提出及意義 2 預(yù)期功能 3 本論文內(nèi)容 3 2 二次開發(fā)總體方案的確定 4 二次開發(fā)語(yǔ)言 Pro/TOOLKIT 4 開發(fā)工具的確定 4 開發(fā)環(huán)境 6 發(fā)環(huán)境 6 軟件開發(fā)環(huán)境 6 工作模式的確定 6 總體設(shè)計(jì)框架 7 3 彈簧的參數(shù)化設(shè)計(jì) 9 彈簧簡(jiǎn)介 9 彈簧的參數(shù)化建模 9 4 菜單與對(duì)話框的開發(fā)設(shè)計(jì) 12 菜單的設(shè)計(jì) 12 編寫菜單信息資源文件 13 編寫菜單操作源程序 16 注冊(cè)運(yùn)行 22 對(duì)話框的設(shè)計(jì) 23 編寫對(duì)話框資源文件 23 編寫對(duì)話框操作源程序 34 程序驗(yàn)證 35 5 本設(shè)計(jì)任務(wù)所完成的零件清單 37 結(jié)論 42 致謝 43 參考文獻(xiàn) 44 附錄 46 附錄 I 程序清單 46 附錄Ⅱ 外文文獻(xiàn)翻譯 54 附錄 III 外文文獻(xiàn)原文 62 摘 要 本課題針對(duì)多種類型彈簧,提出 基于 Pro/E 平臺(tái)進(jìn)行二次開發(fā)的一種可行方案。并且成功開發(fā)設(shè)計(jì)出能滿足用戶要求的彈簧模型庫(kù)。 本文首先簡(jiǎn)單介紹了與本課題相關(guān)的 Pro/E 二次開發(fā)功能,包括自定義菜單的生成、對(duì)話框的制作、 Pro/TOOLKIT 應(yīng)用程序的執(zhí)行。其次根據(jù)本課題的要求,分析了彈簧二次開發(fā)的整體設(shè)計(jì)思路。然后以圓截面圓柱螺旋壓縮彈簧為例,較詳細(xì)地說(shuō)明了利用 Pro/TOOLKIT 及 Visual C++ 在 Pro/E 二次開發(fā)中的應(yīng)用,并給出了測(cè)試實(shí)例。最后對(duì)開發(fā)的三維建模程序進(jìn)行測(cè)試。結(jié)果表明:開發(fā)程序正確無(wú)誤,建模迅速,大大提高了 這類通用件在 Pro/E 平臺(tái)上的設(shè)計(jì)效率。 關(guān)鍵詞: Pro/E、二次開發(fā)、彈簧模型庫(kù)、 Pro/TOOLKIT、 Visual C++ Abstract This article introduces a feasible method of secondary development based on Pro/E against some kinds of springs. And the spring parts library is successfully designed meet to the user requirements. Firstly, this article simply introduces the secondary development functions of Pro/E referring to this task which includes the creation of menu, the creation of the dialogue, the Pro/TOOLKIT procedure execution. Then the precept to the overall design way of spring secondary development is analyzed. With an example of a round crosssection helical pression spring in detail, it particularly describes the application of Pro/TOOLKIT and Visual C++ in the secondary development base on Pro/E, and test examples. At last, the test of all process of threedimensionpartmodel driven by database is performed indicates that the program is right, and the mold can be set up quickly. The efficiency for the design of interchangeable part based on Pro/E can be increased. Keywords: Pro/E、 Secondary Development、 Spring parts library、Pro/TOOLKIT、 Visual C++ Unigraphics UG UG是 UnigraphicsSolutions公司的拳頭產(chǎn)品。該公司首次突破傳統(tǒng) CAD/CAM模式,為用戶提供一個(gè)全面的產(chǎn)品建模系統(tǒng)。在 UG 中,優(yōu)越的參數(shù)化和變量化技術(shù)與傳統(tǒng)的實(shí)體、線框和表面功能結(jié)合在一起,這一結(jié)合被實(shí)踐證明是強(qiáng)有力的,并被大多數(shù) CAD/CAM 軟件廠商所采用。 SOLIDEDGE SOLIDEDGE 是真正 Windows 軟件。它不是將工作站軟件生硬地搬到 Windows平臺(tái)上,而是充分利用 Windows 基于組件對(duì)象模型 COM 的先進(jìn)技術(shù)重寫代碼。SOLIDEDGE 與 MicrosoftOffice 兼容,與 Windows 的 OLE 技術(shù)兼容,這使得設(shè)計(jì)師們?cè)谑褂?CAD 系統(tǒng)時(shí),能夠進(jìn)行 Windows 下字處理、電子報(bào)表、數(shù)據(jù)庫(kù)操作等。 SOLIDEDGE具有友好的用戶界面,它采用一種稱為 SmartRibbon的界面技術(shù),用戶只要按下一個(gè)命令按鈕,既可以在 SmartRibbon 上看到該命令的具體的內(nèi)容和詳細(xì)的步驟,同時(shí)在狀態(tài) 條上提示用戶下一步該做什么。 SOLIDEDGE 是基于參數(shù)和特征實(shí)體造型的新一代機(jī)械設(shè)計(jì) CAD 系統(tǒng),它是為設(shè)計(jì)人員專門開發(fā)的,易于理解和操作的實(shí)體造型系統(tǒng)。 AutoCAD AutoCAD 是 Autodesk 公司的主導(dǎo)產(chǎn)品。 Autodesk 公司是世界第四大 PC 軟件公司。目前在 CAD/CAE/CAM 工業(yè)領(lǐng)域內(nèi),該公司是擁有全球用戶量最多的軟件供應(yīng)商,也是全球規(guī)模最大的基于 PC 平臺(tái)的 CAD 和動(dòng)畫及可視化軟件企業(yè)。Autodesk 公司的軟件產(chǎn)品已被廣泛地應(yīng)用于機(jī)械設(shè)計(jì)、建筑設(shè)計(jì)、影視制作、視頻游戲開發(fā)以及 Web 網(wǎng) 的數(shù)據(jù)開發(fā)等重大領(lǐng)域。 AutoCAD 是當(dāng)今最流行的二維繪圖軟件,它在二維繪圖領(lǐng)域擁有廣泛的用戶群。 AutoCAD 有強(qiáng)大的二維功能,如繪圖、編輯、剖面線和圖案繪制、尺寸標(biāo)注以及二次開發(fā)等功能,同時(shí)有部分三維功能。在許多實(shí)際應(yīng)用領(lǐng)域 如機(jī)械、建筑、電子 中,一些軟件開發(fā)商在 AutoCAD 的基礎(chǔ)上已開發(fā)出許多符合實(shí)際應(yīng)用的軟件。 Pro/Engineer Pro/Engineer 系統(tǒng)是美國(guó) Parametric Technology Corporation 簡(jiǎn)稱 PTC 的產(chǎn)品。 PTC 公司提出的單一數(shù)據(jù)庫(kù)、參數(shù) 化、基于特征、全相關(guān)的概念改變了機(jī)械 CAD/CAE/CAM 的傳統(tǒng)觀念,這種全新的概念已成為當(dāng)今世界機(jī)械CAD/CAE/CAM 領(lǐng)域的新標(biāo)準(zhǔn)。利用該概念開發(fā)出來(lái)的第三代機(jī)械 CAD/CAE/CAM 產(chǎn)品 Pro/Engineer 軟件能將設(shè)計(jì)至生產(chǎn)全過(guò)程集成到一起,讓所有的用戶能夠同時(shí)進(jìn)行同一產(chǎn)品的設(shè)計(jì)制造工作,即實(shí)現(xiàn)所謂的并行工程。 Pro/Engineer 系統(tǒng)主要功能如下 : 1 真正的全相關(guān)性,任何地方的修改都會(huì)自動(dòng)反映到所有相關(guān)地方; 2 具有真正管理并發(fā)進(jìn)程、實(shí)現(xiàn)并行工程的能力; 3 具有強(qiáng)大的裝配功能, 能夠始終保持設(shè)計(jì)者的設(shè)計(jì)意圖; 4 容易使用,可以極大地提高設(shè)計(jì)效率。 Pro/Engineer 系統(tǒng)用戶界面簡(jiǎn)潔,概念清晰,符合工程人員的設(shè)計(jì)思想與習(xí)慣。整個(gè)系統(tǒng)建立在統(tǒng)一的數(shù)據(jù)庫(kù)上,具有完整而統(tǒng)一的模型。 Pro/Engineer建立在工作站上,系統(tǒng)獨(dú)立于硬件,便于移植。因此,本開發(fā)利用 Pro/Engineer為平臺(tái)對(duì)彈簧進(jìn)行二次開發(fā)。 課題的提出及意義 產(chǎn)品的三維設(shè)計(jì)離不開 CAD/CAM 系統(tǒng)的支持,具有技術(shù)成熟、功能強(qiáng)大的Pro/ENGINEER 參數(shù)化造型系統(tǒng)在設(shè)計(jì)和制造業(yè)中引起了人們的重視,并 得到了日益廣泛的應(yīng)用。 Pro/ENGINEER 提供了強(qiáng)大的三維幾何造型功能,使我們能夠創(chuàng)建出各種復(fù)雜的幾何模型,作為通用的三維 CAD/CAM 系統(tǒng)在功能上基本能夠滿足產(chǎn)品三維設(shè)計(jì)要求,但有時(shí)這些功能并不能滿足我們的需求。例如標(biāo)準(zhǔn)零件系列,它們的結(jié)構(gòu)都是相同的,區(qū)別只在于尺寸,如果標(biāo)準(zhǔn)零件系列都通過(guò)三維建模的方式來(lái)實(shí)現(xiàn),那么工作量將非常巨大。雖然 Pro/ENGINEER 自身也有一些模型庫(kù),但是這遠(yuǎn)遠(yuǎn)滿足不了用戶的要求。因此,也就有了本課題研究開發(fā)的必要。 機(jī)械產(chǎn)品的開發(fā)過(guò)程中會(huì)用到大量的通用零件、標(biāo)準(zhǔn)件、相似件 。如何建立這些常用零部件的庫(kù),利用已有的資源,花費(fèi)較少的時(shí)間完成產(chǎn)品設(shè)計(jì)是用戶非常關(guān)心的問題。建立這些通用件、標(biāo)準(zhǔn)件、相似件零件庫(kù)作為一項(xiàng)可行方案,一方面可以避免不同設(shè)計(jì)者的重復(fù)勞動(dòng),提高設(shè)計(jì)效率 ,提高設(shè)計(jì)的標(biāo)準(zhǔn)化程度,減少錯(cuò)誤發(fā)生率,縮短產(chǎn)品開發(fā)周期;另一方面還可以基于該軟件的三維實(shí)體模型進(jìn)行更深層次的分析(如有限元分析等),以確保機(jī)械設(shè)計(jì)結(jié)果安全可靠。 綜上,對(duì)某些特殊零件進(jìn)行二次開發(fā)是非常有必要的。因此也就有了本課題的提出。 預(yù)期功能 如今,雖然繪圖軟件很多,而且建模方法也越來(lái)越智能,易學(xué)易懂 。但是有些模型,具有相似性和通用性,如標(biāo)準(zhǔn)件,常用件等。如果每用一次都要建一次模型,那么將會(huì)大大延長(zhǎng)設(shè)計(jì)周期,如此繁瑣而重復(fù)的步驟,將給設(shè)計(jì)者帶來(lái)不必要的負(fù)重。本課題將通過(guò)參數(shù)化建模,解決這一問題。用戶只需正確選擇或輸入零件相關(guān)參數(shù), Pro/E 便能自動(dòng)生成用戶所需的模型,這樣大大縮短了開發(fā)設(shè)計(jì)的時(shí)間,提高了零件的結(jié)構(gòu)設(shè)計(jì)效率。 本論文內(nèi)容 在本課題中,將涉及到平鍵、鉚釘、銷等零件的二次開發(fā)。本文首先簡(jiǎn)單介紹了一些繪圖軟件特別是 Pro/ENGINEER 的現(xiàn)狀,說(shuō)明了研究本課題的必要性以及重要性;其次介 紹了一些 Pro/ENGINEER 二次開發(fā)工具;接著確定本二次開發(fā)的總體方案;最后詳細(xì)地介紹了對(duì)彈簧進(jìn)行二次開發(fā)的全過(guò)程。 設(shè)計(jì)將包含以下內(nèi)容: 零件的參數(shù)化建模; 設(shè)計(jì)彈簧菜單及對(duì)話框 其中包含實(shí)現(xiàn)對(duì)話框上各按鈕的功能的相應(yīng)程序 ; 檢驗(yàn)設(shè)計(jì)是否能達(dá)到預(yù)期功能。 2 二次開發(fā)總體方案的確定 二次開發(fā)語(yǔ)言 Pro/TOOLKIT Pro/TOOLKIT 是美國(guó) Parametric Technology Corporation PTC 公司為Pro/ENGINEER 軟件提供的開發(fā)工具包,其主要目的 是讓用戶或第三方通過(guò) C 程序代碼擴(kuò)充 Pro/ENGINEER 系統(tǒng)的功能,開發(fā)基于 Pro/ENGINEER 系統(tǒng)的應(yīng)用程序模塊,不僅如此,還可以利用 Pro/TOOLKIT 提供的 UI 對(duì)話框、菜單以及 VC 的可視化界面技術(shù),設(shè)計(jì)出方便實(shí)用的人機(jī)交互界面,從而大大提高系統(tǒng)的使用效率。Pro/TOOLKIT 是的一個(gè)應(yīng)用程序接口 API ,程語(yǔ)言是 C 語(yǔ)言,可以對(duì)進(jìn)行功能擴(kuò)展,滿足 PTC 客戶的特定需求。而且, Pro/TOOLKIT 提供了定制標(biāo)準(zhǔn)Pro/ENGINEER 用戶界面的能力,自動(dòng)執(zhí)行重復(fù)性的程序,通過(guò) Pro/ENGINEER 集成的內(nèi)部程序 Dll 或外部應(yīng)用程序( Exe)可以為造型用戶提供自定義的應(yīng)用程序、設(shè)計(jì)規(guī)劃和繪圖自動(dòng)化。)族表( Family Table)用戶定義特征( UDF) Pro/Program Pro/ENGINEER 軟件對(duì)于每個(gè)模型都有一個(gè)主要設(shè)計(jì)步驟和參數(shù)列表Pro/Program,它是由類似 BASIC 的高級(jí)語(yǔ)言構(gòu)成,用戶可以根據(jù)設(shè)計(jì)需要來(lái)編輯該模型的 Program,使其以一個(gè)程序來(lái)工作。通過(guò)運(yùn)行該程序,系統(tǒng)通過(guò)人機(jī)交互的方法來(lái)控制系統(tǒng)參數(shù)、特征出現(xiàn)與否以及特征的具體尺寸等。 Jlink Jlink 是 Pro/ENGINEER 中自帶的基于 JAVA 語(yǔ)言的二次開發(fā)工具,是一種面向?qū)ο?、?dú)立于操作系統(tǒng)平臺(tái)的開發(fā)工具。用戶通過(guò) JAVA 編程實(shí)現(xiàn)向Pro/ENGINEER 軟件添加功能。 Pro/TOOLKIT Pro/TOOLKIT 同 Jlink 一樣也是 Pro/ENGINEER 自帶的二次開發(fā)工具。在Pro/TOOLKIT 中, PTC 向用戶提供了大量的 C 語(yǔ)言函數(shù)庫(kù),函數(shù)采用面向?qū)ο蟮娘L(fēng)格。通過(guò)調(diào)用這些底層函數(shù),用戶能方便而又安全地訪問 Pro/ENGINEER 的數(shù)據(jù)庫(kù)及內(nèi)部應(yīng)用程序,進(jìn)行二次開發(fā),擴(kuò)展一些特定功能。 上述各種二次開發(fā)工具集中在 Pro/ENGINEER 的“工具”菜單中,如圖 21所示。其中“輔助應(yīng)用程序”主要用來(lái)調(diào)用 Pro/TOOLKIT 程序。 圖 21 開發(fā)工具 由于 Pro/TOOLKIT 具有函數(shù)簡(jiǎn)單,應(yīng)用方便等優(yōu)點(diǎn),本課題將使用Pro/TOOLKIT 進(jìn)行二次開發(fā)研究。 開發(fā)環(huán)境 開發(fā)環(huán)境包括兩部分:即硬件開發(fā)環(huán)境和軟件開發(fā)環(huán)境。 發(fā)環(huán)境 本課題是基于 Pro/Engineer 的二次開發(fā),因此只要能夠安裝支持 Pro/E 版本即可。建議配置如表 21 所示。 表 21