freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于ug二次開發(fā)工具的直齒圓柱齒輪、斜齒輪、直齒錐齒輪的參數(shù)化設(shè)計(jì)(編輯修改稿)

2024-12-18 15:02 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 以相互調(diào)用其它 工具開發(fā)的結(jié)果,這就大大擴(kuò)展了工具本身所具有的功能,方便用戶進(jìn)行二次開發(fā)。它們之間的關(guān)系如下附圖所示: Menu Script 所開發(fā)的菜單可以與User Tools 開發(fā)的對(duì)話框相互調(diào)用; Menu Script 所開發(fā)的菜單與 User Tools 開發(fā)的對(duì)話框可以調(diào)用 UI Styler 開發(fā)的對(duì)話框; Menu Script、 User Tools 和 UI Styler 開發(fā)的對(duì)話框均可以調(diào)用 GRIP 程序和 API 程序。 GRIP 程序和 API 程序之間也可以相互調(diào)用。另外,使用 UG 二次開發(fā)工具必須要設(shè)置相應(yīng)的環(huán)境變量,這樣系統(tǒng)才能 找到這些開發(fā)文件,執(zhí)行相應(yīng)的程序。 圖 31 二次開發(fā)工具關(guān)系圖 本課題的目的是以 UG 為平臺(tái),使用 UG 二次開發(fā)工具,實(shí)現(xiàn)齒輪的參數(shù)化設(shè)計(jì)。在 UG 界面中就是實(shí)現(xiàn)在對(duì)話框中輸入齒輪的各個(gè)參數(shù),確定后 UG系統(tǒng)自動(dòng)生成對(duì)應(yīng)的實(shí)體模型。要達(dá)到設(shè)計(jì)要求,首先必須自定義一個(gè)菜單,制作相對(duì)應(yīng)的對(duì)話框,使設(shè)計(jì)者能調(diào)用對(duì)應(yīng)的對(duì)話框并輸入所需齒輪的參數(shù)。之后更重要的是編寫一定的程序,程序的作用是讀取對(duì)話框中的參數(shù)并自動(dòng)生UIStyler Dialog User Tools API GRIP MenuScript 成所需的實(shí)體模型。通過(guò)對(duì) UG 系統(tǒng)中各個(gè)二次開發(fā)工具 的性能和特點(diǎn)的分析,要實(shí)現(xiàn)設(shè)計(jì)要求有以下幾種方案: ( 1)在菜單和對(duì)話框的基礎(chǔ)上使用 GRIP 語(yǔ)言編寫生成齒輪實(shí)體的程序。由二次開發(fā)工具之間的關(guān)系我們知道, UG 對(duì)話框可以調(diào)用 GRIP 程序。只要能編寫出一個(gè)生成齒輪實(shí)體的程序,我們就可以用編制好的對(duì)話框調(diào)用該程序,生成齒輪實(shí)體,滿足設(shè)計(jì)要求。在 UG/Open GRIP 工具中中擁有豐富的函數(shù),可實(shí)現(xiàn)幾何體的生成、數(shù)據(jù)的存取和分析、變換等一系列功能。因此,使用 GRIP 完全能編寫出生成齒輪實(shí)體程序,程序編寫好后使用 User Tool 工具對(duì)程序進(jìn)行編譯連接,最后生成 可被對(duì)話框調(diào)用的可執(zhí)行程序。將可執(zhí)行程序放在對(duì)應(yīng)的文件夾里就可實(shí)現(xiàn)對(duì)話框?qū)Τ绦虻恼{(diào)用,執(zhí)行程序,滿足設(shè)計(jì)要求。 ( 2)在菜單和對(duì)話框的基礎(chǔ)上使用 API 語(yǔ)言編寫生成齒輪實(shí)體的程序。同樣,對(duì)話框也能實(shí)現(xiàn)對(duì) API 程序的調(diào)用。只要能編寫出實(shí)現(xiàn)齒輪建模的 API程序,就能實(shí)現(xiàn)設(shè)計(jì)要求。 API 與 GRIP 一樣,也具有豐富的函數(shù)。運(yùn)用該語(yǔ)言可以實(shí)現(xiàn)對(duì)部件保存、打開等基本操作、對(duì)表達(dá)式的操作、裝配體操作、工程圖的生成和控制等功能,可以滿足生成齒輪實(shí)體的程序的編寫。此外, API語(yǔ)言借助 C++來(lái)編寫程序,借助 C++強(qiáng)大的編程功能 ,編寫 API 程序比 GRIP更加靈活、更加的簡(jiǎn)單使用,還能滿足更多的編程要求。在 C++中編寫好相應(yīng)的程序后編譯程序,將生成的可執(zhí)行程序( .dll)放在對(duì)應(yīng)的文件夾下,就可以實(shí)現(xiàn)對(duì)話框?qū)Τ绦虻恼{(diào)用和執(zhí)行,滿足設(shè)計(jì)要求。 ( 3)基于三維模型的參數(shù)化程序設(shè)計(jì)。該方法采用三維模型與程序控制相結(jié)合的方式,在創(chuàng)建好三維模型的基礎(chǔ)上,根據(jù)部件的設(shè)計(jì)要求建立一組可以完全控制三維模型形狀和大小的設(shè)計(jì)參數(shù)。參數(shù)化程序針對(duì)該部件的設(shè)計(jì)參數(shù)進(jìn)行編程,實(shí)現(xiàn)設(shè)計(jì)參數(shù)的查詢、修改,根據(jù)新的參數(shù)值更新模型從而實(shí)現(xiàn)設(shè)計(jì)變更。其中程序的編寫是 使用 API 語(yǔ)言的表達(dá)式功能。在本課題中,采用這種方案具體方法是先新建一個(gè)部件,在建模模塊下寫好表達(dá)式,然后使用表達(dá)式繪出齒輪的三維實(shí)體,并確保實(shí)體模型應(yīng)隨著表達(dá)式的值變化而變化。建好模型后,編寫菜單和對(duì)話框,然后在 C++上用 API 語(yǔ)言進(jìn)行編程,程序應(yīng)把對(duì)話框和模型聯(lián)系起來(lái),將對(duì)話框中輸入的值傳遞到模型的表達(dá)式中,并更新程 序。這樣,當(dāng)在對(duì)話框中輸入齒輪的設(shè)計(jì)參數(shù)后,運(yùn)行程序,原來(lái)的齒輪部件就會(huì)按新的表達(dá)式數(shù)據(jù)重生成模型,這樣就得到了設(shè)計(jì)所需要的齒輪實(shí)體模型。將新生成的部件另存,保留原部件,這樣就可以隨時(shí)生成需 要的齒輪了。 UG 二次開發(fā)工具的功能非常強(qiáng)大,要實(shí)現(xiàn)本課題目的應(yīng)還有其他方案,在這里只列舉了這三個(gè)常用方案。 3. 2 方案選擇 比較上述三個(gè)方案,有一個(gè)共同點(diǎn)就是都使用了菜單技術(shù)和對(duì)話框技術(shù)。這是為了在設(shè)計(jì)齒輪時(shí)設(shè)計(jì)者能在 UG 界面下直接輸入對(duì)應(yīng)的參數(shù),使該模塊更加直觀,方便設(shè)計(jì)者使用。這三個(gè)方案中,前兩個(gè)都是使用編寫程序來(lái)繪制齒輪實(shí)體,程序比較復(fù)雜;最后一個(gè)是建立模型后將對(duì)話框中數(shù)值傳遞到表達(dá)式,程序較簡(jiǎn)單。齒輪是較復(fù)雜的實(shí)體部件,精度要求也比較高,要?jiǎng)?chuàng)建齒輪實(shí)體比較麻煩。前兩種方案中,都是用程序來(lái) 編寫整個(gè)齒輪實(shí)體創(chuàng)建過(guò)程,這要涉及到的函數(shù)非常多,程序煩瑣,出現(xiàn)錯(cuò)誤時(shí)不容易修改和維護(hù)。此外,在畫齒輪輪廓過(guò)程中需要修剪、變換許多曲線,這在程序中很難做到。如果要使用前兩種方案,需要深入學(xué)習(xí) GRIP 和 API 這兩種語(yǔ)言,需要花費(fèi)很多時(shí)間。而第三種方案是直接在 UG 界面上畫實(shí)體模型,可以直接對(duì)各種特征進(jìn)行編輯、修改曲線,相對(duì)于前兩種方案來(lái)說(shuō)更直觀、更容易。不過(guò)要注意的是在第三種方案中,在畫齒輪實(shí)體過(guò)程中要注意應(yīng)保證所畫出的實(shí)體模型應(yīng)能隨著表達(dá)式中的值的變化而變化。不過(guò)在 UG 界面下比程序中繪制參數(shù)化齒輪模型要直觀、容易的多。在編寫程序方面,最后一種方案只需寫一些數(shù)值的傳遞的程序,使用的函數(shù)少,程序簡(jiǎn)單,易于發(fā)現(xiàn)錯(cuò)誤和修改調(diào)試。同時(shí),如果能夠?qū)崿F(xiàn),前兩種方案所得的齒輪設(shè)計(jì)模塊使用起來(lái)要比第三種方案方便。由于畢業(yè)設(shè)計(jì)時(shí)間不長(zhǎng),而且之前沒有接觸過(guò)有關(guān)二次開發(fā)的知識(shí),在短時(shí)間內(nèi)無(wú)法深入學(xué)習(xí)GRIP 和 API 的知識(shí),前兩種方案很難實(shí)現(xiàn)。第三種方案最為簡(jiǎn)單,也最有可能在規(guī)定時(shí)間內(nèi)完成設(shè)計(jì)任務(wù),達(dá)到設(shè)計(jì)目的。綜合比較這三種方案,最終選擇第三種方案作為本次設(shè)計(jì)方案。 3. 3 利用二次開發(fā)工具制作系統(tǒng)菜單 設(shè)置系統(tǒng)環(huán)境變量 雖然各種菜單的制作方法 ,在結(jié)構(gòu)、內(nèi)容和開發(fā)過(guò)程上有一定的差異 ,但是在整個(gè)構(gòu)建過(guò)程中有其共性和相同的部分 ,就是菜單制作之前應(yīng)先設(shè)置系統(tǒng)環(huán)境變量。設(shè)置了系統(tǒng)環(huán)境變量, UG 才能找到開發(fā)內(nèi)容所在目錄。系統(tǒng)環(huán)境變量設(shè)置方法有以下兩種: 方法一:打開 $UG_BASE_DIR/ugii 目錄下的 文件 (該文件包含 Unigraphics 系統(tǒng)的全部環(huán)境變量及系統(tǒng)路徑定義 ) ,找到下面兩條語(yǔ)句:UG_VENDOR_DIR=${UGA LLIANCE_DIR}/vendor 和 UG_ SITE_DIR= ${UGALLIANCE_DIR}/site。將它們前面的注釋符號(hào) “”刪除,以使它們起作用。這兩條語(yǔ)句其實(shí)指明了供用戶放置二次開發(fā)文件的目錄。在 Unigraphics 初始安裝時(shí),它們不起作用,當(dāng)刪除了 “”號(hào)后, UG/OPEN 才能從這些目錄下得到二次開 發(fā)的功 能擴(kuò) 展。這 兩個(gè) 目錄的 功能和 結(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ì)話框資源文件 ( .dlg))。 Unigraphics 下設(shè)置的這兩個(gè)目錄是為不同等級(jí)的開發(fā)者提供的, vendor 目錄下放置 Unigraphics 指定的開發(fā)商的二次產(chǎn)品, site 目錄下存放其余開發(fā)者的產(chǎn)品。因此 vendor 目錄下同類內(nèi)容的文件要比 site 目錄下的優(yōu)先載入。此外,在 文件中還有一條語(yǔ)句,是用來(lái)設(shè)置用戶自己二次開發(fā)內(nèi)容的目錄: UG_USER_DIR =${HOME},同樣將其前面的 “”號(hào)刪除,并在 其后使用用戶自己的目錄替換 ${HOME}。例如, UG_USER_DIR=E: \ugapi,在此目錄下也必須建立目錄 startup 和 application,存放的內(nèi)容和 site 及 vendor下的 startup、 application 一樣 ,不過(guò)它的優(yōu)先級(jí)更低 [ 13]。 方 法 二 : 打 開 UG 安裝目錄 UGⅡ _BASE_DIR\ UGⅡ \menus 下的(用記事本打開),在文件最后添加開發(fā)的文件夾的絕對(duì)路徑。 在添加的文件里建立兩個(gè)子目錄: startup 和 application ,分別用來(lái)放 置開發(fā)的各種文本文件( .men 文件)、動(dòng)態(tài)庫(kù)文件和對(duì)話框文件。 上述兩種方法中第二種方法較簡(jiǎn)單方便,本課題采用第二種方法。打開UG 安裝目錄 UGⅡ _BASE_DIR\ UGⅡ \menus 下的 ,在文件最后添加開發(fā)的文件夾的絕對(duì)路徑 E:\gearsopen。在 E:\gearsopen 文件夾下建立startup 和 application 兩個(gè)子目錄。 制作菜單 本課題涉及到三個(gè)齒輪的參數(shù)化設(shè)計(jì),因此應(yīng)在一個(gè)主菜單下建立三個(gè)子菜單。在 E:\gearsopen\startup 下建立文件 ,代碼如下: VERSION 120 //菜單腳本文件的版本信息 EDIT UG_GATEWAY_MAIN_MENUBAR //編輯 UG 系統(tǒng)菜單文件 BEFORE UG_HELP //定義菜單位于 “幫助 ”菜單前 CASCADE_BUTTON GEARS //主菜單按鈕名 LABEL 齒輪參數(shù)化設(shè)計(jì) //主菜單標(biāo)題 END_OF_BEFORE //結(jié)束 BEFORE 定義 MENU GEARS //定義主菜單 BUTTON SPUR_GEAR //第一個(gè)子菜單名 LABEL 直齒圓柱齒輪 //第一個(gè)子菜單標(biāo)題 ACTIONS SPUR_GEAR //第一個(gè)子菜單的 ID BUTTON HELICAL_GEAR //第二個(gè)子菜單名 LABEL 斜齒輪 //第二個(gè)子菜單標(biāo)題 ACTIONS HELICAL_GEAR //第二個(gè)子菜單的 ID BUTTON STRAIGHT_BEVEL_GEAR //第三個(gè)子菜單名 LABEL 直齒錐齒輪 //第三個(gè)子菜單標(biāo)題 ACTIONS STRAIGHT_BEVEL_GEAR //第三個(gè)子菜單的 ID END_OF_MENU //結(jié)束菜單的定義 運(yùn)行結(jié)果如圖 32 所示: 圖 32 菜單運(yùn)行效果圖 在菜單的基礎(chǔ)上,可以制作工具欄,這樣可以在工具欄點(diǎn)相對(duì)應(yīng)的工具來(lái)直接調(diào)用對(duì)話框。工具欄是一種快速激活相關(guān)命令的工具按鈕的集合。在 UG中,使用菜單工具可以制作工具欄。工具欄文件是以 .tbr 為后綴名的文本文件,每個(gè)工具欄按鈕名稱應(yīng)與菜單文件中相應(yīng)按鈕的名稱相同,工具欄按鈕圖標(biāo)所對(duì)應(yīng)的位圖文件,應(yīng)放置在 相應(yīng)的 application 文件夾下。工具欄文件寫好后,應(yīng)放在對(duì)應(yīng)的 stratup 文件夾中。編寫的工具欄文件如下: TITLE 齒輪 //工具欄標(biāo)題 VERSION 160 //工具欄文件的版本信息 DOCK NO //工具欄導(dǎo)入時(shí)是浮動(dòng)的 BUTTON SPUR_GEAR //直齒輪對(duì)應(yīng)按鈕的名稱 LABEL 直齒圓柱齒輪 //工具欄按鈕的標(biāo)題 BITMAP //直齒輪對(duì)應(yīng)按 鈕圖標(biāo) BUTTON HELICAL_GEAR //斜齒輪對(duì)應(yīng)按鈕的名稱 LABEL 斜齒輪 //工具欄按鈕的標(biāo)題 BITMAP //斜齒輪對(duì)應(yīng)按鈕圖標(biāo) BUTTON STRAIGHT_BEVEL_GEAR //錐齒輪對(duì)應(yīng)按鈕的名稱 LABEL 直齒錐齒輪 //工具欄按鈕的標(biāo)題 BITMAP //錐齒輪對(duì)應(yīng)按鈕圖標(biāo) 運(yùn)行效果如圖 33 所示: 圖 32 工具 欄效果圖 第四章 齒輪常用的齒形曲線 —— 漸開線 從理論上講 ,只要給出一條齒廓曲線 ,就可以根據(jù)齒廓嚙合的基本定律 (用圖解法或解析法 )求出與其共軛的另一條齒廓曲線。因而,作共軛齒廓的曲線是很多的。生產(chǎn)實(shí)際中。結(jié)合設(shè)計(jì)、制造、安裝和使用方面的諸多要求 (如強(qiáng)度、效率、磨損、壽命、互換性 ),通常選用的定傳動(dòng)比齒廓曲線有漸開線、擺線和圓弧。由于漸開線齒廓具有制造容易、便于安裝、互換性好等多方面優(yōu)點(diǎn) ,所以目前大部分齒輪采用漸開線齒廓。 4. 1 漸開線的形成原理
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1