弧面凸輪數控轉臺的設計概要_第1頁
弧面凸輪數控轉臺的設計概要_第2頁
弧面凸輪數控轉臺的設計概要_第3頁
弧面凸輪數控轉臺的設計概要_第4頁
弧面凸輪數控轉臺的設計概要_第5頁
已閱讀5頁,還剩53頁未讀 繼續免費閱讀

付費下載

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、弧面凸輪數控轉臺的設計3D建模與裝配摘要:弧面凸輪機構是一種高速裝置,廣泛的應用于各種機械傳動中。為適應當代社會對弧面凸輪制造加工精度等方面的要求,本設計利用UG強大的二次開發功能,通過運用UG/API語言進行編程,從而開發出弧面凸輪的建模命令,使得弧面凸輪的3D建模與裝配變得簡單。關鍵詞:弧面凸輪,UG二次開發,3D建模,裝配The Design Of Globoidal Indexing Cam NC rotate table3D construction mode and AssemblyAbstract:Globoidal indexing cam mechanism is a hig

2、h speed indexing drivingdevice,it is widely used in many kinds of mechanical transmission .In order to fit the social request of Arc Cam manufacturing and processing precision, this Design used a strong secondary development function of UG. By using UG/API programming, therefore, to develop a modeli

3、ng command Arc Cam. And make it easy to 3D Modeling and assembling.Keywords: Globoidal indexing cam, Secondary development function of UG, 3D Modeling and assembling.第1章 緒論11課題的研究背景弧面凸輪減速器是一種新型、高效的減速器,在國內尚屬于研究階段。該減速器可取代渦輪蝸桿減速器,且具有優良的特性。它可通過調整中心距進行預緊,達到無間隙嚙合,長期運轉后可保持良好精度,傳動效率高,熱損耗小。該機構不僅精度高,而且體積小、重量輕

4、、傳動效率高、壽命長,適宜于高速高精度及高效率的場合。我國對弧面分度凸輪機構的研究始于20 世紀70 年代末, 上海工業大學, 天津大學、合肥工業大學、吉林工業大學、山東工業大學、陜西科技大學(原西北輕工業學院)、大連輕工業學院、上海工程技術大學等高校以及山東諸城鍛壓機床廠、西安鐘表機械廠、蕪湖電工機械廠等廠家都在弧面分度凸輪機構的研究、制造方面取得了一批成果弧面凸輪在經歷了幾十年的發展后,凸輪機構學的理論研究已經達到較高的水平, 為凸輪機構的設計制造奠定了堅實的理論基礎。當今, 凸輪機構的設計已廣泛采用解析法并借助計算機來完成, 但目前國內文獻介紹的凸輪機構CAD、 CAM 只能設計幾種平面

5、或空間凸輪機構。而基于UG軟件的二次開發模塊開發了弧面凸輪的三維CAD軟件,為弧面凸輪數控加工模擬以及建立弧面凸輪的運動仿真系統奠定了基礎。因此,現代弧面分度凸輪機構的設計建模技術有著廣泛的工程應用背景和研究意義 。隨著計算機技術和現代設計理論與方法的迅速發展,三維設計軟件尤其是Unigraphics 在機械零件和產品設計中的日益普及,弧面凸輪實體在三維軟件特別是在UG中的繪制變得越來越重要。但UG中并無弧面分度凸輪的實體建模命令,這就得要我們借助UG強大的二次開發功能,通過定制弧面凸輪設計界面,達到直接建立三維實體的目的。建模技術是CAD的核心技術,參數化造型技術和特征造型技術是新一代繼承化

6、CAD系統應用研究的熱點理論。目前國內外對二維圖形參數化和簡單三維實體的參數化造型較為成熟。對復雜的三維實體的參數化造型尚不多見,特別是弧面分度凸輪這類形狀復雜、精確齒形的三維實體參數化造型設計更少。由于弧面凸輪形狀復雜,繪制齒形曲線較復雜。并且弧面凸輪各參數間都有嚴格的函數關系,再加上隨著當代機械制造業的不斷發展,弧面凸輪的精度要求也越來越高,其實體的繪制較為麻煩。弧面凸輪并不是一個標準件,它的各個參數隨著設計要求的不同而不同。如果每設計一個齒輪都要畫一個對應的實體部件的話,那不僅增加了設計者的勞動量,還大大降低了設計效率,阻礙了企業的生產和發展。參數化設計是新一代智能化、集成化CAD系統的

7、核心內容,也是當前CAD技術的研究熱點。用大型的三維軟件實現弧面凸輪的參數化造型已成為設計者的迫切需求,弧面凸輪體參數化造型有重要的意義:(1)弧面凸輪傳動的參數化設計與建模系統是CAD技術與弧面凸輪設計相結合的產物,也是兩者發展的趨勢所在。(2)實現設計過程自動化避免了設計人員手動查閱大量的數據,也避免了手工取點造型的復雜過程,該系統的開發,可以將手算設計的工作人員從繁瑣、低效的工作中解放了出來。(3)實現弧面凸輪了的參數化設計以及其精確的造型,可以將設計計算、三維造型與繪制工程圖的無縫結合,同時為弧面凸輪的有限元分析、機構仿真和數控加工等工作奠定基礎。本課題利用UG的二次開發技術,為解決弧

