1295-弧面凸輪數控轉臺的設計—3D建模與裝配
1295-弧面凸輪數控轉臺的設計—3D建模與裝配,凸輪,數控,轉臺,設計,建模,裝配
湘潭大學機械工程學院畢業(yè)設計工作中期檢查表系 機電系 專業(yè) 機械設計制造及其自動化 班級 機械二班 姓 名 楊杰 學 號 2006183924 指導教師 胡自化 指導教師職稱 教授題目名稱 弧面凸輪數控轉臺設計——3D 建模與裝配題目來源 科研 ■ 企業(yè) 其它 課題名稱題目性質 ■ 工程設計 理論研究 科學實驗 軟件開發(fā) 綜合應用 其它1、選題是否有變化 有 ■否 2、設計任務書 ■有 否資料情況3、文獻綜述是否完成 ■完成 未完成 4、外文翻譯 ■完成 未完成由學生填寫目前研究設計到何階段、進度狀況:了解了弧面凸輪國外及國內的發(fā)展現狀,弧面凸輪分度機構的主要優(yōu)缺點及其應用情況。在現有的研究基礎上深入了解了弧面凸輪的廓面方程、嚙合方程的推導過程,進行了弧面凸輪的造型設計。學習了三維制圖軟件 UG 的基本造型功能和模擬仿真功能,并開始了解基于 UG 的二次開發(fā)模塊,查閱了對其進行優(yōu)化設計的理論方面的知識。工作進度預測(按照任務書中時間計劃)提前完成 ■按計劃完成 拖后完成 無法完成工作態(tài)度(學生對畢業(yè)論文的認真程度、紀律及出勤情況):■ 認真 較認真 一般 不認真質量評價(學生前期已完成的工作的質量情況)由老師填寫■ 優(yōu) 良 中 差存在的問題與建議:周佳同學在這一階段的畢業(yè)設計過程中,態(tài)度認真,工作刻苦,按計劃完成了預定的設計工作,而且取得了較好的結果。指導教師(簽名):年 月 日建議檢查結果: 通過 限期整改 緩答辯系意見: 簽名:年 月 日注:1、該表由指導教師和學生填寫。2、此表作為附件裝入畢業(yè)設計(論文)資料袋存檔。湘潭大學興湘學院畢業(yè)設計任務書設計題目: 弧面凸輪數控轉臺的設計——3D 建模與裝配 學號: 2006183924 姓名: 楊杰 專業(yè): 機械設計制造及其自動化 指導教師: 胡自化教授 系主任: 一、主要內容及基本要求1、 熟悉和掌握弧面凸輪傳動的工作原理 ; 2、 熟悉和理解弧面凸輪傳動的結構參數; 3、 利用 UG進行 3D建模與裝配 4、 總結和撰寫畢業(yè)設計說明書一份; 5、 翻譯相關外文資料一份。 二、重點研究的問題1、 熟悉弧面凸輪傳動數控轉臺相關性能方面的知識; 2、 學習和使用 UG三維建圖軟件和 AUTO CAD軟件; 3、 熟悉和理解弧面凸輪傳動機構的結構參數。 三、進度安排序號 各階段完成的內容 完成時間1 文獻檢索 第 1 周2 消化資料 第 2 周3 和小組成員討論,進行總體方案設計 第 3 周4 小組討論,進行設計計算 第 4--5周5 UG軟件的學習 第 6--8周6 用 UG進行三維造型 第 9--11周7 撰寫畢業(yè)設計說明書 第 12 周8 進行畢業(yè)論文答辯 第 13 周四、應收集的資料及主要參考文獻[1] 楊冬香 陽大志 基于不同滾子從動件類型的弧面凸輪 CAD 集成系統(tǒng)開發(fā)[A] 五邑大學機電工程系 廣東江門[2] 張高峰 馮建軍 .譚援強 基于圓錐滾子的弧面凸輪三維 CAD [J] 現代機械 2004 年第 5 期 湘潭大學機械工程學院 湖南湘潭[3] 董正衛(wèi) 田立中 付宜利 .UG/Open API 實用編程基礎.[M]北京:清華大學出版社.2002.Ⅰ.[4] 付本國 林晶 任曉云.UG NX5 三維設計基礎與工程范例.[M]北京:清華大學出版社.2007[5] 劉昌祺 曹西京 凸輪機構設計[M]機械工業(yè)出版社 湘潭大學興湘學院畢業(yè)設計說明書題目:弧面凸輪數控轉臺的設計—3D 建模與裝配專 業(yè): 機械設計制造及其自動化 學 號: 2006183924 姓 名: 楊杰 指導教師: 胡自化 教授 完成日期: 2010.06.07 湘 潭 大 學 興湘學院本科畢業(yè)設計開題報告題 目 弧面凸輪數控轉臺設計——3D 建模與裝配姓 名 楊杰 學號 2006183924專 業(yè) 機械設計制造及其自動化 班級 機械二班指導教師 胡自化 職稱 教授填寫時間 2010 年 4 月 23 日2010 年 4 月說 明1.根據湘潭大學《畢業(yè)設計(論文)工作管理規(guī)定》,學生必須撰寫《畢業(yè)設計(論文)開題報告》,由指導教師簽署意見,系主任批準后實施。2.開題報告是畢業(yè)設計(論文)答辯委員會對學生答辯資格審查的依據材料之一。學生應當在畢業(yè)設計(論文)工作前期內完成,開題報告不合格者不得參加答辯。3.畢業(yè)設計(論文)開題報告各項內容要實事求是,逐條認真填寫。其中的文字表達要明確、嚴謹,語言通順,外來語要同時用原文和中文表達。第一次出現縮寫詞,須注出全稱。4.本報告中,由學生本人撰寫的對課題和研究工作的分析及描述,應不少于 2000 字。5.開題報告檢查原則上在第 2~4 周完成,各系完成畢業(yè)設計開題檢查后, 應寫一份開題情況總結報告。6. 填寫說明:(1) 課題性質 :可填寫 A.工程設計;B. 論文;C. 工程技術研究;E.其它。(2) 課題來源:可填寫 A.自然科學基金與部、省、市級以上科研課題;B.企、事業(yè)單位委托 課題;C.校級基金課題;D.自擬課題。(3) 除自擬課題 外,其它課題必須要填寫課題的名稱。(4) 參考文獻不能少于 10 篇。(5) 填寫內容的字體大小 為小四,表格所留空不夠可增頁。本科畢業(yè)設計 (論文)開題報告學生姓名 楊杰 學 號 2006183924 專 業(yè) 機械設計制造及其自 動化指導教師 胡自化 職 稱 教授 所在系 機電系課題來源 企、事業(yè)單位委托課題 課題性質 工程技術研究課題名稱 弧面凸輪數控轉臺設計一、選題的依據、課題的意義及國內外基本研究情況本設計是以新型傳動數控轉臺的的設計為研究平臺,針對弧面凸輪機構的設計仿真分析是整個弧面凸輪數控轉臺項目中的一個子項。在當代機械制造業(yè)飛速發(fā)展過程中,現代機床制造業(yè)正在向“高速、精密、復合、智能和環(huán)?!钡姆较蚯斑M,而高速、高效加工在其中扮演著重要角色。在發(fā)達國家,圍繞高速、高效的新型的機構,不僅在技術開發(fā)方面投入了大量精力,而且在應用推廣方面取得了前所未有的進展?;?面 凸 輪 分 度 機 構 是 由 輸 入 軸 上 的 弧 面 凸 輪 與 輸 出 軸 分 度 輪 上 的 滾 動 軸承 無 間 隙 垂 直 嚙 合 , 從 而 實 現 間 歇 輸 出 的 新 型 傳 動 機 構 。 采 用 弧 面 凸 輪 分 度 機 構 的 弧 面凸 輪 分 度 箱 , 它 已 成 為 當 今 世 界 上 精 密 驅 動 的 主 流 裝 置 。 它 具 有 高 速 性 能 好 , 運 轉 平 穩(wěn) ,傳 遞 扭 矩 大 , 定 位 時 自 鎖 , 結 構 緊 湊 、 體 積 小 , 噪 音 低 、 壽 命 長 等 顯 著 優(yōu) 點 , 是 代 替 槽輪 機 構 、 棘 輪 機 構 、 不 完 全 齒 輪 機 構 等 傳 統(tǒng) 間 歇 機 構 的 理 想 產 品 , 產 品 廣 泛 應 用 配 套 于各 種 組 合 機 械 、 機 床 加 工 中 心 、 煙 草 機 械 、 化 工 灌 裝 機 械 , 印 刷 機 械 、 電 器 制 造 裝 配 自動 生 產 線 等 需 把 連 續(xù) 運 轉 轉 化 為 步 進 動 作 的 各 種 自 動 化 機 械 上 的 必 備 的 理 想 功 能 部 件 。從 參 數 化 和 可 視 化 的 虛 擬 設 計 技 術 出 發(fā) ,基 于 UG 軟 件 , 建 立 了 弧 面 分 度 凸 輪 機 構的 參 數 化 設 計 、 造 型 和 運 動 仿 真 , 得 出 分 度 盤 的 轉 速 以 及 滾 子 與 凸 輪 的 嚙 合 力 并 進 行 分析 ,獲 得 比 較 直 觀 的 結 果 .為 弧 面 分 度 凸 輪 機 構 的 運 動 性 能 研 究 和 企 業(yè) 的 產 品 優(yōu) 化 設 計 提供 研 究 參 考 。研 究 現 狀 :國 外 研 究 狀 況 : 弧 面 凸 輪 分 度 機 構 是 由 美 國 人 C.N.Neklutin 語 20 世 紀 20 年 代發(fā) 明 的 , 并 由 其 所 創(chuàng) 建 的 FERGUSON 公 司 首 先 進 行 了 標 準 化 、 系 列 化 生 產 。 之 后 ,歐 洲 及 日 本 等 國 也 相 繼 開 展 了 這 方 面 的 研 究 , 并 成 立 了 專 門 的 生 產 和 研 究 機 構 。國 內 研 究 狀 況 : 我 國 對 弧 面 凸 輪 分 度 機 構 的 研 究 開 展 的 較 晚 , 直 到 20 世 紀 70年 代 才 開 始 這 方 面 的 研 究 工 作 。 但 是 , 經 過 二 十 多 年 來 的 努 力 , 目 前 我 國 在 弧 面 凸 輪 分度 機 構 的 理 論 研 究 、 機 構 設 計 、 制 造 與 檢 測 等 方 面 都 做 了 大 量 的 積 累 , 也 取 得 了 較 為 豐碩 的 成 果 。 并 且 , 在 新 型 結 構 的 弧 面 凸 輪 分 度 研 究 方 面 , 做 了 大 量 的 探 索 。二、研究內容、預計達到的目標、關鍵理論和技術、技術指標、完成課題的方案和主要措施本設計以新型傳動數控轉臺的的設計為研究平臺,針對弧面凸輪機構的設計仿真分析是整個弧面凸輪數控轉臺項目中的一個重要環(huán)節(jié)。課題組在詳細了解現在國內的基礎上,密切關注國外在此方面的發(fā)展情況,并通過結合現在已開發(fā)的同類產品,在此基礎上進行優(yōu)化設計,使產品性能更加優(yōu)越,體積進一步減小。在項目研制過程中,我利用互聯網和學校圖書館詳細的了解了弧面凸輪的基本結構類型,廓面方程,嚙合規(guī)律等方面的知識,對現有的弧面凸輪進行了了解,查閱了有關資料。本課題在設計造型和動態(tài)的模擬仿真方面采用計算機輔助設計的技術,利用 UG 軟件及基于 UG 二次開發(fā)模塊建模,UG 的動態(tài)仿真,進一步縮短了設計周期,降低了設計成本,有助于促進了設計工作的規(guī)范化、系列化和標準化,從而提高該產品設計開發(fā)能力。主要的工作內容有以下幾個方面:1)設計計算部分:在結合指導老師所給的數據的情況下,分析確定凸輪分度機構傳動方案;在了解了弧面凸輪的廓面方程、嚙合方程的基礎上通過計算分析,確定弧面凸輪的參數,校核弧面凸輪強度;完成弧面凸輪的嚙合齒輪的設計計算;在傳動部分設計完成后,進行轉臺的聯接設計及轉臺自鎖問題的解決。2)工程仿真分析部分:本論文利用三維軟件 UG 及基于 UG 二次開發(fā)模塊對弧面凸輪機構進行三維建模,畫出零件三維圖形;利用 UG 軟件對弧面凸輪機構模型進行模擬仿真;對內嚙合齒輪傳動進行動力學分析。三、主要特色及工作進度主要特色:利用計算機輔助設計技術,基于 UG 及其二次開發(fā)模塊等軟件對理論設計的進行參數化建模,動態(tài)仿真和結構的優(yōu)化設計。工作進度:收集查閱了有關弧面凸輪的發(fā)展現狀、主要參數方程的推導等方面的資料,制定了設計提綱和計劃,完成了軟件的應用學習。四、主要參考文獻(按作者、文章名、刊物名、刊期及頁碼列出)[1]濮良貴,紀名剛. 機械設計[M]. 北京:高等教育出版社,2002.[2]胡宗武等. 非標準機械設備設計手冊[M]. 北京:機械工業(yè)出版社,2005.[3]方建軍,劉仕良. 機械動態(tài)仿真與工程分析[M]. 北京:化學工業(yè)出版社,2004.[4]葛正浩,蔡小霞,王月華. 應用包絡面理論建立弧面凸輪廓面方程[5],2004.[6]張高峰,譚援強;馬秋成 .弧面凸輪三維 CAD 及其修形研究[J].[7] 董正衛(wèi) 田立中 付宜利. UG/OPEN API 編程基礎[M]. 北京:清華大學出版社 ,2002:指導教師意 見 指導教師簽名: 年 月 日系意見系主任簽名:年 月 日院意見 教學院長簽名: 年 月 日1弧面凸輪數控轉臺的設計——3D 建模與裝配摘要:弧面凸輪機構是一種高速裝置,廣泛的應用于各種機械傳動中。為適應當代社會對弧面凸輪制造加工精度等方面的要求,本設計利用 UG 強大的二次開發(fā)功能,通過運用UG/API 語言進行編程,從而開發(fā)出弧面凸輪的建模命令,使得弧面凸輪的 3D 建模與裝配變得簡單。關鍵詞:弧面凸輪,UG 二次開發(fā),3D 建模,裝配The Design Of Globoidal Indexing Cam NC rotate table——3D construction mode and AssemblyAbstract:Globoidal indexing cam mechanism is a high 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 modeling 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.2第 1 章 緒論1.1 課題的研究背景弧面凸輪減速器是一種新型、高效的減速器,在國內尚屬于研究階段。該減速器可取代渦輪蝸桿減速器,且具有優(yōu)良的特性。它可通過調整中心距進行預緊,達到無間隙嚙合,長期運轉后可保持良好精度,傳動效率高,熱損耗小。該機構不僅精度高,而且體積小、重量輕、傳動效率高、壽命長,適宜于高速高精度及高效率的場合。我國對弧面分度凸輪機構的研究始于 20 世紀 70 年代末, 上海工業(yè)大學, 天津大學、合肥工業(yè)大學、吉林工業(yè)大學、山東工業(yè)大學、陜西科技大學(原西北輕工業(yè)學院)、大連輕工業(yè)學院、上海工程技術大學等高校以及山東諸城鍛壓機床廠、西安鐘表機械廠、蕪湖電工機械廠等廠家都在弧面分度凸輪機構的研究、制造方面取得了一批成果弧面凸輪在經歷了幾十年的發(fā)展后,凸輪機構學的理論研究已經達到較高的水平, 為凸輪機構的設計制造奠定了堅實的理論基礎。當今, 凸輪機構的設計已廣泛采用解析法并借助計算機來完成, 但目前國內文獻介紹的凸輪機構 CAD、 CAM 只能設計幾種平面或空間凸輪機構。而基于 UG 軟件的二次開發(fā)模塊開發(fā)了弧面凸輪的三維 CAD 軟件,為弧面凸輪數控加工模擬以及建立弧面凸輪的運動仿真系統(tǒng)奠定了基礎。因此,現代弧面分度凸輪機構的設計建模技術有著廣泛的工程應用背景和研究意義 。隨著計算機技術和現代設計理論與方法的迅速發(fā)展,三維設計軟件尤其是 Unigraphics 在機械零件和產品設計中的日益普及,弧面凸輪實體在三維軟件特別是在 UG 中的繪制變得越來越重要。但 UG 中并無弧面分度凸輪的實體建模命令,這就得要我們借助 UG 強大的二次開發(fā)功能,通過定制弧面凸輪設計界面,達到直接建立三維實體的目的。建模技術是 CAD 的核心技術,參數化造型技術和特征造型技術是新一代繼承化 CAD系統(tǒng)應用研究的熱點理論。目前國內外對二維圖形參數化和簡單三維實體的參數化造型較為成熟。對復雜的三維實體的參數化造型尚不多見,特別是弧面分度凸輪這類形狀復雜、精確齒形的三維實體參數化造型設計更少。由于弧面凸輪形狀復雜,繪制齒形曲線較復雜。并且弧面凸輪各參數間都有嚴格的函數關系,再加上隨著當代機械制造業(yè)的不斷發(fā)展,弧面凸輪的精度要求也越來越高,其實體的繪制較為麻煩?;∶嫱馆啿⒉皇且粋€標準件,它的各個參數隨著設計要求的不同而不同。如果每設計一個齒輪都要畫一個對應的實體部件的話,那不僅增加了設計者的勞動量,還大大降低了設計效率,阻礙了企業(yè)的生產和發(fā)展。參數化設計是新一代智能化、集成化 CAD 系統(tǒng)的核心內容,也是當前 CAD 技術的研究熱點。用大型的三維軟件實現弧面凸輪的參數化造型已成為設計者的迫切需求,弧面凸輪體參數化造型有重要的意義:(1)弧面凸輪傳動的參數化設計與建模系統(tǒng)是 CAD 技術與弧面凸輪設計相結合的產物,也是兩者發(fā)展的趨勢所在。(2)實現設計過程自動化避免了設計人員手動查閱大量的數據,也避免了手工取點造型的復雜過程,該系統(tǒng)的開發(fā),可以將手算設計的工作人員從繁瑣、低效的工作中解放了出來。3(3)實現弧面凸輪了的參數化設計以及其精確的造型,可以將設計計算、三維造型與繪制工程圖的無縫結合,同時為弧面凸輪的有限元分析、機構仿真和數控加工等工作奠定基礎。本課題利用 UG 的二次開發(fā)技術,為解決弧面凸輪參數化設計問題提供了可行的方法,通過直接輸入弧面凸輪設計條件,利用計算得出的設計參數進行實體建模,實現弧面凸輪的參數化設計,提高弧面凸輪設計的效率和準確性。1.2 課題的研究內容和解決方法本課題利用大型軟件 UGNX5.0 來實現弧面凸輪的三維參數化造型,通過改變弧面凸輪的一些基本參數,生成其相應弧面凸輪。要達到相應的設計要求,首先要知道弧面凸輪的廓面方程,畫出弧面凸輪模型后,還應知道 UG 二次開發(fā)的知識,靈活運用 UG 系統(tǒng)提供的二次開發(fā)工具,在模型的基礎上編制相應的程序,最后完成弧面凸輪參數化設計模塊的開發(fā)。具體內容和步驟如下:(1) 研究弧面凸輪的廓面方程和各參數間的關系并建立數學模型;(2)深入掌握 UG 二次開發(fā)的各種方法,并熟練運用 UG/OPEN 開發(fā)工具,在建立弧面凸輪的數學模型的基礎上,對各弧面凸輪實現三維參數化造型;(4) 在構建弧面凸輪模塊框架的基礎上,深入研究菜單的制作技術以確定本課題應采用的最佳菜單制作技術。UG 軟件是集 CAD/CAM/CAE 一體化的三維參數化軟件,是當今世界上最為先進的計算機輔助設計、制造和分析軟件,在國內使用相當廣泛。另外它所提供的二次開發(fā)語言模塊 UG/Open API、UG/Open GRIP 和輔助開發(fā)模塊 UG/Open Menu script 與 UG/Open UI Styler 及其良好的高級語言接口,使 UG 的圖形功能和計算功能有機的結合起來,便于用戶去開發(fā)各種基于自身需要的專用 CAD 系統(tǒng)。使用 UG/Open API 和 UG/Open GRIP 中任何一個模塊都能實現 UG 的二次開發(fā),再結合輔助模塊,就能開發(fā)出 UG 界面的應用模塊。因此,合理利用 UG 的二次開發(fā)語言模塊和輔助模塊,就可以實現在 UG 環(huán)境下對弧面凸輪進行參數化設計。4第二章 弧面分度凸輪機構設計基礎2.1 弧面分度凸輪廓面理論弧面凸輪的工作廓面是空間不可展曲面,很難用常規(guī)的機械制圖方法進行測繪,也不能用展成平面輪廓線的方法設計。針對弧面分度凸輪機構實際嚙合過程中滾子曲面與弧面凸輪廓面互為共扼曲面的特點,利用空間包絡曲面的共扼原理進行設計計算,推導弧面分度凸輪的廓面方程。2.2 共軛曲面原理共軛曲面是機構中兩構件上用以實現給定運動規(guī)律連續(xù)相切的一對曲面,研究的是相互接觸且有相對運動的兩個曲面。對于空問共扼曲面問題用圖解法求解困難較大,因此一般結合微分幾何和剛體運動學,以向量、矩陣或對偶數等為工具的解析法,研究一對共扼曲面的兒何形狀與這對曲面相對運動的關系。已知共軛運動和共扼曲面中的一個曲面,求另一個曲面,是共軛曲面理中的基本問題。求解方法有包絡法和運動法等,因包絡法比較繁瑣,多用運動法求解。與共扼曲線相仿,一對共軛曲面在嚙合過程中連續(xù)相切的條件是兩曲面在接觸點處的相對速度應與過該點所作這對共軛曲面的公法線垂直。根據這個原理,在給定的曲面 1 上任選一點,找出該點進入接觸位置曲面所需的轉角和位移,用坐標轉換法或向量回轉法等即可求得接觸點在固定空間中的位置,即嚙合曲面上的一個對應點。同時也可求出曲面 2 上的對應點。這樣一個一個點求解,最后可求得整個嚙合曲面及與曲面 1 共軛的曲面 2。根據共扼曲面原理,凸輪工作廓面與從動盤滾子曲面間的共軛接觸點必須滿足下列三個基本條件:(1)在共 V- E 接觸位置,兩曲面上相對應的一對共轆接觸點必須重合。(2)在共桃接觸點處,兩曲面間的相對運動速度必須垂直于其公法線。(3)兩曲面在共軛接觸點處必須相切,不產生干涉,且在共軛接觸點處無曲率干涉。根據以上原理,當己知凸輪和分度盤的運動規(guī)律之后,就可以由滾子圓柱面方程,通過坐標變換,推導出凸輪廓面方程。2.3 齊次坐標變換所謂齊次坐標變換,就是要把被變換坐標系描述的矢量變換成用其參考坐標系所描述的矢量。在笛卡爾坐標系 o'x'y'z'中點(x',y ',z')向另一個笛卡爾坐標系 oxyz 變換,變換后的坐標(x, y,z)可由下式求得: x= '''xxnoyazp?y= '''yyz= '''zzzz--坐標系 o'x' y'z'的原點在坐標系 oxyz 中的坐標;xpyznx , ny , nz --坐標系 o'x' y'z'的 o'x'軸對坐標系 oxyz 的 3 個方向余弦;--坐標系 o'x' y'z'的 o' y'軸對坐標系 oxyz 的 3 個方向余弦;xyzo5--坐標系 o'x' y'z'的 o' z'軸對坐標系 oxyz 的 3 個方向余弦。,xyza若( )是 o'x' y'z'系的齊次坐標,( )是 oxyz 的齊次坐標,而我們總''''1234,x124,x可以認為 ,則'?''''1234''''2xxyyynoap??1—(1)''''31234'4zzzzxx?將此式寫成矩陣 形式,即:'XT?1—(2)'11 '2 2'3 3'4 401xxyyzznoapxxx?????????????????????那么1—(3)T 是一個 4 4 階矩陣,稱為笛卡爾坐標系的齊次坐標變換,它溝通了兩個坐標?系的關系:表示了坐標系中 o'x'y'z'的點 x',經過 T 變換后變成了坐標系 oxyz 中的點 X。為 oxyz 坐標系原點 o 向 o'x'y'z'原點 o'移動的位移矢量。為 oxyz 坐標系轉向 o'x'y'z'相吻合的旋轉矩陣。xxyyzznoaR???????故齊次坐標變換矩陣可以分解為一個平移和一個旋轉矩陣之積 即:61-(4)2.4 坐標系的建立基于共扼曲面原理和齊次坐標變換理論,研究弧面分度凸輪機構的空間嚙合曲面的關系和幾何參數間的內在聯系,需要建立合理的坐標系。坐標系選擇的合理與否,不僅影響所要求的廓面方程的形式,也影響推導求解過程中的繁簡程度。如圖(a)所示,建立笛卡爾右手直角坐標系。(1)與機架相連的坐標系 ()fXYZ坐標系 的原點 與轉盤轉動中心重合,X, 軸沿轉盤轉動中心與凸輪中心連線,Y,1kfO軸與 X,軸組成的平面與轉盤的旋轉平面平行,Z:軸與轉盤的轉動軸線重合,按右手法則可知 Z,軸垂直紙面向外。(2)與機架相連的定坐標系 ()gYZ坐標系 的原點 與凸輪中心重合, 軸和 ,軸重合, 軸與凸輪轉動軸線重合,2kg gXt gZ選擇 軸的方向時,應使面對 軸的箭頭方向看, 為逆時針。根據右手法則,Z 軸垂gZgc?直紙面向內,與 Y,軸間的夾角為 /2??(3)與凸輪相連的動坐標系 ()cYZ坐標系 的原點 與凸輪中心重合。X 在通過輪中心壞并垂直于凸輪轉動軸線的平3kCO面上。Y 軸 Z 軸組成的平面垂直于凸輪的轉動軸線,Z 軸是凸輪的轉動軸線, 和 重cZg合且方向一致。(4)一與轉盤相連的動坐標系 ()tYZ坐標系 的原點 與轉盤中心重合。X 沿滾子的自轉軸線,即轉盤的徑向線。4kf與 間的夾角為 ,即滾子的位置角,由 量起,逆時針方向為正。 軸與fOXt ?tOXfY為軸組成的平面為滾子的中心平面,它與轉盤的旋轉平面平行。 軸即為轉盤的轉動軸fZ線, 和 重合,垂直紙面向外。圖 1 為垂直于 軸的滾子截面示意圖。fZt f7圖 1: 圓錐滾子弧面分度凸輪機構的坐標系:從動盤中心至滾子近端面的距離;?、 :分別為共軛嚙合點的嚙合角和滾子的長度參數;?u:圓柱滾子長度。h2.5 弧面分度凸輪廓面方程求解設滾子在動坐標系 中的向量表達式如下所示()rXYZ式中 為滾子上嚙合點的嚙合角, 為嚙合點在 軸上的坐標, 為小端滾子半徑,?urZ?為滾子的錐角。 u根據圖1所建立的弧面凸輪機構的坐標系,通過將滾子柱面在 坐標系的向量表()rXYZ達式轉換到( xyz ) c 中,可求得弧面分度凸輪與滾子嚙合傳動的共軛嚙合點在 中的()c向量表達式 ,即弧面分度凸輪的曲面方程如(2) 式所示:mR式(2)中各參數表示如下:8式中的 和 必須基于嚙合方程進行確定,在坐標系 中,嚙合方程如下:?u ()fXYZ其中, 表示滾子在共軛嚙合點在坐標系 中的單位法向矢量, 表示共軛嚙合kfN()f kmfV點在 中的相對滑動速度。求得單位法向矢量與相對滑動速度如式: ()fXYZ其中 式中: 為從動轉盤的角速度與弧面分度凸輪角速度之比。't?Unigraphics(簡稱 UG)是當前世界上最先進和緊密集成的、面向制造行業(yè)的CAID/CAD/CAE/CAM 高端軟件。它為制造業(yè)產品開發(fā)的全過程提供解決方案,主要功能包括:概念設計、工程設計、性能分析和制造。此外,UG 軟件還提供了 CAD/CAE/CA業(yè)界最先進的編程工具集,以滿足用戶二次開發(fā)模塊的開發(fā)和應用需要。9第三章 UG 二次開發(fā)的工具3.1 UG 軟件概述UGnx 建 立 在 為 客 戶 提 供 無 與 倫 比 的 解 決 方 案 的 成 功 經 驗 基 礎 之 上 , 這 些 解 決 方 案可 以 全 面 地 改 善 設 計 過 程 的 效 率 , 削 減 成 本 , 并 縮 短 進 入 市 場 的 時 間 。 通 過 再 一 次 將注 意 力 集 中 于 跨 越 整 個 產 品 生 命 周 期 的 技 術 創(chuàng) 新 , NX 的 成 功 已 經 得 到 了 充 分 的 證實 。 NX 是一個交互的計算機輔助設計、計算機輔助制造和輔助工程(CAD/CAE/CAM)系統(tǒng)。CAD 功能自動化是在今天制造公司中見到的一般工程、設計和制圖能力;CAM 功能利用 NX 描述完成零件的設計模型,為現代機床提供 NC 編程;CAE 功能橫越一廣范的工程學科,提供許多的產品、裝配和零件的性能防真能力。NX 是一個全三維、雙精度系統(tǒng),它允許用戶精確地描述幾乎任一幾何形狀。通過組合這些形狀,用戶可以設計、分析產品和建立他們的工程圖。一但設計完成,制造應用允許用戶選擇描述零件的幾何體,加入制造信息,如刀具直徑并自動生成一刀具位置,源文件(CLSF) ,它可用來驅動大多數 NC 機床。目前 UGS 公司已經推出 NX5 產品,本次設計中使用的是 NX5 版本的軟件。NX5 的特點是:1、為了數字化產品開發(fā)集成的自動化;2、在所有開發(fā)學科中的新能力,包括工業(yè)設計、防真、工裝、加工和管理;3、在一個全面的產品生命周期管理(PLM)解決力案內的領先前沿的 CAD、CAE 和 CAM 技術。通過 NX 可以建立、存儲、恢復和操縱設計與制造信息,典型地通過建立描述一零件的幾何體開始工作。NX 功能被劃分成共同功能的一系列“應用(Application ) ”共 18 個模塊,各模塊分別為:1、入口(Gateway):對所有其他交互應用的首要必備的應用; 2、建模(Modeling):包括實體、特征、自由形狀、鈑金特征建模和用戶定義特征;3、裝配(Assembilies):支持裝配建模;4、幾何公差模塊(Geometric Tolerancing Module):讓用戶捕捉公差;5、產品和制造信息(PMI Introduction):可用于在三維環(huán)境中對產品形成文檔說明;6、分析(Analysis):包括注塑模流動分析、運動應用和 ICAD;7、制圖(Drafting):可將三維模型生成二維視圖; 8、高質量圖像( High Quality Image):生成逼真照片的圖像;9、知識熔接(Knowledge Fusion):允許用戶應用工程知識驅動規(guī)則和設計意圖到 NX 中的幾何模型和裝配;10、制造(Manufacturing):可進行虛擬加工和自動加工編程;11、開放的用戶界面設計(Open User Interface Styler):允許用戶和第三方開發(fā)商生成 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:可在用于描述產品機械裝配的同一三維空間建立電氣布線的表示。3.2 UG 二次開發(fā)相關工具概述UG NX 軟件提供了 CAD/CAE/CAM 業(yè)界最先進的編程工具集,以滿足用戶二次開發(fā)10的需要,這組工具集稱之為 UG/Open,以開放性架構面向不同的軟件平臺提供靈活的開發(fā)支持。UG/Open 包括以下幾個部分: UG/Open Menu scrip 開發(fā)工具,對 UG 軟件操作界面進行用戶化開發(fā),無須編程即可對 UG 標準菜單進行添加、重組、剪裁或在 UG 軟件中集成用戶自己的軟件功能;UG/Open UI Styler 開發(fā)工具是一個可視化編輯器,用于創(chuàng)建類似 UG 的交互界面,利用該工具,用戶可為 UG/Open 應用程序開發(fā)獨立于硬件平臺的交互界面;UG/Open API 開發(fā)工具提供了 UG 軟件直接編程接口,支持C、C++、Fortran 和 Java 等主要高級語言;UG/Open GRIP 開發(fā)工具是一個類似 API 的UG 內部開發(fā)語言,利用該工具用戶可生成 NC 自動化或自動建模等用戶的特殊應用。利用 UG/Open 提供的應用程序和開發(fā)工具,用戶可以在其提供的平臺上開發(fā)出適合自己需要的 CAD 產品。3.2.1 UG/Open Menu ScriptUG/Open Menu Script 不僅可以使用戶利用 ASCⅡ文件來編輯 UG 的菜單,也可以以一種無縫集成的方式為用戶開發(fā)的應用程序創(chuàng)建菜單。Menu Script 同時也提供了一個菜單欄報告工具,以幫助用戶查看定制的菜單,診斷錯誤。對于菜單的自定義大致可以分為如下三個層次。(1)自定義菜單該級別的自定義允許單個用戶或者管理員重新安排 UG 的功能,去除在其產品開發(fā)過程中不需要的功能。這種級別的自定義不需要編程實現。(2)自定義 UG 功能該級別的自定義允許單個用戶或者管理員取代或增加標準的 UG 功能,并添加其自己定義的功能。(3)添加自定義應用該級別的自定義其目的在于使用戶或第三方開發(fā)商開發(fā)的應用程序完全集成在 UG中。該級別的自定義需要編程實現。UG 的菜單文件是擴展名為.men 的文本文件,可以使用 Windows 的記事本進行編輯。UG/Open Menu Script 提供了一套用于定義 UG 菜單的腳本語言。實際上, UG 系統(tǒng)的菜單文件也是用該腳本語言編寫的。UG 為主菜單欄、快捷菜單欄提供了豐富的系統(tǒng)菜單文件,這些菜單文件默認情況下都保存在 UGⅡ_BASE_DIR/ugⅡ/menus 文件夾下。3.2.2 UG/Open UI StylerUI Styler 是開發(fā) UG 對話框的可視化工具,生成的對話框能與 UG 集成,讓用戶更方便、更高效地與 UG 進行交互操作。UG/Open UI Styler 模塊提供了強大的制作 UG 風格窗口的功能,其主要功能如下:(1) 提供了讓開發(fā)人員建造 UG 風格對話框的可視化環(huán)境,并能生成 UG/Open UI Styler 文件和 C 代碼,從而使用戶在使用 UG/Open UI Styler 產生的對話框時,不必考慮圖形用戶界面(Graphical User Interface 縮寫為 GUI )的實現。(2) 利用可視化環(huán)境快速生成 UG 風格對話框,從而減少開發(fā)時間。11(3) 通過選取和放置控件,從而能實現所見即所得。(4) 可以在對話框中實現用戶自定義位圖。(5) 提供了屬性編輯器,從而允許開發(fā)人員設置和修改控件屬性。(6) UI Styelr 產生的對話框可以在 Menu Script 中被調用,因此可以實現在 UG 菜單項上調用 UI Styler 產生的對話框,從而將用戶應用程序和 UG 軟件完全融合。應用 UI Styler 這一工具可以使開發(fā)人員方便、快速地設計出與 UG 界面風格一致的對話框,避免其他復雜的編程。而且可以和用其他開發(fā)工具開發(fā)出的結果進行集成。UG/Open UI Styler 工具和 UG/Open Menu Script 工具一樣,都只具有某一方面的功能:UG/Open UI Styler 用于對話框的開發(fā), UG/Open Menu Script 用于菜單的開發(fā)。3.2.3 UG/Open GRIPUG/Open GRIP(Graphics Interactive Programming)是一種專用的圖形交互編程語言。這種語言與 UG 系統(tǒng)集成,實現 UG 下的絕大多數的操作。GRIP 語言與一般的通用語言一樣,有其自身的語法結構,程序結構,內部函數,以及與其他通用語言程序相互調用的接口。一個 GRIP 語句是由一個或幾個 GRIP 命令組成,GRIP 命令是 GRIP 語言的基本組成部分。GRIP 命令有三種表示格式:a)陳述格式。主要用于生成和編輯實體。b)GPA 符號格式。GPA 是全局參數存取(Global Parameter Access)的縮寫,用于訪問 UG 系統(tǒng)中各種對象的狀態(tài)和參數。c)EDA 符號格式。EDA 是實體數據存取(Entity Data Access)的縮寫,用于訪問 UG 數據庫,能夠訪問各種對象的功能性數據。例如在屬性、繪圖和尺寸標注以及幾何體等領域與 UG 進行交互操作時,其參數可用 EDA 格式的命令取得。用 GRIP 語言編寫 GRIP 源程序,可以在 windows 的記事本中進行,記為*.grs;或者在 GRIP 高級開發(fā)環(huán)境(GRAD-Grip Advanced Development Environment)中編寫。執(zhí)行GRIP 程序必需進入 UG 環(huán)境中,運行 File—Execute UG/Open—Grip。GRIP 編程語言是面向工程師的語言,具有簡單、易學、易用的特點,但是所編寫的程序長、復雜。要考慮程序的各個細節(jié)問題。因此,GRIP 語言常用于開發(fā)一些規(guī)模比較小的程序,例如,同類零件建模、計算和分析、數據訪問等程序。與 GRIP 語言相比較,用API 函數編程則可實現功能復雜的操作。3.2.4 UG/Open API作為 UG NX5.0 與外部應用程序之間的接口,UG/Open API 是一系列函數的集合。通過 UG/Open API 的編程,用戶幾乎能夠實現所有的 UG NX5.0 功能。開發(fā)人員可以通過用 C++語言編程來調用這些函數,從而實現用戶的需要。(1) 對 UG part 文件及相應模型進行操作,包括建立 UG NX5.0 模型、查詢模型對象、建立并遍歷裝配體,以及創(chuàng)建工程圖等。(2) 在 UG NX5.0 中創(chuàng)建交互式程序界面。(3) 創(chuàng)建并管理用戶定義對象等。應用函數時應注意所有的 UG/Open API 應用必須及時進行初始化和終止,以確保獲12取或者釋放 UG/Open API 的執(zhí)行許可權限。初始化函數是 UF_ initialize (),當開始調用 UG/Open API 的函數時應先調用 UF_ initialize()來獲取執(zhí)行許可權限。一般來說,我們在變量聲明完成后,第 1 個調用UG/Open API 的函數就是 UF_ initialize()。終止函數是 UF_ terminate(),當不再調用 UG/Open API 的函數時必須調用 UF_ terminate()來釋放執(zhí)行許可。UG/Open API 程序能在兩種不同環(huán)境(依賴于程序的連接方式)下運行,即 Internal環(huán)境(也稱為“Internal 開發(fā)模式” )和 External 模式。其中 Internal 環(huán)境下的程序只能在UG NX5.0 的界面環(huán)境(session)下運行,在運行這些程序時他們被加載到 UG NX5.0 的運行空間中(UG NX5.0 分配的內存) ;External 模式開發(fā)的程序能在操作系統(tǒng)(Windows NT/2000/XP 及 UNIX)下運行,不在 UG NX5.0 環(huán)境中或作為 UG NX5.0 的子進程運行。盡管沒有圖形顯示,但 UG/Open API 提供了函數用于打印機或繪圖儀輸出,也可以輸出為 CGM 文件等其他數據文件。3.3 系統(tǒng)菜單的制作UG 軟件為用戶提供了一個調用二次開發(fā)結果的交互式接口:User Tools。它的功能是生成彈出式對話框或工具條,其界面風格與 UG 界面風格一致。通過執(zhí)行對話框或工具條,操作相應的控件就可運行菜單文件、宏文件、UG/Open GRIP 程序、UG/Open API 程序和其他二次開發(fā)文件。通過編寫對話框定義文件(*.utd)來實現 User Tool 工具的功能。編寫文件完成以后,在 UG 中執(zhí)行 Tools—Customize—User Tools—Load.選擇所編寫的*.utd 文件即可彈出需要的對話框或工具條。*.utd 這個文件是文本文件,可用 Windows中的記事本進行編寫和編輯。一種比較簡單的實現方法:拷貝 UG 中的模板文件Usertoo1.utd 到 UG 啟動目錄下,然后編輯模板文件,實現所需要的功能。在以前較早版本中例如 V13,運用 User Tools 工具必須編寫兩個文件:菜單定義文件 (*.utm)和對話框定義文件(*.utd) ,然后通過執(zhí)行菜單項彈出相應的對話框或工具條?,F在,較高的 UG 版本已經省略產生菜單這一步,操作同上所述。在 UG 界面中應用 File— Execute UG/Open 菜單執(zhí)行 UG/Open API 程序或 UG/Open GRIP 程序,操作一次只能執(zhí)行一個程序,而且必須找到程序所在的路徑。若利用 User Tools 這個工具,用戶可以將多個 GRIP 或 API 函數所編寫的程序集成到一個 User Tools 對話框或者工具條中,一個程序對應一個控件,通過操作控件來調用程序,使用起來就非常方便。雖然各種菜單的制作方法,在結構、內容和開發(fā)過程上有一定的差異,但是在整個構建過程中有其共性和相同的部分,就是菜單制作之前應先設置系統(tǒng)環(huán)境變量。設置了系統(tǒng)環(huán)境變量,UG 才能找到開發(fā)內容所在目錄。系統(tǒng)環(huán)境變量設置方法有以下兩種:方法一:打開$UG_BASE_DIR/ugii 目錄下的 ugii_env.dat 文件(該文件包含Unigraphics 系統(tǒng)的全部環(huán)境變量及系統(tǒng)路徑定義 ),找到下面兩條語句:#UG_VENDOR_DIR=${UGALLIANCE_DIR}/vendor 和#UG_ SITE_DIR= ${UGALLIANCE_DIR}/site。將它們前面的注釋符號“#”刪除,以使它們起作用。這兩條語句其實指明了供用戶放置二次開發(fā)文件的目錄。在 Unigraphics 初始安裝時,它們不起作用,當刪除了“#”號后, UG/OPEN 才能從這些目錄下得到二次開發(fā)的功能擴展。這兩個13目錄的功能和結構是完全相同的,下面都有 startup 和 application 兩個目錄。其中 startup存放 Unigraphics 啟動時需載入的動態(tài)共享庫 (以 ufsta()為入口的.dl1)及菜單腳本文件(.men);application 目錄存放具體的功能擴展程序文件(如應用模塊的功能擴展共享庫( .dl1)及對話框資源文件( .dlg))。Unigraphics 下設置的這兩個目錄是為不同等級的開發(fā)者提供的,vendor 目錄下放置 Unigraphics 指定的開發(fā)商的二次產品,site 目錄下存放其余開發(fā)者的產品。因此 vendor 目錄下同類內容的文件要比 site 目錄下的優(yōu)先載入。此外,在ugii_env.dat 文件中還有一條語句,是用來設置用戶自己二次開發(fā)內容的目錄:#UG_USER_DIR =${HOME},同樣將其前面的“#”號刪除,并在其后使用用戶自己的目錄替換${HOME} 。例如,UG_USER_DIR=E:\ugapi ,在此目錄下也必須建立目錄 startup 和application,存放的內容和 site 及 vendor 下的 startup、application 一樣,不過它的優(yōu)先級更低。方法二:打開 UG 安裝目錄 UGⅡ_BASE_DIR\ UGⅡ\menus 下的 custom_dirs.dat(用記事本打開) ,在文件最后添加開發(fā)的文件夾的絕對路徑。在添加的文件里建立兩個子目錄:startup 和 application ,分別用來放置開發(fā)的各種文本文件( .men 文件) 、動態(tài)庫文件和對話框文件。上述兩種方法中第二種方法較簡單方便,本課題采用第二種方法。打開 UG 安裝目錄 UGⅡ_BASE_DIR\ UGⅡ\menus 下的 custom_dirs.dat,在文件最后添加開發(fā)的文件夾的絕對路徑 E: \tulun_open。在 E: \tulun_open 文件夾下建立 startup 和 application 兩個子目錄。本課題只涉及到弧面凸輪的參數化設計,因此應在一個主菜單下建立一個子菜單。在 E:\tulun_open\startup 下建立文件 disign.men,代碼如下:VERSION 120 //版本號EDIT UG_GATEWAY_MAIN_MENUBAR //編輯 UG 系統(tǒng)剛啟動時菜單BEFORE UG_HELP //定義菜單位于【幫助】菜單前CASCADE_BUTTON DESIGN //定義一級菜單 ID,為下拉菜單LABEL 二次開發(fā) //主菜單標題END_OF_BEFORE //結束 BEFORE 定義MENU DESIGN BUTTON DESIGN_OK //定義二級菜單 ID LABEL 弧面凸輪 //第一個子菜單標題ACTIONS tulun.dlg //調用對話框END_OF_MENU //結束菜單的定義菜單運行效果圖運行結果如圖所示:14第四章 程序設計4.1 總體方案設計建立好實體模型后,接下來就是利用 API 程序將模型中的表達式的值與對話框聯系起來。程序的功能是針對部件的設計參數,對設計參數進行查詢、修改,根據新的參數值更新模型從而實現設計變更。因此,程序對三種齒輪的功能是一樣的,在對各個模型編寫程序時只需要根據各個模型的參數對程序中所調用模型參數做一些修改,其他在程序的編寫思路、程序所用的函數和結構等都可以相同。要實現程序針對某個模型的設計參數進行查詢、修改,主要的程序設計思路是先讀取對話框中的參數,然后把對話框中的參數傳遞給模型中的表達式,改變表達式中相應參數的值,更新模型。程序運行后,就能實現把設計者輸入對話框的參數轉化成模型尺寸的變化,實現設計目的。但是由于此種參數化設計的方法是建立在模型的基礎上進行的,對話框的設計也是針對某個實體模型,編寫程序時使用的參數也是針對具體某一個模型的。因此,在程序運行時應首先檢測當前打開的模型是否就是該程序和對話框所對應的模型,只有打開了相對應的模型時程序才繼續(xù)運行,否則退出。另外,為了方便設計者使用,讓使用者在打開對話框時就能直接看到當前模型的各個參數,在調用對話框時應首先將當前模型中表達式中的對應參數讀出,并傳遞給對話框,顯示在對話框上。因此,程序設計時,首先檢測當前顯示的部件是否為程序對應的部件文件,接著使用構造函數將模型中的表達式中的參數值讀出并傳遞到對話框上,然后是用戶輸入參數值后讀取參數并傳遞給模型,更新模型。程序流程如下圖所示:15檢測是否為與程序相對應部件讀取模型表達式中參數值,調用對話框讀取對話框中的數值將讀取的參數值傳遞到模型中的表達式中,更新模型開始退出是否圖 4-1 程序設計流程圖4.2 對話框設計程序要將對話框和部件模型聯系起來,在程序中必然要調用對話框,并有相應的程序相應對話框中的控件。UG 中建立好對話框后,保存對話框時系統(tǒng)還自動生成另外兩個文件,分別是與對話框關聯的.c 和.h 文件,在編寫程序時要使用這兩個文件。因此,在編寫程序前必須先建立對話框,建立好對話框后再利用對話框生成的文件進行編程?,F以直齒圓柱齒輪為例,介紹對話框的建立和程序編寫的過程。(1)在 UG 中,單擊下拉菜單“應用” ——“用戶界面編輯器”,即可進入 UI Style 模塊,操作界面如圖 4-2 所示。16圖 4-2 UIStyle 操作界面由圖中我們可以看出,在操作界面中,除下拉菜單和“標準” 工具欄外,該界面主要有:項目工具欄:包括 UI Style 模塊所提供的對話框控件;編輯的對話框:可視化顯示正在編輯的對話框;對象瀏覽器:在對象瀏覽器中可以選擇對話框本身或其中包含的控件,之后在編輯器中對其資源屬性進行編輯;資源編輯器:對在對象瀏覽器中被選擇的控件的資源屬性進行編輯。在建立對話框時,我們可以充分利用以上工具。首先,編輯對話框的屬性。選擇對象瀏覽器中最頂層的對話框,就可以在資源編輯器中對對話框的屬性進行編輯。如圖 4-3 所示:17圖 4-3 編輯對話框屬性界面資源編輯器中包括“ 屬性 ”、 “選擇”、和“回叫” 三個選項卡。 “屬性”選項卡中可編輯對話框標題、提示語、對話框名、對話框類型等。根據需要設置后如圖 4-3 所示。 “選擇” 選項包括:啟用:選擇是否希望當顯示對話框的同時可以對 UG 圖形窗口中的對象進行選擇;類型:設置在 UG 圖形窗口中選擇對象的方式是否變化;范圍:用于確定被選對象所在范圍是否變化。該選項中不需設置,界面如圖 4-4 所示:18圖 4-4 選擇選項在回調選項卡中,所有對話框都可以包含一些基本的回調函數,主要包括:應用、后退、取消、確定、構造、毀壞等。根據程序需要編輯后如圖 4-5 所示:圖 4-5 回叫選項卡編輯好對話框屬性后,應在對話框中添加相應的控件,本課題中只需要輸入齒輪的一些參數,只需添加一定數量的“實數” 控件就可以了。添加好控件后應該對控件的屬性進行編輯,其界面如圖 4-6 所示:19圖 4-6 “實數” 控件資源編輯器由圖可看出,其中包含:屬性、微調按鈕、回叫、布局設置四個選項卡。屬性選項卡中可以編輯標簽、控件名等。在這里只需對屬性進行編輯其余的可保持默認狀態(tài)。圖 4-6顯示的就是編輯后的結果。要注意的是,在資源編輯器中編輯任何一個選項卡后,都要單擊編輯器底部的“ 應用”按鈕,這樣所編輯的內容才會被保存。最后,直齒圓柱齒輪的對話框如圖 4-7 所示:圖 4-7 對話框設計結果編輯好對話框后,將對話框保存在開發(fā)路徑下的 application 文件夾中。204.3 程序設計UG/Open API 應用程序是利用 UG/Open API,采用 C 語言進行程序設計,使用 C 編譯器和連接器創(chuàng)建的能夠在外部(External)環(huán)境或內部(Internal)環(huán)境運行的可執(zhí)行程序(文件名后綴為 EXE)或動態(tài)連接庫(文件名后綴為 DLL)形式的程序。對于不同的操作系統(tǒng)平臺,在編譯和連接生成 UG/Open API 應用程序時,編譯選項和所需的系統(tǒng)庫文件是不同的。要使用 UG/Open API 應用程序正常運行,必須正確設置編譯和連接選項。本次設計采用 Windows 操作系統(tǒng),Visual C++6.0 集成開發(fā)程序來編程,具體步驟如下:步驟一:檢查目錄 Microsoft Visual Studio\Common\MSDev98\Template 下是否有文件ugopen.awx 及 ugopen.hlp,若有,進入步驟二;否則從 UG 安裝目錄下的UG_BASE_DIR/ugopen 下拷貝這兩個文件到以上目錄中。步驟二:啟動 VC++6.0,選擇下拉菜單“文件”—“ 新建”,系統(tǒng)彈出新建對話框如圖 4-8 所示。在對話框中選擇“工程” 選項卡,在項目類別中選擇 “Unipraphics NX App Wizsrd V1”。在右側 “位置”中指定位置,在“工程名稱”中輸入工程名稱,如下圖 4-8,最后單擊“確認”。圖 4-8 新建對話框步驟三:在系統(tǒng)彈出的“步驟 1 共 2 步” 對話框中,可以選擇“internal application”內部模式,生成 DLL 文件,也可以選擇 “external application”外部模式,生成 EXE 文件。另外,在產生的原代碼中可以選擇使用“C++” 語言,也可以使用 “C”語言。如果選擇外部模式,完成工程的創(chuàng)建。這里選擇內部模式,C++語言,如圖 4-9 所示。單擊“下一步” 。21圖 4-9 步驟 1 對話框步驟四:在系統(tǒng)彈出的“步驟 2 共 2 步”對話框中,選擇如何激活和卸載應用程序。各復選框和當選框的含義如表 4-1 和表 4-2 所示,這里選擇如圖 4-10 所示各項,單擊“ 完成”按鈕完成應用程序的創(chuàng)建。表 4-1 應用程序的加載選項 含義Automatically(ufsta) 使用 ufsta 函數作為入口函數,可以在 UG 啟動后自動加載應用程序Explicitly(ufusr) 使用 ufusr 函數作為入口函數,可以在 UG 環(huán)境下選擇菜單“文件”—“執(zhí)行 ”—“NX 打開 ”,打開“執(zhí)行用戶函數 ”對話框,選擇應用程序進行手動加載From a User Exit 使用用戶出口函數作為入口函數,例如使用 ufget 函數,將在 UG 打開一個文件時,激活應用程序;使用 ufcre 函數,將在UG 創(chuàng)建一個部件文件時,激活應用程序表 4-2 應用程序的卸載選項 含義Automatically, when the Unigraphics session terminates UG 進程結束時自動卸載Automatically, when the application completes 應用程序結束時自動卸載Explicitly, via an unload dialog 應用程序手動卸載22圖 4-10 步驟二對話框單擊“完成 ”后,系統(tǒng)彈出一個 “確認信息”對話框,如圖 4-11 所示,列出工程的所有信息,確認無誤后單擊“ 確認 ”,進入編程界面,同時系統(tǒng)將在指定目錄下創(chuàng)建一個 UG NX5.0開發(fā)框架。圖 4-11 確認對話框23步驟五:按快捷鍵 F7,編譯工程,出現編譯成功信息,如圖 4-12 所示。圖 4-12 編譯工程打開“File View”選項卡,分別單擊“spur_cams.files” 、 “Source Files”和“Header 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修改為 #include “spur_cams_dialog.h”。圖 4-13 將對話框文件加入工程效果圖24步驟七:在工程中編寫程序。從前面的程序設計思路可知,該程序中主要包括:入口函數程序、主程序、檢測部件程序、獲取表達式程序、傳遞對話框中數值程序。入口函數程序是將菜單中定義的按鈕和程序連接起來,當點擊對應的按鈕時調用可執(zhí)行程序,調用程序后執(zhí)行主程序。在主程序中先檢測部件是否是對應的部件,否時彈出提示信息,退出;是的話調用對話框,執(zhí)行對話框中的程序,程序運行結束后退出?,F就幾個主要程序做簡單介紹。主程序,程序代碼如下:{int resp; //設置變量int errorCode = UF_initialize(); //程序初始化if ( 0 == errorCode ){if(PRO_DESIGN_check_part()) //調用部件檢查程序{uc1601("當前顯示模型不是弧面凸輪部件,不能進行參數化設計",1); return UF_MB_CB_CONTINUE; //不是對應部件時彈出對話框提示,并退出}LaunchProDesignDialog( &resp); //調用對話框errorCode = UF_terminate();}return UF_MB_CB_CONTINUE;}在主程序中有檢測部件程序和調用對話框程序,調用對話框程序是系統(tǒng)自動生成的,只需要在上面加上函數名就可以了,而檢測部件程序是需要自己編寫的,主要程序代碼如下:變量聲明part_tag=UF_PART_ask_display_part();if(part_tag==NULL_TAG)return 1; //檢測是否有部件顯示,沒有部件顯示時返回 1UF_PART_ask_part_name(part_tag,part_fspec); //查詢部件文件名for(i=0;inum = r+1; for(int m2=0;m2id[m2] = spline1_1[m2];ge1_2->string[m2] = 1;ge1_2->dir[m2] = 1;}/* Use str1_tag as a template curve */ge1_2->id[r+1] = spline1_1[0];ge1_2->string[r+1] = 1;ge1_2->dir[r+1] = 1;/* Create a through curve surface without template */附錄48UF_MODL_create_thru_curves1 (ge1_2, sp1, &patch, &alignment, value, °ree, &status,simple, &body_type, boolean, target_body, tol, c_num, c_face_id, c_flag, c_dir, &surface1_2);/*---------------創(chuàng)建另一側面-------------------*/UF_MODL_init_string_list(ge2_2);UF_MODL_create_string_list(r+2, 100, ge2_2);ge2_2->num = r+1; for(int n2=0;n2id[n2] = spline2_1[n2];ge2_2->string[n2] = 1;ge2_2->dir[n2] = 1;}/* Use str1_tag as a template curve */ge2_2->id[r+1] = spline2_1[0];ge2_2->string[r+1] = 1;ge2_2->dir[r+1] = 1;/* Create a through curve surface without template */UF_MODL_create_thru_curves1 (ge2_2, sp1, &patch, &alignment, value, °ree, 31&status,simple, &body_type, boolean,target_body, tol, c_num, c_face_id, c_flag, c_dir, &surface2_2); /* Free the list */UF_MODL_free_string_list(ge1_2); UF_MODL_free_string_list(ge2_2); /*--------------------------創(chuàng)建凸輪槽底面----------------------------*/degree = 3;simple=2;UF_MODL_init_string_list(ge3_2);UF_MODL_create_string_list(10, 100, ge3_2);ge3_2->num = 9; ge3_2->id[0] = spline1_1[r];ge3_2->string[0] = 1;ge3_2->dir[0] = 1;ge3_2->id[1] = spline6_1[1];ge3_2->string[1] = 1;ge3_2->dir[1] = 1;附錄48ge3_2->id[2] = spline4_1[1];ge3_2->string[2] = 1;ge3_2->dir[2] = 1;ge3_2->id[3] = spline7_1[1];ge3_2->string[3] = 1;ge3_2->dir[3] = 1;ge3_2->id[4] = spline3_1[1];ge3_2->string[4] = 1;ge3_2->dir[4] = 1;ge3_2->id[5] = spline8_1[1];ge3_2->string[5] = 1;ge3_2->dir[5] = 1;ge3_2->id[6] = spline5_1[1];ge3_2->string[6] = 1;ge3_2->dir[6] = 1;ge3_2->id[7] = spline9_1[1];ge3_2->string[7] = 1;ge3_2->dir[7] = 1;ge3_2->id[8] = spline2_1[r];31ge3_2->string[8] = 1;ge3_2->dir[8] = 1;/* Use str1_tag as a template curve */ge3_2->id[9] = spline1_1[r];ge3_2->string[9] = 1;ge3_2->dir[9] = 1;/* Create a through c
收藏