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