8、面凸輪參數化設計問題提供了可行的方法,通過直接輸入弧面凸輪設計條件,利用計算得出的設計參數進行實體建模,實現弧面凸輪的參數化設計,提高弧面凸輪設計的效率和準確性。親,由于某些原因,沒有上傳完整的畢業設計(完整的應包括畢業設計說明書、相關圖紙CAD/PROE、中英文文獻及翻譯等),此文檔也稍微刪除了一部分內容(目錄及某些關鍵內容)如需要的朋友,請聯系我的Q&Q:2215891151,數萬篇現成設計及另有的高端團隊絕對可滿足您的需要12課題的研究內容和解決方法本課題利用大型軟件UGNX5.0來實現弧面凸輪的三維參數化造型,通過改變弧面凸輪的一些基本參數,生成其相應弧面凸輪。要達到相應的設計

9、要求,首先要知道弧面凸輪的廓面方程,畫出弧面凸輪模型后,還應知道UG二次開發的知識,靈活運用UG系統提供的二次開發工具,在模型的基礎上編制相應的程序,最后完成弧面凸輪參數化設計模塊的開發。具體內容和步驟如下:(1) 研究弧面凸輪的廓面方程和各參數間的關系并建立數學模型;(2)深入掌握UG二次開發的各種方法,并熟練運用UG/OPEN 開發工具,在建立弧面凸輪的數學模型的基礎上,對各弧面凸輪實現三維參數化造型;(4) 在構建弧面凸輪模塊框架的基礎上,深入研究菜單的制作技術以確定本課題應采用的最佳菜單制作技術。UG 軟件是集CAD/CAM/CAE一體化的三維參數化軟件,是當今世界上最為先進的計算機輔

10、助設計、制造和分析軟件,在國內使用相當廣泛。另外它所提供的二次開發語言模塊UG/Open API、UG/Open GRIP和輔助開發模塊UG/Open Menu script與UG/Open UI Styler及其良好的高級語言接口,使UG的圖形功能和計算功能有機的結合起來,便于用戶去開發各種基于自身需要的專用CAD系統。使用UG/Open API和UG/Open GRIP中任何一個模塊都能實現UG的二次開發,再結合輔助模塊,就能開發出UG界面的應用模塊。因此,合理利用UG的二次開發語言模塊和輔助模塊,就可以實現在UG環境下對弧面凸輪進行參數化設計。第二章 弧面分度凸輪機構設計基礎2.1 弧面

11、分度凸輪廓面理論 弧面凸輪的工作廓面是空間不可展曲面,很難用常規的機械制圖方法進行測繪,也不能用展成平面輪廓線的方法設計。針對弧面分度凸輪機構實際嚙合過程中滾子曲面與弧面凸輪廓面互為共扼曲面的特點,利用空間包絡曲面的共扼原理進行設計計算,推導弧面分度凸輪的廓面方程。2.2 共軛曲面原理 共軛曲面是機構中兩構件上用以實現給定運動規律連續相切的一對曲面,研究的是相互接觸且有相對運動的兩個曲面。對于空問共扼曲面問題用圖解法求解困難較大,因此一般結合微分幾何和剛體運動學,以向量、矩陣或對偶數等為工具的解析法,研究一對共扼曲面的兒何形狀與這對曲面相對運動的關系。 已知共軛運動和共扼曲面中的一個曲面,求另

12、一個曲面,是共軛曲面理中的基本問題。求解方法有包絡法和運動法等,因包絡法比較繁瑣,多用運動法求解。與共扼曲線相仿,一對共軛曲面在嚙合過程中連續相切的條件是兩曲面在接觸點處的相對速度應與過該點所作這對共軛曲面的公法線垂直。根據這個原理,在給定的曲面1上任選一點,找出該點進入接觸位置曲面所需的轉角和位移,用坐標轉換法或向量回轉法等即可求得接觸點在固定空間中的位置,即嚙合曲面上的一個對應點。同時也可求出曲面2上的對應點。這樣一個一個點求解,最后可求得整個嚙合曲面及與曲面1共軛的曲面2。 根據共扼曲面原理,凸輪工作廓面與從動盤滾子曲面間的共軛接觸點必須滿足下列三個基本條件: (1)在共V- E接觸位置

