虛擬環(huán)境下發(fā)動(dòng)機(jī)拆裝工具參數(shù)化建模及操作空間檢驗(yàn)[三維UG]
虛擬環(huán)境下發(fā)動(dòng)機(jī)拆裝工具參數(shù)化建模及操作空間檢驗(yàn)[三維UG],三維UG,虛擬,環(huán)境,下發(fā),動(dòng)機(jī),念頭,拆裝,工具,參數(shù),建模,操作,空間,檢驗(yàn),檢修,三維,ug
黑龍江工程學(xué)院本科生畢業(yè)設(shè)計(jì) I 摘 要 在汽車發(fā)動(dòng)機(jī)設(shè)計(jì)過(guò)程中,由于結(jié)構(gòu)復(fù)雜,零件數(shù)目眾多,各個(gè)零件又不是規(guī)則 的形狀,且它們之間的間隙也大小不一,所以很難考慮到零件之間的干涉問(wèn)題,本設(shè) 計(jì)就是在虛擬環(huán)境下針對(duì)此問(wèn)題做出了有針對(duì)性的研究。 隨著計(jì)算機(jī)的普及以及在各行各業(yè)中的作用變得日益明顯起來(lái),發(fā)動(dòng)機(jī)的設(shè)計(jì)也 基本上脫離了手工的時(shí)代,轉(zhuǎn)向了軟件時(shí)代,利用軟件在虛擬環(huán)境下設(shè)計(jì)發(fā)動(dòng)機(jī)可以 大大的節(jié)省基金的投入,減少設(shè)計(jì)人員的勞動(dòng)強(qiáng)度,更加直觀的看到發(fā)動(dòng)機(jī)的雛形, 這就是人們選擇軟件設(shè)計(jì)的原因;但是,在虛擬環(huán)境下對(duì)發(fā)動(dòng)機(jī)進(jìn)行拆裝干涉實(shí)驗(yàn)現(xiàn) 在發(fā)展的還不是很成熟,其主要原因是在眾多的設(shè)計(jì)類軟件中沒(méi)有一個(gè)專門的模塊來(lái) 完成干涉的檢測(cè)操作。 本設(shè)計(jì)就是在已有的軟件 UG 的環(huán)境下設(shè)計(jì)出一個(gè)新的模塊,利用此模塊對(duì)虛擬 環(huán)境下的組合件進(jìn)行拆裝干涉實(shí)驗(yàn),從而得出發(fā)動(dòng)機(jī)在拆裝過(guò)程中拆裝工具是否與周 圍的零件產(chǎn)生運(yùn)動(dòng)干涉,從而縮短設(shè)計(jì)周期,減少設(shè)計(jì)出的發(fā)動(dòng)機(jī)因拆裝工具與零件 之間的干涉而產(chǎn)生的麻煩。 關(guān)鍵詞:汽車發(fā)動(dòng)機(jī);UG;干涉檢查;參數(shù)化建模;操作工具 黑龍江工程學(xué)院本科生畢業(yè)設(shè)計(jì) II ABSTRACT In automobile engine design process, because many complex structure, part number, each part is not the shape of the rules, and the gap between them and sizes, so it is difficult to consider the interference between parts, this design is in a virtual environment according to this problem made targeted research. With the popularity of computer in all walks of life and the role becomes increasingly apparent, engine design also arise from the era of basically manual, turned to the software era, using software in a virtual environment design engine can greatly save fund investment, reduce labor intensity and design staff more intuitive to see the prototype of the engine, and this is why people choose the software design; But, in a virtual environment to engine for disassembling interference experiment now development is not very mature, the main reason is that in many of the design of software without a special module to complete interference detection operations. This design is on the existing software UG environment design a new module, namely: the man-machine engineering, using this module to the assembly under virtual environment for disassembling interference experiment, thus draws engines in disassembling process disassembling tools are and the surrounding parts generate movement, so as to shorten the design cycle interference, reduce the engine designed for disassembling tools and parts produced the interference between the trouble. Keywords: Automobile Engine; UG; Interference Check; Parameterized modeling; Operate Tools 黑龍江工程學(xué)院本科生畢業(yè)設(shè)計(jì) 目 錄 摘 要 I Abstract .II 第 1 章 緒 論 .1 1.1 選 題 的 意 義 及 目 的 .1 1.2 國(guó) 內(nèi) 外 研 究 現(xiàn) 狀 1 1.2.1 在參數(shù)化建模方面的研究 .1 1.2.2 在空間干涉方面的研究 .2 1.3 設(shè) 計(jì) 原 則 3 1.3.1 適用性原則 .3 1.3.2 可靠性原則 .3 1.3.3 規(guī)范性原則 .3 1.4 完 成 的 內(nèi) 容 .3 第 2 章 系統(tǒng)的總體設(shè)計(jì) .5 2.1 參數(shù)化建模工具簡(jiǎn)介 5 2.2 參數(shù)化建模 5 2.2.1 參數(shù)化建模的流程 .5 2.2.2 參數(shù)化建模實(shí)現(xiàn)方法 .6 2.2.3 參數(shù)化建模實(shí)例 .7 2.3 參數(shù)化建模的二次開(kāi)發(fā) 10 2.3.1 二次開(kāi)發(fā)程序的研究 .10 2.3.2 User Tool 工具條的定義 .15 2.3.3 工作環(huán)境參數(shù)設(shè)置 .15 2.4 本章總結(jié) 16 第 3 章 干涉檢查 .17 3.1 干涉檢測(cè)理論 17 3.2 干涉檢測(cè)流程 17 3.3 靜態(tài)干涉檢測(cè)算法 18 3.4 動(dòng)態(tài)干涉檢測(cè)算法 18 黑龍江工程學(xué)院本科生畢業(yè)設(shè)計(jì) 3.5 本章總結(jié) 19 第 4 章 操作界面的實(shí)現(xiàn) .20 4.1 裝配工具生成及操作空間檢驗(yàn) 20 4.1.1 螺絲刀工具模型檢驗(yàn)?zāi)K .20 4.1.2 扳手工具模型檢驗(yàn)?zāi)K .21 4.1.3 套筒扳手工具模型檢測(cè)模塊 .22 4.1.4 用戶自選工具模型檢測(cè)模塊 .23 4.2 裝配工具操作空間檢驗(yàn)?zāi)K 23 4.2.1 螺絲刀模型 .24 4.2.2 扳手操作模型 .25 4.2.3 套筒工具模型 .28 4.3 本章小結(jié) 32 結(jié) 論 .33 參考文獻(xiàn) .34 致 謝 .36 附 錄 .37 附錄 A37 附錄 B39 黑龍江工程學(xué)院本科生畢業(yè)設(shè)計(jì) 1 第 1 章 緒 論 1.1 選 題 的 意 義 及 目 的 各種裝配工具,如扳手、螺絲刀、鉚釘槍、氣動(dòng)套筒等,是在實(shí)際發(fā)動(dòng)機(jī)裝配生 產(chǎn)過(guò)程中必不可少的,它們?cè)谘b配過(guò)程中的可操作性不容忽視。每種工具都有其操作 空間需求,如扳手需連續(xù)旋轉(zhuǎn) 60o 以上,而電動(dòng)套筒只需一個(gè)無(wú)干涉的工作位置。它 們的可操作性是對(duì)裝配設(shè)計(jì)、裝配序列規(guī)劃的一個(gè)重要檢查依據(jù)。有必要設(shè)計(jì)一種快 速有效地裝配工具操作空間檢驗(yàn)(簡(jiǎn)稱工具檢驗(yàn))方法。不合理的序列可導(dǎo)致工具沒(méi) 有足夠的空間完成安裝操作。目前在裝配序列規(guī)劃中考慮工具操作運(yùn)動(dòng)空間的研究較 少。目前數(shù)字化制造應(yīng)用越來(lái)越廣泛,但大多都只研究產(chǎn)品本身的數(shù)字化制造及建模, 對(duì)產(chǎn)品裝配所需工具的參數(shù)化建??紤]甚少。因此本課題要研究虛擬環(huán)境下拆卸工具 參數(shù)化建模及操作空間檢驗(yàn)。 為了進(jìn)行有效的發(fā)動(dòng)機(jī)虛擬拆卸中的操作工具的操作空間檢驗(yàn),虛擬環(huán)境中的操 作工具是必不可少的,在動(dòng)態(tài)仿真之前,要進(jìn)行操作工具的實(shí)體參數(shù)化建模,用這些 虛擬工具模型,去模擬實(shí)際中的操作工具,并進(jìn)行操作空間干涉性檢驗(yàn)。 在發(fā)動(dòng)機(jī)設(shè)計(jì)過(guò)程中在虛擬環(huán)境下進(jìn)行拆裝工具參數(shù)化建模及操作空間檢驗(yàn)有如 下重要性及意義: (1) 提高工作效率減少資金投入:將真實(shí)環(huán)境里的發(fā)動(dòng)機(jī)拆卸實(shí)驗(yàn)改在虛擬環(huán) 境下,因不需要生產(chǎn)出真實(shí)的零件,故減少了資金的投入提高了工作效率。 (2) 優(yōu)化設(shè)計(jì)方案:在虛擬環(huán)境下設(shè)計(jì)出的發(fā)動(dòng)機(jī)可以在虛擬環(huán)境下進(jìn)行拆卸 空間的檢驗(yàn),對(duì)拆卸工具進(jìn)行參數(shù)化分析,以便對(duì)不合理處進(jìn)行優(yōu)化處理。 (3) 縮短設(shè)計(jì)周期:采用虛擬環(huán)境的空間檢驗(yàn),對(duì)不合理出的修改更加容易, 便利,并且可在任意時(shí)間進(jìn)行檢驗(yàn),這樣大大的縮短了設(shè)計(jì)的周期。 1.2 國(guó) 內(nèi) 外 研 究 現(xiàn) 狀 1.2.1 在參數(shù)化建模方面的研究 隨著計(jì)算機(jī)輔助技術(shù)應(yīng)用的日益廣泛, 如何在零件生產(chǎn)中充分利用計(jì)算機(jī)輔助技 術(shù), 提高零件的生產(chǎn)效率, 縮短生產(chǎn)周期, 全面提升零件生產(chǎn)技術(shù)水平, 已成為近幾 年來(lái)研究的重要課題之一;因此在通用 CAD 平臺(tái)上進(jìn)行二次開(kāi)發(fā),建立符合國(guó)家標(biāo)準(zhǔn), 適合企業(yè)應(yīng)用的專業(yè)化、集成化的標(biāo)準(zhǔn)件庫(kù), 可以提高生產(chǎn)效率, 同時(shí)對(duì)推廣標(biāo)準(zhǔn)件 的應(yīng)用, 縮短產(chǎn)品的開(kāi)發(fā)周期具有重要意義 [3]。標(biāo)準(zhǔn)零部件的設(shè)計(jì)是一項(xiàng)費(fèi)時(shí)費(fèi)力且 帶有很大重復(fù)性的工作, 因此國(guó)內(nèi)外許多企業(yè)、高校紛紛在不同的 CAD 平臺(tái)上研究 黑龍江工程學(xué)院本科生畢業(yè)設(shè)計(jì) 2 建立參數(shù)化的標(biāo)準(zhǔn)件庫(kù), 但研究的重點(diǎn)基本都放在標(biāo)準(zhǔn)件的參數(shù)驅(qū)動(dòng)和標(biāo)準(zhǔn)件庫(kù)的管 理方面, 而能夠方便地嵌入不同的 CAD 平臺(tái), 并且集標(biāo)準(zhǔn)件查詢、CAD 建模、零件裝 配定位、BOM 表自動(dòng)生成等功能于一體的零件庫(kù)系統(tǒng)尚不多見(jiàn) [6]。 Unigraphics(簡(jiǎn)稱 UG) 軟件起源于美國(guó)麥道飛機(jī)公司,當(dāng)時(shí)為了設(shè)計(jì)和制造 F15 戰(zhàn)斗機(jī),而形成了 UG 產(chǎn)品。UG 軟件在 CAD/CAM 上表現(xiàn)出了強(qiáng)大的功能,但 UG 為通 用支撐軟件系統(tǒng)僅具有 CAD/CAM 的基本功能,沒(méi)有提供專用產(chǎn)品所需要的完整 C A D / C A M 功能。由于機(jī)械產(chǎn)品的千變?nèi)f化,需要針對(duì)具體對(duì)象在選用的 CAD 軟件平 臺(tái)上進(jìn)行二次開(kāi)發(fā),來(lái)設(shè)計(jì)出界面友好、功能強(qiáng)大和使用方便的專用產(chǎn)品的 CAD/CAM 系統(tǒng)。 隨著計(jì)算機(jī)的應(yīng)用和發(fā)展以及三維數(shù)控設(shè)備的引進(jìn),近年來(lái)國(guó)內(nèi) UG 軟件二次開(kāi) 發(fā)取得了很大的進(jìn)步,特別是在 UG/CAD 也就是 UG 設(shè)計(jì)方面軟件二次開(kāi)發(fā)已有相當(dāng) 多的成果,如上海交通大學(xué)國(guó)家模具 CAD 工程研究中心的覆蓋件沖模智能設(shè)計(jì)系統(tǒng)、 同濟(jì)大學(xué)的 Gearwizard、華中科技大學(xué)的 U G 軟件二次開(kāi)發(fā)等,但是在 UGCAM 即 UG 數(shù)控加工方面軟件二次開(kāi)發(fā)的研究相對(duì)來(lái)說(shuō)就少了,國(guó)內(nèi)主流的數(shù)控加工編程軟件有 Mastercam、UG 等,主流的三維設(shè)計(jì)軟件有 Pro/E、UG 等,很多公司一般用 Pro/E、UG 軟件來(lái)設(shè)計(jì),用 Mastercam、UG 來(lái)進(jìn)行數(shù)控加工編程 [21]。很顯然, Pro/E、Mastercam、UG 這三大軟件中,UG 普遍被同時(shí)用來(lái)設(shè)計(jì)和加工,可以實(shí)現(xiàn)設(shè) 計(jì)與加工之間的無(wú)縫接口,使用起來(lái)不會(huì)有不同文檔之間的兼容問(wèn)題,比較方便。既 然這樣,那么 UG 數(shù)控加工方面軟件二次開(kāi)發(fā)的研究應(yīng)是值得的。 1.2.2 在空間干涉方面的研究 在發(fā)動(dòng)機(jī)的設(shè)計(jì)之初就要考慮到發(fā)動(dòng)機(jī)的拆裝,除了要考慮到各個(gè)零部件的裝配 空間外,還要考慮到裝配工具的移動(dòng)空間,以防止工具與各個(gè)零部件之間的干涉現(xiàn)象。 這些在虛擬狀態(tài)下就比較容易實(shí)現(xiàn) [5]。采用虛擬裝配技術(shù)對(duì)產(chǎn)品的裝配干涉進(jìn)行分析,給 出相應(yīng)的結(jié)構(gòu)修改建議, 這樣就可以在設(shè)計(jì)階段進(jìn)行驗(yàn)證,確保設(shè)計(jì)的正確性, 避免 損失。干涉檢驗(yàn)的研究在數(shù)控加工過(guò)程仿真中具有重要的意義, 而干涉檢驗(yàn)的有效實(shí) 現(xiàn)尤為重要。它可以為干涉回避提供較好的參考依據(jù), 以便真正實(shí)現(xiàn)加工仿真的目的。 虛擬裝配的干涉檢驗(yàn)技術(shù)主要包括零部件組選擇、干涉和間隙體積計(jì)算、干涉零 件創(chuàng)成干涉檢驗(yàn)報(bào)告生成等 [23]。對(duì)于機(jī)床產(chǎn)品的虛擬裝配及裝配干涉檢驗(yàn)主要包括: 對(duì)零件及組件進(jìn)行合理裝配;利用相對(duì)位置及尺寸定義零件間的關(guān)系;通過(guò)動(dòng)畫(huà), 利用 干涉檢驗(yàn)或可視檢查裝配部件和組件的物理性能分析。裝配干涉檢驗(yàn)主要可按對(duì)象屬 性分為幾何可行性分析和機(jī)械可行性分析 [8]; 按對(duì)象觀測(cè)狀態(tài)可分為靜態(tài)干涉檢驗(yàn)和 黑龍江工程學(xué)院本科生畢業(yè)設(shè)計(jì) 3 動(dòng)態(tài)干涉檢驗(yàn),在此做靜態(tài)干涉檢驗(yàn)和動(dòng)態(tài)裝配路徑上的幾何可行性分析零部件靜態(tài) 干涉檢驗(yàn)是對(duì)產(chǎn)品零部件設(shè)計(jì)的評(píng)估, 可以在主任設(shè)計(jì)師確定裝配結(jié)構(gòu)和總體設(shè)計(jì)后, 由多個(gè)設(shè)計(jì)人員進(jìn)行零部件細(xì)化設(shè)計(jì), 最后由主任設(shè)計(jì)師進(jìn)行裝配件的靜態(tài)干涉檢查 得到裝配件的干涉和間隙體積計(jì)算, 生成干涉檢驗(yàn)報(bào)告幾何可行性分析是指對(duì)于組成 產(chǎn)品、各個(gè)級(jí)別的裝配體的零部件進(jìn)行集合上的干涉檢查,這里的檢查包含有零部件 在裝配體中的靜態(tài)空間位置的相交性也包含零部件在構(gòu)成產(chǎn)品的裝配過(guò)程中在空間上 的幾何干涉檢查。靜態(tài)的幾何可行性分析, 可以在三維 CAD 環(huán)境狀態(tài)中通過(guò)觀測(cè)產(chǎn) 品構(gòu)成進(jìn)行具體來(lái)說(shuō)可以對(duì)產(chǎn)品的觀測(cè)視角進(jìn)行調(diào)整進(jìn)行局部區(qū)域的縮放,對(duì)于零部 件的顏色進(jìn)行不同的標(biāo)示 [4]。動(dòng)態(tài)裝配路徑上的幾何可行性分析,利用虛擬裝配的功 能模塊來(lái)實(shí)現(xiàn)。該模塊具有進(jìn)行零部件裝配過(guò)程裝配姿態(tài)調(diào)整零部件的消隱等功能通 過(guò)以上的功能可以實(shí)現(xiàn)按用戶設(shè)置的路徑、姿態(tài)順序動(dòng)畫(huà)演示零部件的裝配過(guò)程, 演 示過(guò)程中可進(jìn)行裝配過(guò)程中的動(dòng)態(tài)幾何可行性分析機(jī)械可行性分析是指能否建立起零 部件之間的裝配關(guān)系,如工具、操作手或機(jī)械手可否進(jìn)人作業(yè)點(diǎn)裝配操作的空間是否 足夠大等等。系統(tǒng)中對(duì)于這樣一種可行性的研究可以通過(guò)“ 虛零件” 的方法解決即 可以將手和裝配工具等作為組成產(chǎn)品的虛擬零件, 這些虛擬零件與實(shí)際零部件之間也 存在與裝配關(guān)系等同的“ 虛裝配關(guān)系” ,這樣機(jī)械可行性分析與幾何可行性分析一 樣可以由三維 CAD 系統(tǒng)來(lái)完成這樣就可以用簡(jiǎn)化求交算法來(lái)提高檢測(cè)效率, 同時(shí)也 滿足了實(shí)際應(yīng)用安全余量的要求 [17]。這樣就可以用簡(jiǎn)化求交算法來(lái)提高檢測(cè)效率, 同時(shí)也滿足了實(shí)際應(yīng)用安全余量的要求。 1.3 設(shè) 計(jì) 原 則 1.3.1 適用性原則 無(wú) 論 是 汽 油 發(fā) 動(dòng) 機(jī) 還 是 柴 油 發(fā) 動(dòng) 機(jī) 都 可 適 用 , 用 戶 操 作 方 便 , 沒(méi) 有 繁 瑣 的 操 作 。 1.3.2 可靠性原則 新 開(kāi) 發(fā) 出 的 參 數(shù) 模 塊 在 應(yīng) 用 時(shí) 應(yīng) 該 具 有 一 定 的 穩(wěn) 定 性 , 使 客 戶 可 以 放 心 的 使 用 。 1.3.3 規(guī)范性原則 對(duì) 開(kāi) 發(fā) 出 的 模 塊 應(yīng) 該 符 合 行 業(yè) 的 工 具 尺 寸 標(biāo) 準(zhǔn) 。 1.4 完成的內(nèi)容 本 課 題 主 要 完 成 的 設(shè) 計(jì) 內(nèi) 容 是 利 用 在 UG 環(huán) 境 下 開(kāi) 發(fā) 出 的 參 數(shù) 化 拆 裝 工 具 模 塊 對(duì) 發(fā) 動(dòng) 機(jī) 進(jìn) 行 虛 擬 環(huán) 境 的 拆 裝 , 同 時(shí) 對(duì) 拆 裝 空 間 進(jìn) 行 檢 驗(yàn) , 具 體 內(nèi) 容 如 黑龍江工程學(xué)院本科生畢業(yè)設(shè)計(jì) 4 下 : (1) 對(duì)發(fā)動(dòng)機(jī)的拆裝工具進(jìn)行參數(shù)化建模,也就是在 UG 環(huán)境下利用 VC++軟 件對(duì)其進(jìn)行二次開(kāi)發(fā),完成模塊的建立; (2) 對(duì)發(fā)動(dòng)機(jī)進(jìn)行測(cè)量,掌握發(fā)動(dòng)機(jī)的各個(gè)零件的數(shù)值以及各個(gè)零件之間的間 隙; (3) 在虛擬環(huán)境下即 UG 環(huán)境下把拆裝工具當(dāng)做發(fā)動(dòng)機(jī)的一部分進(jìn)行安裝; (4) 對(duì)拆裝工具在發(fā)動(dòng)機(jī)部件中進(jìn)行動(dòng)態(tài)與靜態(tài)的檢查,以檢查拆裝空間是否 允許工具的運(yùn)動(dòng)要求。 黑龍江工程學(xué)院本科生畢業(yè)設(shè)計(jì) 5 第 2 章 系統(tǒng)的總體設(shè)計(jì) 2.1 參數(shù)化建模工具簡(jiǎn)介 為提高對(duì)專用功能的支持,UG 提供了 UG/OPEN GRIP 和 UG/OPEN API 程序設(shè)計(jì)模 塊、UG/OPEN MenuScrip 和 UG/OPEN UISTYLER 兩個(gè)輔助開(kāi)發(fā)模塊,利用它們可以開(kāi) 發(fā)出符合自己要求的 CAD 系統(tǒng)。 UG/OPEN GRIP 是 UG 提供的一種二次開(kāi)發(fā)模塊,主要用來(lái)調(diào)用 UG 自身的功能模 塊??梢詫?shí)現(xiàn)強(qiáng)大的圖形繪制、裝配和工程圖等功能,利用 UG/OPEN GRIP 將可以提 高系列化產(chǎn)品的設(shè)計(jì)效率。GRIP 程序一般在 UG 環(huán)境下編制,具有獨(dú)立的開(kāi)發(fā)工具、 編譯連接過(guò)程、程序語(yǔ)法和文件格式。 UG/OPEN API 是 UG 提供的另外一種功能強(qiáng)大的二次開(kāi)發(fā)模塊,具有與高級(jí)語(yǔ)言 C/C++的開(kāi)發(fā)接口,出了可以實(shí)現(xiàn) UG 的造型、裝配、分析和設(shè)計(jì)等各項(xiàng)功能外,還可 以利用 C 程序所支持的全部功能,具有很大的靈活性。UG/OPEN API 的各項(xiàng)程序都 以 C 程序頭文件的形式保存,由于 C/C++程序設(shè)計(jì)具有極好的兼容性,UG/OPEN API 程序得到了最為廣泛的應(yīng)用。 UG/OPEN MenuScrip 是 UG 提供的用來(lái)定制菜單的專用模塊,可以生成自己的菜 單,將 UG 的原有菜單替換也可以實(shí)現(xiàn)對(duì) UG 某個(gè)菜單的編輯并生成自己的菜單。編輯 菜單的方法靈活,語(yǔ)法簡(jiǎn)單,可以滿足大多數(shù)用戶的要求。 UG/OPEN UIStyler 是 UG 提供的用來(lái)創(chuàng)建對(duì)話框的專用模塊,利用它可以生成包 括按鈕、文本框、列表框和單選按鈕在內(nèi)的對(duì)話框要素的創(chuàng)建,可以實(shí)現(xiàn)它們的任意 組合,從而創(chuàng)建具有 UG 風(fēng)格的各種對(duì)話框,在存儲(chǔ)對(duì)話框時(shí),系統(tǒng)同時(shí)保存相應(yīng)的 C/C++文件,通過(guò)對(duì) C/C++程序的編制最后生成動(dòng)態(tài)鏈接庫(kù)文件,UG 調(diào)用動(dòng)態(tài)鏈接庫(kù) 文件時(shí)將自動(dòng)彈出用戶自己定制的對(duì)話框。 2.2 參數(shù)化建模 2.2.1 參數(shù)化建模的流程 本設(shè)計(jì)的參數(shù)化建模主要應(yīng)用的軟件為 UG 和 VC++,VC++在 UG 的二次開(kāi)發(fā)中的 兼容性非常好,可以很好的執(zhí)行需要完成的任務(wù)。 參數(shù)化建模大體可以分為四個(gè)過(guò)程,而且每個(gè)過(guò)程又是環(huán)環(huán)相扣的,它們之間的 聯(lián)系是非常緊密的,即:(1)三維實(shí)體參數(shù)化建模、 (2)設(shè)置環(huán)境變量、菜單定制 文件和 VC++的動(dòng)態(tài)鏈接庫(kù)工程、 (3)程序編寫(xiě)、 (4)生成文件。具體流程如圖 2.1 黑龍江工程學(xué)院本科生畢業(yè)設(shè)計(jì) 6 所示: 圖 2.1 參數(shù)化建模流程圖 (1)三維實(shí)體參數(shù)化建模:在 UG 環(huán)境下利用獲得的數(shù)據(jù)畫(huà)出一個(gè)實(shí)體模型,通 過(guò)電子表格把所有的相關(guān)數(shù)據(jù)輸入,生成數(shù)據(jù)庫(kù)形式的數(shù)據(jù)流。 (2)設(shè)置環(huán)境變量、菜單定制文件和 VC++動(dòng)態(tài)鏈接庫(kù)工程:對(duì)軟件中的變量進(jìn) 行設(shè)置,使 VC++軟件可以在 UG 軟件中運(yùn)行。 (3)程序編寫(xiě):用 VC++進(jìn)行程序編寫(xiě),上面的聯(lián)系起來(lái)。 (4)生成文件:生成可以在 UG 環(huán)境中調(diào)用的模塊。 2.2.2 參數(shù)化建模實(shí)現(xiàn)方法 1、系統(tǒng)參數(shù)與尺寸約束 UGNX 具有完善的系統(tǒng)參數(shù)自動(dòng)提取功能,它能在草圖設(shè)計(jì)時(shí),將輸入的尺寸約 束作為特征參數(shù)保存起來(lái),并且在此后的設(shè)計(jì)中進(jìn)行可視化修改,從而到達(dá)最直接的 參數(shù)驅(qū)動(dòng)建模的目的。用系統(tǒng)參數(shù)驅(qū)動(dòng)圖形的關(guān)鍵在于如何將從實(shí)物中提取的參數(shù)轉(zhuǎn) 化到 UG 中,用來(lái)控制三維模型的特征參數(shù)。尺寸驅(qū)動(dòng)是參數(shù)驅(qū)動(dòng)的基礎(chǔ),尺寸約束 是實(shí)現(xiàn)尺寸驅(qū)動(dòng)的前提。UG 的尺寸約束的特點(diǎn)是將形狀和尺寸聯(lián)合起來(lái)考慮,通過(guò) 尺寸約束實(shí)現(xiàn)對(duì)幾何形狀的控制。設(shè)計(jì)時(shí)必須以完整的尺寸參考為出發(fā)點(diǎn)(全約束) , 不能漏注尺寸或多注尺寸。尺寸驅(qū)動(dòng)是在二維草圖 Sketcher 里面實(shí)現(xiàn)的。當(dāng)草圖中 黑龍江工程學(xué)院本科生畢業(yè)設(shè)計(jì) 7 的圖形相對(duì)于坐標(biāo)軸位置關(guān)系都確定,圖形完全約束后,其尺寸和位置關(guān)系能協(xié)同變 化,系統(tǒng)將直接把尺寸約束轉(zhuǎn)化為系統(tǒng)參數(shù)。 2、特征和表達(dá)式驅(qū)動(dòng)圖形 UGNX 建模技術(shù)是一種基于特征的建模技術(shù),其模塊中提供各種標(biāo)準(zhǔn)設(shè)計(jì)特征, 各標(biāo)準(zhǔn)特征突出關(guān)鍵特征尺寸與定位尺寸,能很好的傳達(dá)設(shè)計(jì)意圖,并且易于調(diào)用和 編輯,也能創(chuàng)建特征集,對(duì)特征進(jìn)行管理。特征參數(shù)與表達(dá)式之間能相互依賴,互相 傳遞數(shù)據(jù),提高了表達(dá)式設(shè)計(jì)的層次,使實(shí)際信息可以用工程特征來(lái)定義。不同部件 中的表達(dá)式也可通過(guò)鏈接來(lái)協(xié)同工作,即一個(gè)部件中的某一表達(dá)式可通過(guò)鏈接其它部 件中的另一表達(dá)式建立某種聯(lián)系,當(dāng)被引用部件中的表達(dá)式被更新時(shí),與它鏈接的部 件中的相應(yīng)表達(dá)式也被更新。 3、利用電子表格驅(qū)動(dòng)圖形 UG 的電子表格(Spreadsheet)提供了在 Microsoft Excel 或 Xess 與 UG 間一個(gè)智 能接口。在建模應(yīng)用里,UG 電子表格可以被認(rèn)為是高級(jí)的表達(dá)式編輯器。信息可以 從部件被抽取到電子表格中,在被用來(lái)更新部件前進(jìn)行手工處理。事實(shí)上,表格驅(qū)動(dòng) 的界面及機(jī)內(nèi)函數(shù)為相關(guān)的、參數(shù)化設(shè)計(jì)提供了方便而有力的工具。 2.2.3 參數(shù)化建模實(shí)例 下面通過(guò)對(duì)開(kāi)口扳手的三維模型的創(chuàng)建實(shí)例來(lái)說(shuō)明參數(shù)化建模方法。 1、分析零件模型提取特征參數(shù) 在起初選擇工具圖的時(shí)候選擇一實(shí)物作為模板,這樣我們?cè)诘玫匠叽缂靶螤罴s束 的時(shí)候可以保證準(zhǔn)確,不會(huì)出現(xiàn)大的偏差。 黑龍江工程學(xué)院本科生畢業(yè)設(shè)計(jì) 8 圖 2.2 工具實(shí)物圖 如圖所示開(kāi)口扳手工具實(shí)物圖,可將此扳手的主要尺寸作為主要驅(qū)動(dòng)扳手尺寸。 扳手的模型可通過(guò)拉伸得到,在建模時(shí)應(yīng)特別注意拉伸體和倒角這兩個(gè)主要特征以及 他們的關(guān)系。 2、扳手底面在草圖中的尺寸約束 首先進(jìn)入草圖模式,通過(guò)默認(rèn)為主要參考坐標(biāo)系,如圖所示,繪制兩條平行線, 與 X 軸成 15 度夾角,接著繪制出外輪廓,使各個(gè)點(diǎn)約束,標(biāo)注尺寸。同理,繪制出 另一頭的扳手,由平行線進(jìn)行連接。確定出尺寸。完成草圖的繪制。如圖 2.3、圖 2.4 所示: 圖 2.3 零件草圖 圖 2.4 零件草圖 3、拉伸實(shí)體 黑龍江工程學(xué)院本科生畢業(yè)設(shè)計(jì) 9 單擊【插入】中的【成型特征】中的【拉伸】命令,系統(tǒng)將彈出拉身體的參數(shù)輸 入值,進(jìn)行參數(shù)輸入,單擊【確定】完成草圖對(duì)草圖進(jìn)行拉伸,如圖 2.5 所示: 圖 2.5 零件拉伸體 至此,我們?cè)谔摂M空間建立了扳手的實(shí)體模型。 4、表達(dá)式更名 單擊【工具】中的【表達(dá)式】 ,系統(tǒng)彈出對(duì)話框,將表達(dá)式進(jìn)行更名,將 p10=4 更名為 di,p12=5 更名為 d2,p15=100 更名為 l,結(jié)果如圖 2.6 所示 圖 2.6 表達(dá)式更名 5、生成部件族 黑龍江工程學(xué)院本科生畢業(yè)設(shè)計(jì) 10 單擊【工具】中的【部件族】命令,系統(tǒng)將彈出如圖 2.7 所示的【組建組】 對(duì)話框。在【可用的列】列表框中雙擊待提取參數(shù) d1、d2、和 l,這是這些表達(dá) 式將出現(xiàn)在【選定的列】列表框中,對(duì)保存的路徑進(jìn)行更改,單擊創(chuàng)建按鈕,進(jìn) 行零件庫(kù)的創(chuàng)建。 圖 2.7【組建族】對(duì)話框 這時(shí)系統(tǒng)將彈出 Excel 工作表,在該表中,系統(tǒng)產(chǎn)生了 3 個(gè)數(shù)據(jù)列,分別對(duì)應(yīng)于剛剛 提取的參數(shù)。將扳手的系列參數(shù)數(shù)據(jù)錄入到 Excel 工作表中,如圖 2.8 所示,單擊 【部件族】的【生成部件】 ,進(jìn)行驗(yàn)證如圖 2.9(1)7*8 扳手圖、(2)8*10 扳手圖所示: 2.3 參數(shù)化建模的二次開(kāi)發(fā) 2.3.1 二次開(kāi)發(fā)程序的研究 2.3.1.1 在 UG 中調(diào)用二次開(kāi)發(fā)程序 用戶二次開(kāi)發(fā)的結(jié)果,在 UG 中統(tǒng)稱為 User Tool。Grade 程序(.grx 文件)可通 過(guò)主菜單項(xiàng) File 的菜單項(xiàng) Execute→Grip 來(lái)直接執(zhí)行,User Function 程序可通過(guò) 主菜單項(xiàng) File 的菜單項(xiàng) Execute→User Function 來(lái)直接執(zhí)行。這種方法功能比較簡(jiǎn) 黑龍江工程學(xué)院本科生畢業(yè)設(shè)計(jì) 11 單,一次只能執(zhí)行一個(gè) GRIP 或 User Function 程序,不能將由多個(gè) GRIP 或 User Function 程序完成的一組功能集中到一塊,而且用戶必須確切知道要執(zhí)行的 GRIP 或 User Function 程序所在的目錄路徑。實(shí)際上,UG 提供了一個(gè)專門調(diào)用 User Tool 的 交互接口,即在 UG 的主菜單中有一菜單項(xiàng) User Tools,用來(lái)調(diào)用二次開(kāi)發(fā)的 User Tool 對(duì)話框。缺省的 User Tools 菜單有如下三個(gè)菜單項(xiàng): Show Current Hide Current Reload Default Show Current 菜單項(xiàng)用于調(diào)用由環(huán)境變量 UG_USER_TOOLS_FILE 或菜單定義文件 中的 DEFAULT 選項(xiàng)指定的 User Tool(對(duì)話框或工具條,.utd 文件)。 Hide Current 菜單項(xiàng)用于隱藏當(dāng)前已經(jīng)顯示的 User Tool。 Reload Default 菜單項(xiàng)用于重新調(diào)用由環(huán)境變量 UGII_USER_TOOLS_FILE 或菜單 定義文件中的 DEFAULT 選項(xiàng)指定的 User Tool。 有了這一工具,用戶可將由多個(gè) Grip 或 User Function 程序構(gòu)成的內(nèi)容集成到 一個(gè) User Tool 對(duì)話框或工具條中,每一個(gè)程序由對(duì)話框或工具條中的一個(gè)圖標(biāo)(或 一個(gè)按鈕或一個(gè)任選項(xiàng))來(lái)調(diào)用,使用起來(lái)就非常方便。 若用戶開(kāi)發(fā)的 User Tool 只是一個(gè)方面的內(nèi)容(如“標(biāo)準(zhǔn)件“),用一個(gè) User Tool 對(duì)話框或工具條即可實(shí)現(xiàn),這時(shí)利用 User Tools 菜單的 Show Current 或 Reload Default 菜單項(xiàng)來(lái)調(diào)用就非常方便。 黑龍江工程學(xué)院本科生畢業(yè)設(shè)計(jì) 12 圖 2.8 錄入扳手參數(shù)數(shù)據(jù) 若用戶開(kāi)發(fā)的 User Tool 內(nèi)容比較多,需要多個(gè) User Tool 對(duì)話框或工具條來(lái)實(shí) 現(xiàn)(如開(kāi)發(fā)了“標(biāo)準(zhǔn)件“、“通用傳動(dòng)件“、“專用結(jié)構(gòu)設(shè)計(jì)工具“三部分內(nèi)容,用三個(gè) User Tool 對(duì)話框或工具條來(lái)實(shí)現(xiàn)),這時(shí)可以重新定義 User Tools 菜單的內(nèi)容。 (1)7*8 圖 (2)8*10 圖 圖 2.9 驗(yàn)證扳手圖 2.3.1.2 User Tools 下拉菜單的定義 User Tools 菜單定義文件為.utd 的文本文件,該文件的定義格式為: ! usrmenu.utd1997.7 DEFAULT/usr/people/zxy/usrtools/sta_part.utd LABEL Standard Parts USRT sta_part.utd LABEL Drive Parts USRT drv_part.utd 以符號(hào)“!“開(kāi)頭的是注解行,在菜單定義文件中不起作用。 DEFAULT 關(guān)鍵詞后面指定的參數(shù)是缺省的菜單定義文件名,也可通過(guò)環(huán)境參數(shù) UG_USER_TOOLS_FILE 來(lái)指定。進(jìn)入 UG 后,用戶可通過(guò) User Tools 菜單中的 Show Current 或 Reload Default 菜單項(xiàng)來(lái)調(diào)用缺省的菜單定義文件。后面以每?jī)尚卸x 一項(xiàng)菜單。LABEL 關(guān)鍵詞后面指定的參數(shù)是菜單項(xiàng)標(biāo)題,該標(biāo)題內(nèi)容就顯示在 User 黑龍江工程學(xué)院本科生畢業(yè)設(shè)計(jì) 13 Tools 菜單中。USRT 關(guān)鍵詞后面指定的參數(shù)是對(duì)應(yīng)菜單項(xiàng)定義的文件標(biāo)識(shí)符,該文件 即是所謂的 User Tool 定義文件,用來(lái)對(duì)該項(xiàng)菜單要執(zhí)行的動(dòng)作進(jìn)行定義??梢允褂?完整的文件名標(biāo)識(shí)符,沒(méi)指定路徑時(shí)將使用環(huán)境變量 UG_DEFAULT_USRT_DIR 指定的目 錄路徑。 2.3.1.3 User Tool 對(duì)話框的定義 User Tool 對(duì)話框定義文件是一個(gè).utd 的文本文件,由對(duì)話框標(biāo)題(Title)、按 鈕(Button)、圖標(biāo)(Icon)、列表框(List Box)等內(nèi)容組成。標(biāo)題部分由關(guān)鍵詞 TITLE 開(kāi)頭,按鈕部分由關(guān)鍵詞 BUTTONS 開(kāi)頭,圖標(biāo)部分由關(guān)鍵詞 ICONS 開(kāi)頭,列表框部分 由關(guān)鍵詞 LIST 開(kāi)頭。標(biāo)題部分是唯一的;按鈕、圖標(biāo)、列表框部分可以有多段定義, 每一段定義若干個(gè)按鈕(或圖標(biāo)、或列表框),各段的排列順序可任意,取決于設(shè)計(jì)者 對(duì)各按鈕、圖標(biāo)和對(duì)話框的排列外觀。對(duì)話框的最后部分將自動(dòng)出現(xiàn) OK、Apply、Cancel 三個(gè)按鈕和 AutoDismiss 開(kāi)關(guān)鈕,以便對(duì)選定的內(nèi)容(按鈕、圖 標(biāo)或列表框條目)進(jìn)行確認(rèn)或取消當(dāng)前的操作。 2.3.1.4 標(biāo)題部分的定義 (1)標(biāo)題部分定義的格式如下: TITLE name 定義將顯示在 User Tool 對(duì)話框標(biāo)題行的文字,name 可有可無(wú) VERSION (2)定義版本號(hào) OPTION DISMISS ON|OFF 定義 Auto Dismiss 狀態(tài),缺省為 OFF。若為 ON,則選 擇一項(xiàng)(按鈕、圖標(biāo)或列表框條目)后,就取消 User Tool 其中大寫(xiě)部分為關(guān)鍵詞,不 能改變;其余部分可自行定義。以下類同。 (3)按鈕部分的定義 按鈕部分定義的格式如下: BUTTONS 按鈕部分定義開(kāi)始 LABEL name 按 鈕部分標(biāo)題行。name 為字符串,最 多 127 個(gè)字符??墒÷?COLUMNS number 指定每一行排列按鈕的個(gè)數(shù)以下每三行定義 一個(gè)按鈕 NAME name 按鈕上顯示的內(nèi)容,name 為字符串 TYPE fileType 指定激活 按鈕時(shí)所完成動(dòng)作的類型 ACTION pathname 指定激活按鈕時(shí)所調(diào)用的程序的路徑和 文件名激活按鈕時(shí)所完成動(dòng)作的類型有如下幾種,分別 fileType 定義: MACRO 調(diào)用一宏定義文件(.micro 文件) UFUN 調(diào)用一 User Function 程序 GRIP 調(diào)用一 GRIP 程序(.grx 文件) USRT 調(diào)用一 User Tool 定義文件(.utd 文件) 黑龍江工程學(xué)院本科生畢業(yè)設(shè)計(jì) 14 按鈕的大小將由各按鈕定義中 name 字符串的最大長(zhǎng)度、每行排列按鈕的個(gè)數(shù)以 及對(duì)話框的總體寬度來(lái)決定。 (4)圖標(biāo)部分的定義 圖標(biāo)部分定義的格式如下: ICONS 圖標(biāo)部分定義開(kāi)始 LABEL name 圖標(biāo)部分標(biāo)題行。name 為字符串,最多 127 個(gè)字符??墒÷?COLUMNS number 指定每一行排列圖標(biāo)的個(gè)數(shù)以下每四行定義一 個(gè)圖標(biāo) NAME name 當(dāng)光標(biāo)位于圖標(biāo)上時(shí)顯示的文字,用于對(duì)圖標(biāo)的功能進(jìn)行注解 BITMAP pathname 指定圖標(biāo)所使用的圖象文件的路徑和文件名 TYPE fileType 指定激 活圖標(biāo)時(shí)所完成動(dòng)作的類型,與按鈕部分所用的類型一致 ACTION pathname 指定激活 圖標(biāo)時(shí)所執(zhí)行的程序的路徑和文件名圖標(biāo)顯示時(shí)所用的圖象文件,可使用標(biāo)準(zhǔn)的 X 位 圖格式圖象編輯程序來(lái)定義,如 IRIX 操作系統(tǒng)中即使用 bitmap 程序。定義圖標(biāo)位圖 時(shí),應(yīng)使用白色背景和黑色前景,不支持彩色。一般情況下,推薦使用 36(36 象素的 位圖塊來(lái)定義圖標(biāo),更小或更大尺寸的圖標(biāo)將影響整個(gè) UG 操作界面的一致性。 (5)列表框部分的定義 列表框部分定義的格式如下: LIST 列表框部分定義開(kāi)始 LABEL name 列表框部分標(biāo)題行。name 為字符串,最多 127 個(gè)字符??墒÷?SIZE number 指定列表框窗口的高度(行數(shù)或條目項(xiàng)數(shù)),數(shù)字非 法時(shí)缺省為 7 以下每三行定義一個(gè)列表框條目 NAME name 指定顯示在列表框中的條目 文字 TYPE fileType 指定選中該條目時(shí)所完成動(dòng)作的類型,與按鈕部分所用的類型一 致 ACTION pathname 指定選中該條目時(shí)所執(zhí)行的程序的路徑和文件名 (6)User Tool 對(duì)話框定義實(shí)例 以下是一個(gè) User Tool 對(duì)話框定義實(shí)例,用于定義一組標(biāo)準(zhǔn)件圖庫(kù)。 TITLE Hexagonal Head Bolts 標(biāo)題部分定義開(kāi)始 VERSION 1 OPTION TOOLBAR 這是一個(gè) User Tool 工具條 OPTION DISMISS OFF ICONS 圖標(biāo)部分的第一段定義 COLUMNS 4 每行排列四個(gè)圖標(biāo) NAME Hex Head Locking (GB838-88)第一段第一個(gè)圖標(biāo)的功能定義,圖標(biāo)名 BITMAP gb838.ubm 該圖標(biāo)對(duì)應(yīng)的位圖文件名,其缺省路徑由環(huán)境變量來(lái)設(shè)置 TYPE GRIP 激活該圖標(biāo)時(shí),將調(diào)用一 GRIP 程序 ACTION sta_part/screw/gb838.grx 激活該 圖標(biāo)時(shí)要調(diào)用的 GRIP 程序的路徑和文件名 NAME Knurled Locking (GB839-88)第一 黑龍江工程學(xué)院本科生畢業(yè)設(shè)計(jì) 15 段第二個(gè)圖標(biāo)的功能定義 BITMAP gb839.ubm TYPE GRIP ACTION sta_part/screw/gb839.grx …… ICONS 圖標(biāo)部分的第二段定義 COLUMNS 4 NAME Round-head Cross Tapping (GB845-85)第二段第一個(gè)圖標(biāo)的功能定義 BITMAP gb845.ubm TYPE GRIP ACTION sta_part/screw/gb845.grx NAME Countersunk-head Cross Tapping (GB846-85) BITMAP gb846.ubm TYPE GRIP ACTION sta_part/screw/gb846.grx …… BUTTONS 按鈕部分定義開(kāi)始 LABEL Basic Options 按鈕部分標(biāo)題 COLUMNS 4 每行排列四個(gè)按鈕 NAME Back 第一個(gè)按鈕功能定義,按鈕顯示文字內(nèi)容 TYPE USRT 激活按鈕,將調(diào)用一 User Tool 定義文件 ACTION sta_part.utd 激活按鈕時(shí)要調(diào)用的 User Tool 文件的路徑和文件名 …… 該實(shí)例文件實(shí)現(xiàn)的 User Tool 工具條。 2.3.2 User Tool 工具條的定義 User Tool 工具條是一種特殊的 User Tool,其格式與 User Tool 對(duì)話框基本一 致。User Tool 工具條中可出現(xiàn)按鈕和圖標(biāo),但一般不包含對(duì)話框,因此其尺寸通常 比較小,占有較小的屏幕空間。User Tool 工具條的標(biāo)題部分與對(duì)話框的標(biāo)題部分有 所區(qū)別,其格式如下: TITLE name VERSION 1 OPTION TOOLBAR 該行表示這是一個(gè) User Tool 工具條,以便與 User Tool 對(duì)話 框相區(qū)別 OPTION DISSMIS ON|OFF 其它部分定義的格式與 User Tool 對(duì)話框的定義一 黑龍江工程學(xué)院本科生畢業(yè)設(shè)計(jì) 16 致。 2.3.3 工作環(huán)境參數(shù)設(shè)置 二次開(kāi)發(fā)的內(nèi)容主要是做一些共用性的工作,開(kāi)發(fā)的結(jié)果將以相應(yīng)的可執(zhí)行文件、 數(shù)據(jù)文件等存放于硬盤的某個(gè)目錄或多個(gè)目錄下。這些結(jié)果必須為具有指定訪問(wèn)權(quán)限 的各個(gè)用戶所共用,即在調(diào)用相應(yīng)的程序模塊時(shí),系統(tǒng)應(yīng)能查找到相應(yīng)的文件。利用 UserTool 開(kāi)發(fā) UG 應(yīng)用模塊時(shí),必須設(shè)置幾個(gè)有關(guān)的環(huán)境變量,用來(lái)指定程序執(zhí)行時(shí) 的有關(guān)路徑。這些環(huán)境變量是: UG_USER_TOOLS_FILE 指定缺省的 User Tool 定義文件(.utd 文件) UG_USER_TOOLS_MENU 指定 User Tools 下拉菜單的菜單定義文件(.utd 文件) UG_USER_TOOLS_BITMAP_PATH 指定圖標(biāo)位圖文件的路徑(.ubm 文件) UG_DEFAULT_USRT_DIR 指定 User Tool 文件(.utd 文件)的缺省目錄 UG_INITIAL_GRIP_DIR 指定 User Tool 所用 GRIP 可執(zhí)行程序(.grx 文件)的缺省 目錄 UG_INITIAL_UFUN_DIR 指定 User Tool 所用 User Function 可執(zhí)行程序的缺省目 錄 UG_INITIAL_MACRO_DIR 指定 User Tool 所用宏文件(.micro 文件)的缺省目錄工作 環(huán)境參數(shù)的設(shè)置,可用兩種方法來(lái)實(shí)現(xiàn)。一種方法是利用操作系統(tǒng)的 setenv 命令, 對(duì)各個(gè)環(huán)境參數(shù)進(jìn)行設(shè)置。另一種方法是將以上環(huán)境參數(shù)增加在操作系統(tǒng)的用戶注冊(cè) 文件.login 的后面,其格式為: setenv UG_USER_TOOLS_MENU /usr/people/zxy/usrtools/usermenu.utd setenv UG_USER_TOOLS_FILE /usr/people/zxy/usrtools/stadpart.utd setenv UG_USER_TOOLS_BITMAP_PATH /usr/people/zxy/usrtools/bitmap/ setenv UG_DEFAULT_USRT_DIR /usr/people/zxy/usrtools/ setenv UG_INITIAL_GRIP_DIR /usr/people/zxy/usrtools/ 工作環(huán)境參數(shù)的設(shè)置,應(yīng)由系統(tǒng)管理員完成。一旦設(shè)置好后,具有指定訪問(wèn)權(quán)限 的用戶就可以調(diào)用這些二次開(kāi)發(fā)的 User Tool 模塊了。 2.4 本章總結(jié) 本章對(duì)如何生成參數(shù)模型以及環(huán)境變量的設(shè)定做了詳細(xì)的講解,使讀者可以清楚 地了解參數(shù)化建模的過(guò)程,感受更加真實(shí)。 黑龍江工程學(xué)院本科生畢業(yè)設(shè)計(jì) 17 黑龍江工程學(xué)院本科生畢業(yè)設(shè)計(jì) 18 第 3 章 干涉檢查 3.1 干涉檢測(cè)理論 我們研究的虛擬裝配環(huán)境是一個(gè)三維裝配環(huán)境,目前關(guān)于三維空間檢測(cè)的碰撞問(wèn) 題的研究主要是干涉問(wèn)題。物體的干涉是兩個(gè)或者是多個(gè)物體的體積占有相同的空間。 通常物體的干涉有兩大類,靜態(tài)干涉和動(dòng)態(tài)碰撞檢測(cè)干涉。動(dòng)態(tài)碰撞檢測(cè)就是沿特定 軌跡移動(dòng)的物體的干涉檢測(cè)。所謂可碰撞問(wèn)題就是物體 A 和 B 在空間沿給定軌跡移動(dòng) 時(shí)是否發(fā)生碰撞。其中 A 和 B 之間是有相對(duì)移動(dòng)的??梢苿?dòng)區(qū)域就是物體 A 沿給定的 規(guī)律運(yùn)動(dòng),而不與物體 B 發(fā)生碰撞的所有可能運(yùn)動(dòng)的區(qū)域。最初碰撞點(diǎn)的檢測(cè)就是當(dāng) 物體 A 以給定的運(yùn)動(dòng)規(guī)律運(yùn)動(dòng),并將與物體 B 發(fā)生碰撞時(shí),檢測(cè)它們?cè)谧畛醢l(fā)生碰撞 時(shí)的接觸部位。碰撞檢測(cè)時(shí)可能發(fā)生的干涉有硬干涉、接觸干涉和軟干涉三種。 3.2 干涉檢測(cè)流程 如圖 3.1 所示為干涉檢測(cè)流程圖,可以分成三步來(lái)完成干涉的檢測(cè),即:引入裝 配體、引入工具和檢測(cè)。首先打開(kāi) UG 環(huán)境,最 UG 環(huán)境下顯示發(fā)動(dòng)機(jī)的裝配體,這時(shí) 點(diǎn)擊工具欄中的【人機(jī)工程】選擇檢測(cè)空間,選擇一種要使用的工具,將工具導(dǎo)入到 需要檢測(cè)的部件上,進(jìn)行干涉檢測(cè),查看是否發(fā)生干涉,最后查看結(jié)果。 圖 3.1 檢測(cè)流程圖 黑龍江工程學(xué)院本科生畢業(yè)設(shè)計(jì) 19 3.3 靜態(tài)干涉檢測(cè)算法 根據(jù)所用實(shí)體表示模型的不同,現(xiàn)有實(shí)體干涉檢查算法大致可分成兩類:一類算 法主要基于 B-rep 模型。提高算法效率的關(guān)鍵是如何減少被測(cè)元素的數(shù)量。另一類 算法是以層次模型為基礎(chǔ)的。靜態(tài)碰撞檢測(cè)算法的優(yōu)越性在于它們不需要預(yù)先知道物 體的位置和速度,并且多個(gè)運(yùn)動(dòng)的物體也能夠用一種自然的方式來(lái)處理。靜態(tài)檢測(cè)算 法的主要弱點(diǎn)是由于它們的不連續(xù)性,碰撞可能被遺漏。這種情況可使當(dāng)一個(gè)或兩個(gè) 碰撞的物體從一個(gè)時(shí)間步到下一個(gè)時(shí)間步中,從一種不相交狀態(tài)完全彼此穿透到另一 種不相交狀態(tài)時(shí)移動(dòng)的距離足夠大。 3.4 動(dòng)態(tài)干涉檢測(cè)算法 歷史上主要有兩種技術(shù)被用于動(dòng)態(tài)碰撞檢測(cè)。第一類技術(shù)是基于在給定軌跡上反 復(fù)利用靜態(tài)干涉檢測(cè)被稱為“單步檢測(cè)”的方法,即當(dāng)物體移動(dòng)過(guò)程中將軌跡劃分為 很多時(shí)間步,在每一個(gè)時(shí)間步都進(jìn)行靜態(tài)干涉檢查,來(lái)判定運(yùn)動(dòng)的物體之間是否發(fā)生 碰撞。第二類技術(shù)是基于產(chǎn)生稱之為“掃描實(shí)體”的物體。這些物體代表了物體在給 定軌跡上移動(dòng)過(guò)程中所占有的體積空間。如果環(huán)境中的物體在它們各自的軌跡上行進(jìn) 時(shí)會(huì)發(fā)生碰撞,那么它們各自的掃描體將會(huì)靜態(tài)干涉。因而,掃描體可用簡(jiǎn)單的靜態(tài) 干涉檢查來(lái)對(duì)動(dòng)態(tài)碰撞進(jìn)行測(cè)試。這些掃描體的產(chǎn)生是運(yùn)動(dòng)學(xué)和實(shí)體模型的結(jié)合。由 于實(shí)體模型具有多種表示方式,因此,多種形式的掃描體被提出。 雖然掃描體可用于許多有趣的工程問(wèn)題,但單步檢測(cè)方法更適合于實(shí)時(shí)計(jì)算機(jī)圖 形顯示。并且掃描體方法也沒(méi)有單步檢測(cè)方法所具有的決定碰撞時(shí)間的靈活性。最后, 用掃描體來(lái)進(jìn)行碰撞檢測(cè)需要利用一個(gè)獨(dú)立的步驟來(lái)產(chǎn)生掃描實(shí)體。 Hahn 采用層次包圍盒技術(shù)來(lái)加速多面體場(chǎng)景的碰撞檢測(cè)。Moore 則提出了兩個(gè)有 效的碰撞檢測(cè)算法,其一是用來(lái)處理三角剖分過(guò)的物體表面。由于任一問(wèn)題表面均可 表示成一系列三角面片,因而該碰撞檢測(cè)算法具有普遍性。該算法的缺點(diǎn)是,當(dāng)景物 為一復(fù)雜的雕塑曲面時(shí),三角剖分可能產(chǎn)生大量的三角片,這會(huì)大大影響算法的效率。 而另一算法則用來(lái)處理多面體環(huán)境的碰撞檢測(cè)。Moore 和 Wilhelems 根據(jù) Cyrus-Beek 裁減算法提出了一種凸多面體碰撞檢測(cè)算法,即通過(guò)檢測(cè)多面體頂點(diǎn)是否相互包含來(lái) 判定它們是否發(fā)生碰撞。對(duì)于具有 n 個(gè)凸多面體、每個(gè)多面體具有 m 個(gè)頂點(diǎn)的問(wèn)題, 此算法的時(shí)間復(fù)雜度為 ;對(duì)于凹多面體則分解為多個(gè)凸多面體來(lái)處理。)(2m? Baraff,Herzen 等人提出了基于參數(shù)曲面的幾何膨脹檢測(cè)算法。Baraff 將兩剛體的 碰撞檢測(cè)轉(zhuǎn)化為一隱式約束方程,由此可方便地決定兩剛體是否相碰。而 Herzen 等 人用數(shù)值求解兩參數(shù)曲面在接觸點(diǎn)處或最近點(diǎn)處的參數(shù)值來(lái)判定它們是否相交,并應(yīng) 黑龍江工程學(xué)院本科生畢業(yè)設(shè)計(jì) 20 用層次細(xì)分技術(shù)。Dai 將物體簡(jiǎn)化為凸殼、球殼和柱殼,然后計(jì)算中心點(diǎn)的距離與它 們半徑之和的關(guān)系來(lái)判定兩物體是否可能碰撞,如果可能碰撞,再求取它們的交。 Ganter 和 Isarankura 提出了一種空間分割的方法,即將給定物體所占有的空間劃分 成一系列子空間,將碰撞測(cè)試限定在兩物體的重疊子空間中進(jìn)行,并且在重疊子空間 里的元素都按最大、最小來(lái)排序,從而進(jìn)一步減小了測(cè)試時(shí)間。最壞情況下的處理時(shí) 間是 , 是重疊區(qū)域單元面的總個(gè)數(shù)。)2/(*N? 在 UG 裝配環(huán)境中進(jìn)行碰撞檢測(cè)時(shí)可能發(fā)生的干涉情況有硬干涉、接觸干涉和軟 干涉。所謂硬干涉是指兩個(gè)實(shí)體之間存在重疊區(qū)域,一個(gè)實(shí)體進(jìn)入了另一個(gè)實(shí)體的內(nèi) 部。所謂接觸干涉是指兩個(gè)實(shí)體之間處于發(fā)生硬干涉的臨界狀態(tài),即表面相切的狀態(tài)。 所謂軟干涉是在在程序中給所有實(shí)體的周圍都建立一個(gè)包圍盒,這個(gè)包圍盒實(shí)際上是 不存在的,是在算法中實(shí)現(xiàn)的,當(dāng)兩個(gè)實(shí)體的包圍盒發(fā)生了硬干涉,而實(shí)體沒(méi)有發(fā)生 硬干涉和接觸干涉的情況下,這種干涉情況稱為軟干涉。 在 UG 裝配環(huán)境下的碰撞檢測(cè),我們可以借助于 UG/OPEN API 來(lái)完成。通過(guò) UG/OPEN API,可以避開(kāi)煩瑣的干涉檢查內(nèi)部算法,只關(guān)注如何實(shí)現(xiàn)避開(kāi)裝配環(huán)境中 的碰撞問(wèn)題;雖然我們研究的是拆裝工具的運(yùn)動(dòng)干涉實(shí)驗(yàn),其工具不是機(jī)器本身的部 件,但我們?cè)谧鰧?shí)驗(yàn)時(shí)可以簡(jiǎn)單的把工具作為機(jī)器的一部分來(lái)看待使其進(jìn)行一定空間 的運(yùn)動(dòng)。這樣做可以提高程序的可擴(kuò)展性和運(yùn)行時(shí)的穩(wěn)定性。在程序中根據(jù)我們的需 要做出一些函數(shù)的接口,在需要的時(shí)候調(diào)用這些函數(shù)接口,使程序更加簡(jiǎn)潔明了。 3.5 本章總結(jié) 本章對(duì)干涉問(wèn)題做了理論的研究,對(duì)靜態(tài)干涉和動(dòng)態(tài)干涉分別做了詳細(xì)的理論研 究,從而使讀者對(duì)干涉問(wèn)題有了更加清楚的認(rèn)識(shí)。 黑龍江工程學(xué)院本科生畢業(yè)設(shè)計(jì) 21 第 4 章 操作界面的實(shí)現(xiàn) 4.1 裝配工具生成及操作空間檢驗(yàn) 考慮到現(xiàn)實(shí)的裝配中,常用的操作工具有螺絲刀、呆扳手(死口扳手)和套筒扳 手,為此專門設(shè)計(jì)了相應(yīng)的界面,能方便的選擇提供的各個(gè)系列常用尺寸的工具模型, 實(shí)現(xiàn)螺絲刀工具模型、呆扳手工具模型和套筒扳手工具模型的檢驗(yàn)?zāi)K。實(shí)際中的操 作工具還含有其它的類型(比如梅花扳手、兩用扳手等) ,為完善用戶對(duì)工具模型的 需要,另又專門設(shè)計(jì)一個(gè)模塊:用戶自選工具模型,使用戶能選擇本系統(tǒng)已提供的工 具模型之外的自建工具模型,去實(shí)現(xiàn)相應(yīng)的操作空間檢驗(yàn)。軟件系統(tǒng)總功能框架如圖 4.1 所示。 圖 4.1 軟件系統(tǒng)總功能框 進(jìn)行操作空間檢驗(yàn)的過(guò)程是:首先選擇所需操作工具模型,而后把其定位到待測(cè) 裝配件的待測(cè)位置緊固件上,再進(jìn)行相應(yīng)的操作空間檢驗(yàn),最終得到操作空間信息。 如圖 4-2 所示。下面就四個(gè)模塊分別作以介紹。 4.1.1 螺絲刀工具模型檢驗(yàn)?zāi)K 常用的螺絲刀有兩種類型:十字形和一字形。螺絲刀工具模型的主要參數(shù)包括: 刀桿直徑和長(zhǎng)度;刀柄直徑和長(zhǎng)度。用戶首先選擇螺絲刀模型,而后把螺絲刀定位到 黑龍江工程學(xué)院本科生畢業(yè)設(shè)計(jì) 22 所需的檢測(cè)位置處的緊固件上,再去進(jìn)行干涉檢驗(yàn)。 由于螺絲刀轉(zhuǎn)動(dòng)是繞其自身軸線轉(zhuǎn)動(dòng),且是軸對(duì)稱的,所以不必進(jìn)行動(dòng)態(tài)干涉檢 驗(yàn),只需進(jìn)行一次靜態(tài)干涉檢驗(yàn)即可。若螺絲刀模型與周圍部件(此處的緊固件除外) 占有共同的空間,則表示發(fā)生干涉,即沒(méi)有操作空間;若檢查結(jié)果不干涉,則表明有 操作空間進(jìn)行裝配。單擊靜態(tài)干涉檢驗(yàn)按鈕,系統(tǒng)會(huì)給出檢驗(yàn)結(jié)果。 圖 4.2 工具操作空間檢驗(yàn)流程 4.1.2 扳手工具模型檢驗(yàn)?zāi)K 呆扳手有單頭和雙頭兩種類型,同樣按圖 2 所示,選好扳手模型,正確定位后再 去進(jìn)行干涉檢驗(yàn)。軟件系統(tǒng)會(huì)有相應(yīng)的向?qū)?,一步步提示用戶進(jìn)行簡(jiǎn)單的操作。扳手 不同于螺絲刀,螺絲刀只要不和周圍物體發(fā)生靜態(tài)干涉,就可以繞著軸線進(jìn)行旋轉(zhuǎn), 而扳手模型旋轉(zhuǎn)軸垂直于其旋轉(zhuǎn)平面,旋轉(zhuǎn)過(guò)程中隨時(shí)可能和周圍物體發(fā)生動(dòng)態(tài)干涉, 動(dòng)態(tài)干涉檢驗(yàn)是要檢查扳手模型從一個(gè)剛好與周圍某物體不發(fā)生干涉的位置到另一個(gè) 剛好不發(fā)生干涉之間的不發(fā)生干涉的最大范圍空間。工具初始位置滿意后,則可進(jìn)行 動(dòng)態(tài)干涉檢驗(yàn)。 進(jìn)行動(dòng)態(tài)干涉檢驗(yàn)時(shí),軟件提供了三種靈活的檢測(cè)方式:自動(dòng)檢測(cè)、手動(dòng)檢測(cè)、 指定位置檢測(cè)。 1) 自動(dòng)檢測(cè) 黑龍江工程學(xué)院本科生畢業(yè)設(shè)計(jì) 23 自動(dòng)檢測(cè)是工具模型繞轉(zhuǎn)動(dòng)軸自動(dòng)旋轉(zhuǎn)一周,邊轉(zhuǎn)動(dòng)邊檢測(cè),并能即時(shí)提示每個(gè) 位置的干涉檢驗(yàn)信息,最后給出一周內(nèi)最大的操作空間。關(guān)于步長(zhǎng)的選取,直接影響 計(jì)算量。步長(zhǎng)越小計(jì)算量就越大,但檢驗(yàn)精度也越高;步長(zhǎng)太大,計(jì)算量小但漏檢的 可能性就越大,也就是說(shuō)可能在某些位置發(fā)生了碰撞而沒(méi)有檢測(cè)到。其自動(dòng)執(zhí)行過(guò)程 如圖 4.3 2) 手動(dòng)檢測(cè) 自動(dòng)檢測(cè)是為了快速得到操作空間檢驗(yàn)結(jié)果;手動(dòng)檢測(cè)是為了用戶能靈活的單步 執(zhí)行后查看每一步的檢驗(yàn)情況??蛇M(jìn)行步長(zhǎng)設(shè)置和相應(yīng)的單步檢測(cè),并能提示執(zhí)行次 數(shù)、轉(zhuǎn)過(guò)角度和每步檢驗(yàn)結(jié)果,而且還能把和工具發(fā)生干涉的部件加亮顯示,讓用戶 知道每個(gè)干涉位置和哪些部件發(fā)生干涉。其執(zhí)行流程如圖 4.4 所示。 圖 4.3 自動(dòng)檢測(cè)流程 圖 4.4 手動(dòng)檢測(cè)流程 3) 指定位置檢測(cè) 自動(dòng)檢測(cè)是一周內(nèi)的檢測(cè),有時(shí)需要在一指定的空間內(nèi)進(jìn)行檢測(cè),得出此位置處 工具的操作空間。先設(shè)置步長(zhǎng)、調(diào)整工具位置,而后進(jìn)行檢測(cè)。其執(zhí)行流程如圖 4.5 所示。 4.1.3 套筒扳手工具模型檢測(cè)模塊 套筒扳手工具模型的干涉檢驗(yàn)和普通扳手的干涉檢驗(yàn)類似,相關(guān)流程可以參考扳 手工具模型檢驗(yàn)?zāi)K的內(nèi)容。 黑龍江工程學(xué)院本科生畢業(yè)設(shè)計(jì) 24 圖 4.5 指定位置檢測(cè)流程圖 4.1.4 用戶自選工具模型檢測(cè)模塊 用戶根據(jù)自己的實(shí)際需要,可建立一些工具模型(如梅花扳手、兩用扳手等) , 用其進(jìn)行操作空間檢驗(yàn)。首先用戶查找選擇自己的工具模型,而后進(jìn)行導(dǎo)入與定位操 作。前面的螺絲刀工具模型和呆扳手工具模型,采用了統(tǒng)一建模,方便了用戶的定位 過(guò)程。為在此處也方便用戶的定位操作,用戶需在工具模型上設(shè)置一基準(zhǔn)軸(作為轉(zhuǎn) 動(dòng)軸線和定位需要)和一基準(zhǔn)面(選工具底面,作為定位需要) ,程序會(huì)自動(dòng)按 UG 特 征查詢用戶所設(shè)置的基準(zhǔn)軸和基準(zhǔn)面,用戶只需按定位向?qū)нM(jìn)行簡(jiǎn)單操作,便可把工 具模型定位到緊固件上。但由于一個(gè)基準(zhǔn)軸和一個(gè)基準(zhǔn)面并不能完全限制工具模型的 自由度,其繞軸線轉(zhuǎn)動(dòng)的自由度沒(méi)有被限制,所以定位后工具模型的卡口可能與螺栓 頭等的側(cè)面出現(xiàn)配合不好,用戶可點(diǎn)擊旋轉(zhuǎn)調(diào)整初始位置按鈕,對(duì)其連續(xù)調(diào)整,直到 滿意為止。而且還可點(diǎn)擊軸向調(diào)整位置,系統(tǒng)會(huì)按滑動(dòng)條所設(shè)置的距離自動(dòng)調(diào)整工具 位置,而后則可進(jìn)行干涉檢驗(yàn)。其操作流程與扳手模塊的一致,可參考扳手模型檢測(cè) 模塊中所述,此處不再詳述。 4.2 裝配工具操作空間檢驗(yàn)?zāi)K 由裝配分析總界面點(diǎn)擊相應(yīng)按鈕,進(jìn)入操作工具空間檢驗(yàn)?zāi)K主對(duì)話框界面???黑龍江工程學(xué)院本科生畢業(yè)設(shè)計(jì) 25 看到 4 個(gè)按鈕:螺絲刀工具模型、扳手工具模型套筒工具模型和用戶自選模型。鼠標(biāo) 點(diǎn)擊分別進(jìn)入螺絲刀模型檢驗(yàn)?zāi)K、扳手模型檢驗(yàn)?zāi)K和用戶自選工具模型檢驗(yàn)。 4.2.1 螺絲刀模型 圖 4.7 螺絲刀操作對(duì)話框 進(jìn)入此模塊對(duì)話框后,可看到有兩個(gè)系列的螺絲刀模型供選擇:刀口十字形和刀 口一字形。分別使用于不同頭部類型的螺釘。選擇某個(gè)尺寸類型的螺絲刀模型后,接 著進(jìn)行以下操作: 導(dǎo)入與定位按鈕: 點(diǎn)擊此按鈕后,所選
收藏