13、,兩曲面上相對應的一對共轆接觸點必須重合。 (2)在共桃接觸點處,兩曲面間的相對運動速度必須垂直于其公法線。 (3)兩曲面在共軛接觸點處必須相切,不產生干涉,且在共軛接觸點處無曲率干涉。 根據以上原理,當己知凸輪和分度盤的運動規律之后,就可以由滾子圓柱面方程,通過坐標變換,推導出凸輪廓面方程。2.3 齊次坐標變換 所謂齊次坐標變換,就是要把被變換坐標系描述的矢量變換成用其參考坐標系所描述的矢量。在笛卡爾坐標系o'x'y'z'中點(x',y ',z')向另一個笛卡爾坐標系oxyz變換,變換后的坐標(x, y,z)可由下式求得: x= y=

14、z= -坐標系o'x' y'z'的原點在坐標系oxyz中的坐標; nx , ny , nz -坐標系o'x' y'z'的o'x'軸對坐標系oxyz的3個方向余弦; -坐標系o'x' y'z'的o' y'軸對坐標系oxyz的3個方向余弦; -坐標系o'x' y'z'的o' z'軸對坐標系oxyz的3個方向余弦。若()是o'x' y'z'系的齊次坐標,()是oxyz的齊次坐標,而我們總可以認為

15、,則 1(1)將此式寫成矩陣形式,即: 1(2) 那么 1(3)T是一個44階矩陣,稱為笛卡爾坐標系的齊次坐標變換,它溝通了兩個坐標系的關系:表示了坐標系中o'x'y'z'的點x',經過T變換后變成了坐標系oxyz中的點X。 為oxyz坐標系原點o向o'x'y'z'原點o'移動的位移矢量。為oxyz坐標系轉向o'x'y'z'相吻合的旋轉矩陣。故齊次坐標變換矩陣可以分解為一個平移和一個旋轉矩陣之積 即:1-(4)2.4坐標系的建立 基于共扼曲面原理和齊次坐標變換理論,研究弧面分度凸輪機

16、構的空間嚙合曲面的關系和幾何參數間的內在聯系,需要建立合理的坐標系。坐標系選擇的合理與否,不僅影響所要求的廓面方程的形式,也影響推導求解過程中的繁簡程度。如圖(a)所示,建立笛卡爾右手直角坐標系。 (1)與機架相連的坐標系 坐標系的原點與轉盤轉動中心重合,X,軸沿轉盤轉動中心與凸輪中心連線,Y,軸與X,軸組成的平面與轉盤的旋轉平面平行,Z:軸與轉盤的轉動軸線重合,按右手法則可知Z,軸垂直紙面向外。 (2)與機架相連的定坐標系 坐標系的原點與凸輪中心重合,軸和,軸重合,軸與凸輪轉動軸線重合,選擇軸的方向時,應使面對軸的箭頭方向看,為逆時針。根據右手法則,Z軸垂直紙面向內,與Y,軸間的夾角為 (3

17、)與凸輪相連的動坐標系 坐標系的原點與凸輪中心重合。X在通過輪中心壞并垂直于凸輪轉動軸線的平面上。Y軸Z軸組成的平面垂直于凸輪的轉動軸線,Z軸是凸輪的轉動軸線,和重合且方向一致。 (4)一與轉盤相連的動坐標系 坐標系的原點與轉盤中心重合。X沿滾子的自轉軸線,即轉盤的徑向線。與間的夾角為,即滾子的位置角,由量起,逆時針方向為正。軸與為軸組成的平面為滾子的中心平面,它與轉盤的旋轉平面平行。軸即為轉盤的轉動軸線,和重合,垂直紙面向外。圖1為垂直于軸的滾子截面示意圖。 圖1: 圓錐滾子弧面分度凸輪機構的坐標系:從動盤中心至滾子近端面的距離;、:分別為共軛嚙合點的嚙合角和滾子的長度參數;:圓柱滾子長度。

18、2.5弧面分度凸輪廓面方程求解 設滾子在動坐標系中的向量表達式如下所示 式中為滾子上嚙合點的嚙合角,為嚙合點在軸上的坐標,為小端滾子半徑,為滾子的錐角。 根據圖1所建立的弧面凸輪機構的坐標系,通過將滾子柱面在坐標系的向量表達式轉換到( xyz ) c 中,可求得弧面分度凸輪與滾子嚙合傳動的共軛嚙合點在中的向量表達式 ,即弧面分度凸輪的曲面方程如(2) 式所示: 式(2)中各參數表示如下: 式中的和必須基于嚙合方程進行確定,在坐標系中,嚙合方程如下: 其中, 表示滾子在共軛嚙合點在坐標系中的單位法向矢量, 表示共軛嚙合點在中的相對滑動速度。求得單位法向矢量與相對滑動速度如式: 其中 式中: 為從

19、動轉盤的角速度與弧面分度凸輪角速度之比。 Unigraphics(簡稱UG)是當前世界上最先進和緊密集成的、面向制造行業的CAID/CAD/CAE/CAM高端軟件。它為制造業產品開發的全過程提供解決方案,主要功能包括:概念設計、工程設計、性能分析和制造。此外,UG軟件還提供了CAD/CAE/CA業界最先進的編程工具集,以滿足用戶二次開發模塊的開發和應用需要。 第三章 UG二次開發的工具31 UG軟件概述 UGnx建立在為客戶提供無與倫比的解決方案的成功經驗基礎之上,這些解決方案可以全面地改善設計過程的效率,削減成本,并縮短進入市場的時間。通過再一次將注意力集中于跨越整個產品生命周期的技術創新,

20、 NX 的成功已經得到了充分的證實。NX是一個交互的計算機輔助設計、計算機輔助制造和輔助工程(CAD/CAE/CAM)系統。CAD功能自動化是在今天制造公司中見到的一般工程、設計和制圖能力;CAM功能利用NX描述完成零件的設計模型,為現代機床提供NC編程;CAE功能橫越一廣范的工程學科,提供許多的產品、裝配和零件的性能防真能力。NX是一個全三維、雙精度系統,它允許用戶精確地描述幾乎任一幾何形狀。通過組合這些形狀,用戶可以設計、分析產品和建立他們的工程圖。一但設計完成,制造應用允許用戶選擇描述零件的幾何體,加入制造信息,如刀具直徑并自動生成一刀具位置,源文件(CLSF),它可用來驅動大多數NC機

21、床。目前UGS公司已經推出NX5產品,本次設計中使用的是NX5版本的軟件。NX5的特點是:1、為了數字化產品開發集成的自動化;2、在所有開發學科中的新能力,包括工業設計、防真、工裝、加工和管理;3、在一個全面的產品生命周期管理(PLM)解決力案內的領先前沿的CAD、CAE和CAM技術。通過NX可以建立、存儲、恢復和操縱設計與制造信息,典型地通過建立描述一零件的幾何體開始工作。NX功能被劃分成共同功能的一系列“應用(Application)”共18個模塊,各模塊分別為:1、入口(Gateway):對所有其他交互應用的首要必備的應用;2、建模(Modeling):包括實體、特征、自由形狀、鈑金特征

22、建模和用戶定義特征;3、裝配(Assembilies):支持裝配建模;4、幾何公差模塊(Geometric Tolerancing Module):讓用戶捕捉公差;5、產品和制造信息(PMI Introduction):可用于在三維環境中對產品形成文檔說明;6、分析(Analysis):包括注塑模流動分析、運動應用和ICAD;7、制圖(Drafting):可將三維模型生成二維視圖;8、高質量圖像(High Quality Image):生成逼真照片的圖像;9、知識熔接(Knowledge Fusion):允許用戶應用工程知識驅動規則和設計意圖到NX中的幾何模型和裝配;10、制造(Manufac

23、turing):可進行虛擬加工和自動加工編程;11、開放的用戶界面設計(Open User Interface Styler):允許用戶和第三方開發商生成NX對話框;12、編程語言(Programming Languages):包括GRIP和API;13、質量控制(Quallity Control);14、走線(Routing):定義圍繞和通過其他NX裝配的裝配;15、鈑金(Sheet Metal):包括鈑金設計、沖壓和多零件加工的柵格;16、電子表格(Spreadsheet):提供一在Xess或者電子表格應用和NX間的智能界面;17、Web Express;18、Wire Harness:可

24、在用于描述產品機械裝配的同一三維空間建立電氣布線的表示。3.2 UG二次開發相關工具概述UG NX軟件提供了CAD/CAE/CAM業界最先進的編程工具集,以滿足用戶二次開發的需要,這組工具集稱之為UG/Open,以開放性架構面向不同的軟件平臺提供靈活的開發支持。UG/Open包括以下幾個部分:UG/Open Menu scrip開發工具,對UG軟件操作界面進行用戶化開發,無須編程即可對UG標準菜單進行添加、重組、剪裁或在UG軟件中集成用戶自己的軟件功能;UG/Open UI Styler開發工具是一個可視化編輯器,用于創建類似UG的交互界面,利用該工具,用戶可為UG/Open應用程序開發獨立于

25、硬件平臺的交互界面;UG/Open API開發工具提供了UG軟件直接編程接口,支持C、C+、Fortran和Java等主要高級語言;UG/Open GRIP開發工具是一個類似API的UG內部開發語言,利用該工具用戶可生成 NC自動化或自動建模等用戶的特殊應用。利用UG/Open提供的應用程序和開發工具,用戶可以在其提供的平臺上開發出適合自己需要的CAD產品。3.2.1 UG/Open Menu Script UG/Open Menu Script不僅可以使用戶利用ASC文件來編輯UG的菜單,也可以以一種無縫集成的方式為用戶開發的應用程序創建菜單。Menu Script同時也提供了一個菜單欄報告

26、工具,以幫助用戶查看定制的菜單,診斷錯誤。對于菜單的自定義大致可以分為如下三個層次。(1)自定義菜單 該級別的自定義允許單個用戶或者管理員重新安排UG的功能,去除在其產品開發過程中不需要的功能。這種級別的自定義不需要編程實現。(2)自定義UG功能 該級別的自定義允許單個用戶或者管理員取代或增加標準的UG功能,并添加其自己定義的功能。(3)添加自定義應用 該級別的自定義其目的在于使用戶或第三方開發商開發的應用程序完全集成在UG中。該級別的自定義需要編程實現。UG的菜單文件是擴展名為.men的文本文件,可以使用Windows 的記事本進行編輯。UG/Open Menu Script提供了一套用于定

27、義UG菜單的腳本語言。實際上,UG系統的菜單文件也是用該腳本語言編寫的。UG為主菜單欄、快捷菜單欄提供了豐富的系統菜單文件,這些菜單文件默認情況下都保存在UG_BASE_DIR/ug/menus文件夾下。3.2.2 UG/Open UI Styler UI Styler是開發UG對話框的可視化工具,生成的對話框能與UG集成,讓用戶更方便、更高效地與UG進行交互操作。UG/Open UI Styler模塊提供了強大的制作UG風格窗口的功能,其主要功能如下:(1) 提供了讓開發人員建造UG風格對話框的可視化環境,并能生成UG/Open UI Styler文件和C代碼,從而使用戶在使用UG/Open

28、 UI Styler產生的對話框時,不必考慮圖形用戶界面(Graphical User Interface縮寫為GUI )的實現。(2) 利用可視化環境快速生成UG風格對話框,從而減少開發時間。(3) 通過選取和放置控件,從而能實現所見即所得。(4) 可以在對話框中實現用戶自定義位圖。(5) 提供了屬性編輯器,從而允許開發人員設置和修改控件屬性。(6) UI Styelr產生的對話框可以在Menu Script中被調用,因此可以實現在UG菜單項上調用UI Styler產生的對話框,從而將用戶應用程序和UG軟件完全融合。應用UI Styler這一工具可以使開發人員方便、快速地設計出與UG界面風格

29、一致的對話框,避免其他復雜的編程。而且可以和用其他開發工具開發出的結果進行集成。UG/Open UI Styler工具和UG/Open Menu Script工具一樣,都只具有某一方面的功能:UG/Open UI Styler用于對話框的開發,UG/Open Menu Script用于菜單的開發。3.2.3 UG/Open GRIP UG/Open GRIP(Graphics Interactive Programming)是一種專用的圖形交互編程語言。這種語言與UG系統集成,實現UG下的絕大多數的操作。GRIP語言與一般的通用語言一樣,有其自身的語法結構,程序結構,內部函數,以及與其他通用語

30、言程序相互調用的接口。一個GRIP語句是由一個或幾個GRIP命令組成,GRIP命令是GRIP語言的基本組成部分。GRIP命令有三種表示格式:a)陳述格式。主要用于生成和編輯實體。b)GPA符號格式。GPA是全局參數存取(Global Parameter Access)的縮寫,用于訪問UG 系統中各種對象的狀態和參數。c)EDA符號格式。EDA是實體數據存取(Entity Data Access)的縮寫,用于訪問UG數據庫,能夠訪問各種對象的功能性數據。例如在屬性、繪圖和尺寸標注以及幾何體等領域與UG進行交互操作時,其參數可用EDA格式的命令取得。用GRIP語言編寫GRIP源程序,可以在wind

31、ows的記事本中進行,記為*.grs;或者在GRIP高級開發環境(GRAD-Grip Advanced Development Environment)中編寫。執行GRIP程序必需進入UG環境中,運行 UG/OpenGrip。GRIP編程語言是面向工程師的語言,具有簡單、易學、易用的特點,但是所編寫的程序長、復雜。要考慮程序的各個細節問題。因此,GRIP語言常用于開發一些規模比較小的程序,例如,同類零件建模、計算和分析、數據訪問等程序。與GRIP語言相比較,用API函數編程則可實現功能復雜的操作。3.2.4 UG/Open API 作為UG NX5.0與外部應用程序之間的接口,UG/Open

32、API是一系列函數的集合。通過UG/Open API的編程,用戶幾乎能夠實現所有的UG NX5.0功能。開發人員可以通過用C+語言編程來調用這些函數,從而實現用戶的需要。(1) 對UG part文件及相應模型進行操作,包括建立UG NX5.0模型、查詢模型對象、建立并遍歷裝配體,以及創建工程圖等。(2) 在UG NX5.0中創建交互式程序界面。(3) 創建并管理用戶定義對象等。應用函數時應注意所有的UG/Open API應用必須及時進行初始化和終止,以確保獲取或者釋放UG/Open API的執行許可權限。初始化函數是UF_ initialize (),當開始調用UG/Open API的函數時應

33、先調用UF_ initialize()來獲取執行許可權限。一般來說,我們在變量聲明完成后,第1個調用UG/Open API的函數就是UF_ initialize()。終止函數是UF_ terminate(),當不再調用UG/Open API的函數時必須調用UF_ terminate()來釋放執行許可。UG/Open API程序能在兩種不同環境(依賴于程序的連接方式)下運行,即Internal環境(也稱為“Internal開發模式”)和External模式。其中Internal環境下的程序只能在UG NX5.0的界面環境(session)下運行,在運行這些程序時他們被加載到UG NX5.0的運行

34、空間中(UG NX5.0分配的內存);External模式開發的程序能在操作系統(Windows NT/2000/XP及UNIX)下運行,不在UG NX5.0環境中或作為UG NX5.0的子進程運行。盡管沒有圖形顯示,但UG/Open API提供了函數用于打印機或繪圖儀輸出,也可以輸出為CGM文件等其他數據文件。33系統菜單的制作UG軟件為用戶提供了一個調用二次開發結果的交互式接口:User Tools。它的功能是生成彈出式對話框或工具條,其界面風格與UG界面風格一致。通過執行對話框或工具條,操作相應的控件就可運行菜單文件、宏文件、UG/Open GRIP程序、UG/Open API程序和其他

35、二次開發文件。通過編寫對話框定義文件(*.utd)來實現User Tool工具的功能。編寫文件完成以后,在UG 中執行ToolsCustomizeUser ToolsLoad選擇所編寫的*.utd文件即可彈出需要的對話框或工具條。*.utd這個文件是文本文件,可用 Windows中的記事本進行編寫和編輯。一種比較簡單的實現方法:拷貝UG中的模板文件Usertoo1.utd到UG啟動目錄下,然后編輯模板文件,實現所需要的功能。在以前較早版本中例如V13,運用User Tools工具必須編寫兩個文件:菜單定義文件(*.utm)和對話框定義文件(*.utd),然后通過執行菜單項彈出相應的對話框或工具

36、條。現在,較高的UG版本已經省略產生菜單這一步,操作同上所述。在UG 界面中應用File Execute UG/Open菜單執行UG/Open API程序或UG/Open GRIP程序,操作一次只能執行一個程序,而且必須找到程序所在的路徑。若利用User Tools這個工具,用戶可以將多個GRIP或API函數所編寫的程序集成到一個User Tools對話框或者工具條中,一個程序對應一個控件,通過操作控件來調用程序,使用起來就非常方便。 雖然各種菜單的制作方法,在結構、內容和開發過程上有一定的差異,但是在整個構建過程中有其共性和相同的部分,就是菜單制作之前應先設置系統環境變量。設置了系統環境變量

37、,UG才能找到開發內容所在目錄。系統環境變量設置方法有以下兩種:方法一:打開$UG_BASE_DIR/ugii目錄下的ugii_env.dat文件(該文件包含Unigraphics系統的全部環境變量及系統路徑定義),找到下面兩條語句:#UG_VENDOR_DIR=$UGALLIANCE_DIR/vendor和#UG_ SITE_DIR= $UGALLIANCE_DIR/site。將它們前面的注釋符號“#”刪除,以使它們起作用。這兩條語句其實指明了供用戶放置二次開發文件的目錄。在Unigraphics初始安裝時,它們不起作用,當刪除了“#”號后,UG/OPEN才能從這些目錄下得到二次開發的功能擴

38、展。這兩個目錄的功能和結構是完全相同的,下面都有startup和application兩個目錄。其中startup存放Unigraphics啟動時需載入的動態共享庫(以ufsta()為入口的.dl1)及菜單腳本文件(.men);application目錄存放具體的功能擴展程序文件(如應用模塊的功能擴展共享庫( .dl1)及對話框資源文件( .dlg)。Unigraphics下設置的這兩個目錄是為不同等級的開發者提供的,vendor目錄下放置Unigraphics指定的開發商的二次產品,site目錄下存放其余開發者的產品。因此vendor目錄下同類內容的文件要比site目錄下的優先載入。此外,在

39、ugii_env.dat文件中還有一條語句,是用來設置用戶自己二次開發內容的目錄:#UG_USER_DIR =$HOME,同樣將其前面的“#”號刪除,并在其后使用用戶自己的目錄替換$HOME。例如,UG_USER_DIR=E:ugapi,在此目錄下也必須建立目錄startup和application,存放的內容和site及vendor下的startup、application一樣,不過它的優先級更低。 方法二:打開UG安裝目錄UG_BASE_DIR UGmenus下的custom_dirs.dat(用記事本打開),在文件最后添加開發的文件夾的絕對路徑。在添加的文件里建立兩個子目錄:startu

40、p和application ,分別用來放置開發的各種文本文件(.men文件)、動態庫文件和對話框文件。 上述兩種方法中第二種方法較簡單方便,本課題采用第二種方法。打開UG安裝目錄UG_BASE_DIR UGmenus下的custom_dirs.dat,在文件最后添加開發的文件夾的絕對路徑E: tulun_open。在E: tulun_open文件夾下建立startup和application兩個子目錄。 本課題只涉及到弧面凸輪的參數化設計,因此應在一個主菜單下建立一個子菜單。在E:tulun_openstartup下建立文件disign.men,代碼如下:VERSION 120 /版本號EDI

41、T UG_GATEWAY_MAIN_MENUBAR /編輯UG系統剛啟動時菜單BEFORE UG_HELP /定義菜單位于【幫助】菜單前CASCADE_BUTTON DESIGN /定義一級菜單ID,為下拉菜單LABEL 二次開發 /主菜單標題END_OF_BEFORE /結束BEFORE定義MENU DESIGN BUTTON DESIGN_OK /定義二級菜單ID LABEL 弧面凸輪 /第一個子菜單標題ACTIONS tulun.dlg /調用對話框END_OF_MENU /結束菜單的定義菜單運行效果圖運行結果如圖所示: 第四章 程序設計4.1 總體方案設計 建立好實體模型后,接下來就是

42、利用API程序將模型中的表達式的值與對話框聯系起來。程序的功能是針對部件的設計參數,對設計參數進行查詢、修改,根據新的參數值更新模型從而實現設計變更。因此,程序對三種齒輪的功能是一樣的,在對各個模型編寫程序時只需要根據各個模型的參數對程序中所調用模型參數做一些修改,其他在程序的編寫思路、程序所用的函數和結構等都可以相同。 要實現程序針對某個模型的設計參數進行查詢、修改,主要的程序設計思路是先讀取對話框中的參數,然后把對話框中的參數傳遞給模型中的表達式,改變表達式中相應參數的值,更新模型。程序運行后,就能實現把設計者輸入對話框的參數轉化成模型尺寸的變化,實現設計目的。但是由于此種參數化設計的方法

43、是建立在模型的基礎上進行的,對話框的設計也是針對某個實體模型,編寫程序時使用的參數也是針對具體某一個模型的。因此,在程序運行時應首先檢測當前打開的模型是否就是該程序和對話框所對應的模型,只有打開了相對應的模型時程序才繼續運行,否則退出。另外,為了方便設計者使用,讓使用者在打開對話框時就能直接看到當前模型的各個參數,在調用對話框時應首先將當前模型中表達式中的對應參數讀出,并傳遞給對話框,顯示在對話框上。因此,程序設計時,首先檢測當前顯示的部件是否為程序對應的部件文件,接著使用構造函數將模型中的表達式中的參數值讀出并傳遞到對話框上,然后是用戶輸入參數值后讀取參數并傳遞給模型,更新模型。程序流程如下

44、圖所示:檢測是否為與程序相對應部件讀取模型表達式中參數值,調用對話框讀取對話框中的數值將讀取的參數值傳遞到模型中的表達式中,更新模型開始退出是否圖4-1 程序設計流程圖4.2 對話框設計程序要將對話框和部件模型聯系起來,在程序中必然要調用對話框,并有相應的程序相應對話框中的控件。UG中建立好對話框后,保存對話框時系統還自動生成另外兩個文件,分別是與對話框關聯的.c和.h文件,在編寫程序時要使用這兩個文件。因此,在編寫程序前必須先建立對話框,建立好對話框后再利用對話框生成的文件進行編程。現以直齒圓柱齒輪為例,介紹對話框的建立和程序編寫的過程。(1)在UG中,單擊下拉菜單“應用”“用戶界面編輯器”

45、,即可進入UI Style模塊,操作界面如圖4-2所示。圖4-2 UIStyle 操作界面由圖中我們可以看出,在操作界面中,除下拉菜單和“標準”工具欄外,該界面主要有:項目工具欄:包括UI Style模塊所提供的對話框控件;編輯的對話框:可視化顯示正在編輯的對話框;對象瀏覽器:在對象瀏覽器中可以選擇對話框本身或其中包含的控件,之后在編輯器中對其資源屬性進行編輯;資源編輯器:對在對象瀏覽器中被選擇的控件的資源屬性進行編輯。在建立對話框時,我們可以充分利用以上工具。首先,編輯對話框的屬性。選擇對象瀏覽器中最頂層的對話框,就可以在資源編輯器中對對話框的屬性進行編輯。如圖4-3所示:圖4-3 編輯對話

46、框屬性界面資源編輯器中包括“屬性”、“選擇”、和“回叫”三個選項卡。“屬性”選項卡中可編輯對話框標題、提示語、對話框名、對話框類型等。根據需要設置后如圖4-3所示。“選擇”選項包括:啟用:選擇是否希望當顯示對話框的同時可以對UG圖形窗口中的對象進行選擇;類型:設置在UG圖形窗口中選擇對象的方式是否變化;范圍:用于確定被選對象所在范圍是否變化。該選項中不需設置,界面如圖4-4 所示:圖4-4 選擇選項在回調選項卡中,所有對話框都可以包含一些基本的回調函數,主要包括:應用、后退、取消、確定、構造、毀壞等。根據程序需要編輯后如圖4-5所示:圖4-5 回叫選項卡編輯好對話框屬性后,應在對話框中添加相應

47、的控件,本課題中只需要輸入齒輪的一些參數,只需添加一定數量的“實數”控件就可以了。添加好控件后應該對控件的屬性進行編輯,其界面如圖4-6 所示:圖4-6 “實數”控件資源編輯器由圖可看出,其中包含:屬性、微調按鈕、回叫、布局設置四個選項卡。屬性選項卡中可以編輯標簽、控件名等。在這里只需對屬性進行編輯其余的可保持默認狀態。圖4-6顯示的就是編輯后的結果。要注意的是,在資源編輯器中編輯任何一個選項卡后,都要單擊編輯器底部的“應用”按鈕,這樣所編輯的內容才會被保存。最后,直齒圓柱齒輪的對話框如圖4-7所示:圖4-7 對話框設計結果編輯好對話框后,將對話框保存在開發路徑下的application文件夾

48、中。4.3 程序設計UG/Open API 應用程序是利用UG/Open API,采用C語言進行程序設計,使用C編譯器和連接器創建的能夠在外部(External)環境或內部(Internal)環境運行的可執行程序(文件名后綴為EXE)或動態連接庫(文件名后綴為DLL)形式的程序。對于不同的操作系統平臺,在編譯和連接生成UG/Open API 應用程序時,編譯選項和所需的系統庫文件是不同的。要使用UG/Open API 應用程序正常運行,必須正確設置編譯和連接選項。本次設計采用Windows操作系統,Visual C+6.0集成開發程序來編程,具體步驟如下:步驟一:檢查目錄Microsoft V

49、isual StudioCommonMSDev98Template下是否有文件ugopen.awx及ugopen.hlp,若有,進入步驟二;否則從UG安裝目錄下的UG_BASE_DIR/ugopen下拷貝這兩個文件到以上目錄中。步驟二:啟動VC+6.0,選擇下拉菜單“文件”“新建”,系統彈出新建對話框如圖4-8所示。在對話框中選擇“工程”選項卡,在項目類別中選擇“Unipraphics NX App Wizsrd V1”。在右側“位置”中指定位置,在“工程名稱”中輸入工程名稱,如下圖4-8,最后單擊“確認”。圖4-8 新建對話框步驟三:在系統彈出的“步驟 1 共 2 步”對話框中,可以選擇“i

50、nternal application”內部模式,生成DLL文件,也可以選擇“external application”外部模式,生成EXE文件。另外,在產生的原代碼中可以選擇使用“C+”語言,也可以使用“C”語言。如果選擇外部模式,完成工程的創建。這里選擇內部模式,C+語言,如圖4-9所示。單擊“下一步”。圖4-9 步驟1對話框步驟四:在系統彈出的“步驟 2 共 2 步”對話框中,選擇如何激活和卸載應用程序。各復選框和當選框的含義如表4-1和表4-2所示,這里選擇如圖4-10 所示各項,單擊“完成”按鈕完成應用程序的創建。表4-1 應用程序的加載選項含義Automatically(ufsta

51、)使用ufsta函數作為入口函數,可以在UG啟動后自動加載應用程序Explicitly(ufusr)使用ufusr函數作為入口函數,可以在UG環境下選擇菜單“文件”“執行”“NX打開”,打開“執行用戶函數”對話框,選擇應用程序進行手動加載From a User Exit使用用戶出口函數作為入口函數,例如使用ufget函數,將在UG打開一個文件時,激活應用程序;使用ufcre函數,將在UG創建一個部件文件時,激活應用程序表4-2 應用程序的卸載選項含義Automatically, when the Unigraphics session terminatesUG進程結束時自動卸載Automati

52、cally, when the application completes應用程序結束時自動卸載Explicitly, via an unload dialog 應用程序手動卸載圖4-10 步驟二對話框單擊“完成”后,系統彈出一個“確認信息”對話框,如圖4-11所示,列出工程的所有信息,確認無誤后單擊“確認”,進入編程界面,同時系統將在指定目錄下創建一個UG NX5.0開發框架。圖4-11 確認對話框步驟五:按快捷鍵F7,編譯工程,出現編譯成功信息,如圖4-12所示。圖4-12 編譯工程打開“w”選項卡,分別單擊“spur_cams.files”、“Source Files”和“Header

53、Files” 前面的“+”,雙擊“spur_ cams.cpp”,就能看見文件中的內容。步驟六:將UG/Open UI Styler 模塊生成的對話框文件spur_cams _template.c和spur_cams.h分別重新命名為spur_cams_dialog.cpp和spur_cams _dialog.h,復制到工程所在的文件夾內。在VC+中選擇菜單“工程”“增加到工程”“文件”,將上述兩個文件加入工程中,結果如圖4-13所示。注意應將spur_cams_dialog.cpp中頭文件的#include<spur_cams.h>修改為#include “spur_cams_d

54、ialog.h”。圖4-13 將對話框文件加入工程效果圖步驟七:在工程中編寫程序。從前面的程序設計思路可知,該程序中主要包括:入口函數程序、主程序、檢測部件程序、獲取表達式程序、傳遞對話框中數值程序。入口函數程序是將菜單中定義的按鈕和程序連接起來,當點擊對應的按鈕時調用可執行程序,調用程序后執行主程序。在主程序中先檢測部件是否是對應的部件,否時彈出提示信息,退出;是的話調用對話框,執行對話框中的程序,程序運行結束后退出。現就幾個主要程序做簡單介紹。主程序,程序代碼如下:int resp; /設置變量 int errorCode = UF_initialize(); /程序初始化if ( 0 =

55、 errorCode ) if(PRO_DESIGN_check_part() /調用部件檢查程序 uc1601("當前顯示模型不是弧面凸輪部件,不能進行參數化設計",1); return UF_MB_CB_CONTINUE; /不是對應部件時彈出對話框提示,并退出 LaunchProDesignDialog( &resp); /調用對話框 errorCode = UF_terminate(); return UF_MB_CB_CONTINUE;在主程序中有檢測部件程序和調用對話框程序,調用對話框程序是系統自動生成的,只需要在上面加上函數名就可以了,而檢測部件程序是需要自己編寫的,主要程序代碼如下:變量聲明part_tag=UF_PART_ask_display_part();if(part_tag=NULL_TAG)return 1; /檢測是否有部件顯示,沒有部件顯示時返回1UF_PART_ask_part_name(part_tag,p

溫馨提示

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

最新文檔

評論

0/150

提交評論