UG二次開發(fā)實用教程_第1頁
UG二次開發(fā)實用教程_第2頁
UG二次開發(fā)實用教程_第3頁
UG二次開發(fā)實用教程_第4頁
UG二次開發(fā)實用教程_第5頁
已閱讀5頁,還剩33頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 UGSC. 2007. All rights reserved.二次開發(fā)應用框架二次開發(fā)應用框架日期:2007年 8 月 UGSC. 2007. All rights reserved.2主要內容主要內容 二次開發(fā)工程項目的創(chuàng)建應用程序框架工程路徑設置API運行模式程序的初始化及終止用戶入口 UGSC. 2007. All rights reserved. UGSC. 2007. All rights reserved.4概述概述 二次開發(fā)工程的創(chuàng)建常用有3種: UG/Open AppWizard Win32應用程序向導 MFC應用程序向導UG應用開發(fā)程序采用了動態(tài)鏈接庫(DLL,Dynam

2、ic Link Library)技術,使用上述任何一種應用向導開發(fā)程序,最終生成的結果都是DLL文件,UG啟動時會自動加載動態(tài)鏈接庫文件供用戶調用,從而實現(xiàn)了應用開發(fā)程序與UG平臺的無縫集成。 UGSC. 2007. All rights reserved.5利用利用UG/Open AppWizard向導向導 設置向導設置向導1 我們假設 Visual C+ .NET 2003 安裝在 C:ProgramFilesMicrosoft Visual Studio .NET 2003Vc7 :第一步:從UG安裝路徑的目錄下 UGII_BASE_DIRugopenvc7_filesvcproject

3、s 拷貝所有文件到拷貝所有文件到C:Program FilesMicrosoft Visual Studio .NET 2003Vc7vcprojects UGSC. 2007. All rights reserved.6利用利用UG/Open AppWizard向導向導 設置向導設置向導2 第二步:拷貝整個目錄 UGII_BASE_DIRUGOPENvc7_filesVCWizardsUnigraphics_NX_Open到到 C:Program FilesMicrosoft Visual Studio .NET 2003Vc7VCWizards UGSC. 2007. All rights

4、 reserved.7利用利用UG/Open AppWizard向導向導 1.4節(jié)已經(jīng)詳細介紹了使用UG/Open APPwizard 創(chuàng)建一個簡單的First Project程序。該向導是UG軟件本身提供的應用向導,隨著UG版本和開發(fā)環(huán)境的升級而升級。該向導操作簡便,運行穩(wěn)定,可以快速構建開發(fā)體系,但通常不支持MFC類庫,因此常常應用于輔助工具的開發(fā)。 UGSC. 2007. All rights reserved.8利用利用UG/Open AppWizard向導向導 UGSC. 2007. All rights reserved.9利用利用UG/Open AppWizard向導向導 UGS

5、C. 2007. All rights reserved.10利用利用UG/Open AppWizard向導向導 UGSC. 2007. All rights reserved.11利用利用Win32應用程序向導應用程序向導 - 新建項目新建項目 UGSC. 2007. All rights reserved.12利用利用Win32應用程序向導應用程序向導 - 設置項目屬性設置項目屬性(1) UGSC. 2007. All rights reserved.13利用利用Win32應用程序向導應用程序向導 - 設置項目屬性設置項目屬性(2) UGSC. 2007. All rights reser

6、ved.14利用利用Win32應用程序向導應用程序向導 - 設置項目屬性設置項目屬性(3) UGSC. 2007. All rights reserved.15利用利用Win32應用程序向導應用程序向導 - 設置項目屬性設置項目屬性(4) UGSC. 2007. All rights reserved.16利用利用Win32應用程序向導應用程序向導 - 設置項目屬性設置項目屬性(5) UGSC. 2007. All rights reserved.17利用利用Win32應用程序向導應用程序向導 - 設置項目屬性設置項目屬性(6) UGSC. 2007. All rights reserved.

7、 UGSC. 2007. All rights reserved.19 UG/Open API 應用程序一般包括菜單、對話框、應用程序(DLL)和UG/Open API庫函數(shù)四部分,其中菜單和對話框是程序與用戶交互的工具,從菜單可以啟動應用程序、對話框等,在對話框激活控件時,將調用相應的回調函數(shù),應用程序(回調函數(shù))用基本的C/C+語言和的庫函數(shù)編碼。 UGSC. 2007. All rights reserved.20菜單:菜單文件(.men)和工具條文件(.tbr),放在應用程序目錄的startup子目錄中。對話框:對話框文件(.dlg),放在程序目錄的application子目錄中。應用

8、程序(回調函數(shù)):應用程序(.dll),放在程序目錄的startup子目錄中。UG/Open API庫函數(shù):默認存放在“$UGII_BASE_DIRugopen”目錄中。在創(chuàng)建應用程序時需要配置。 UGSC. 2007. All rights reserved.21UG規(guī)定的目錄有 startup、application 、udo和dfa。UG對它們存放的文件做了如下的規(guī)定: ( 1 ) Startup 目錄存放UG啟動時需加載的動態(tài)鏈接庫文件(*.dll)、菜單腳本文件( *.men)和用戶工具欄腳本文件(*.tbr)。 ( 2 ) Application 目錄存放具體的功能擴展程序文件,如

9、UIstyler 對話框文件(*.dlg)。 ( 3 )Udo目錄用于存放與用戶自定義對象相關的動態(tài)鏈接庫文件。( 4 ) Dfa目錄存放KF程序文件(*.dfa)及對應的對話框文件。工具圖標文件(*.bmp ) UGSC. 2007. All rights reserved.工程路徑設置 UGSC. 2007. All rights reserved.23工程路徑設置工程路徑設置 - 配置文件法$UGII_BASE_DIRUGIIugii_env.datUGII_CUSTOM_DIRECTORY_FILE=$UGII_DEFAULT_MENU_DIRcustom_dirs.datUGII_U

10、G_CUSTOM_DIRECTORY_FILE=$UGII_DEFAULT_MENU_DIRug_custom_dirs.dat在默認情況下,custom_dirs.dat和ug_custom_dirs.dat位于路徑“$UGII_BASE_DIRugiimenus”。custom_dirs.dat用于存放用戶指定的目錄,UG最初安裝后該文件不包含任何目錄,且該文件不會隨著UG新版本的發(fā)布而更新。Ug_custom_dirs.dat用于存放UG指定的目錄,該文件會隨著UG新版本的發(fā)布而改變并被覆蓋,建議不要編輯該文件。 UGSC. 2007. All rights reserved.24工程路

11、徑設置工程路徑設置 - 配置文件法當UG啟動時,系統(tǒng)檢查這兩個文件中注冊的工程路徑并自動加載該路徑下的所有資源,包括用戶菜單、對話框和動態(tài)鏈接庫等。 配置文件custom_dirs.dat 的基本語法如下:( 1 ) 文件中允許使用注釋,注釋符“#” 。( 2 ) 每一行只能寫一條工程路徑,要確保路徑的正確。( 3 ) custom_dirs.dat允許添加多個文件路徑,UG在啟動時將按照先后順序依次載入。 UGSC. 2007. All rights reserved.25工程路徑設置工程路徑設置 - 環(huán)境變量法 UG 環(huán)境配置文件ugii_env.dat 中存在3個用于注冊工程路徑的環(huán)境變

12、量,如下表所示。去掉環(huán)境變量前的注釋符“#,在等號后寫入具體的工程路徑,則在 UG 啟動的同時會將這些環(huán)境變量所指定的工程路徑中的資源按照優(yōu)先級的順序加載。環(huán)境變量名工程路徑優(yōu)先級UG_VENDOR_DIR存放 UG 指定應用開發(fā)產(chǎn)品的工程路徑最高UG_SITE_DIR存放其余應用開發(fā)產(chǎn)品的工程路徑其次UG_USER_DIR存放用戶自己應用開發(fā)產(chǎn)品的工程路徑最低 UGSC. 2007. All rights reserved.API運行模式 UGSC. 2007. All rights reserved.27API運行模式運行模式 內部模式內部模式 內部模式(Internal開發(fā)模式)的程序只

13、能在UG的界面環(huán)境下運行。在運行內部程序時,它們以 .dll (動態(tài)鏈接庫)的方式被調到UG的進程空間中。它必須啟動UG才能運行。 執(zhí)行代碼小,連接快;內部程序一旦被加載到內存中,只能通過UG/Open API的卸載功能才能從UG運行功能中卸載它;運行結果在UG的界面圖形環(huán)境中可見;入口函數(shù)是ufusr或ufsta;最大的優(yōu)點是能處理UG的UI的對象接口,實現(xiàn)和UG界面的無縫集成 內部程序有下列特點: UGSC. 2007. All rights reserved.28API運行模式運行模式 內部模式內部模式 內部模式的應用程序執(zhí)行方式直接激活方式 該方式不用設置環(huán)境變量,程序編譯連接后即可執(zhí)

14、行。在UG環(huán)境中選擇菜單:File- Execute-NX Open,將出現(xiàn)一個文件打開對話框,選取相應應用程序(.dll)即可。用戶菜單調用方式 使用該方式必須設置環(huán)境變量UG_USER_DIR,將環(huán)境變量UG_USER_DIR指向應用程序主目錄,將應用程序(.dll)放置到主目錄的$UGII_USER_DIRapplication或$UGII_USER_DIRstartup子目錄下。 UGSC. 2007. All rights reserved.29API運行模式運行模式 內部模式內部模式 UIStyler 回調函數(shù)方式 由UIStyler創(chuàng)建的對話框回調函數(shù)中激活應用程序(.dll)通

15、過用戶出口 根據(jù)用戶出口不同,設置相應的環(huán)境變量,激活對應入口函數(shù)應用程序.dll。 UGSC. 2007. All rights reserved.30API運行模式運行模式 內部模式內部模式 內部程序的一般格式如下:#include /* Prototypes exist in this file.*/void ufusr( ) /*申明變量*/ UF_initiialize(); /*用戶代碼*/ UF_terminate(); UGSC. 2007. All rights reserved.31API運行模式運行模式 外部模式外部模式 外部模式下的程序可以在操作系統(tǒng)下運行,不必在UG環(huán)

16、境中作為UG 的子程序運行。外部程序是可執(zhí)行程序,運行時只要有UG License 的支持,就可以由操作系統(tǒng)直接執(zhí)行,不需要啟動UG。 它的優(yōu)點是不必啟動UG,屬于后臺執(zhí)行,這樣可以節(jié)約運行時間,其缺點在于它不能和UG發(fā)生聯(lián)系,因而不能利用UG的顯示窗口動態(tài)反饋操作結果,同時也不能實現(xiàn)一些用戶的交互操作和管理或控制出圖,所以它一般用于part 零件文件大量創(chuàng)建,而不適用于用戶交互性的幾何建模和修改、存取外部程序在操作系統(tǒng)平臺的命令行直接執(zhí)行即可。 UGSC. 2007. All rights reserved.32API運行模式運行模式 外部模式外部模式 外部程序的一般格式如下:#includ

17、e /*頭文件*/int main(int argc, char* argv) /*申明變量*/ UF_initiialize(); /*用戶代碼*/ UF_terminate(); UGSC. 2007. All rights reserved.程序的初始化及終止 UGSC. 2007. All rights reserved.34程序的初始化程序的初始化 所有UG/Open API程序的使用,必須及時進行初始化和終止,以確保獲取或釋放UG/open API的執(zhí)行許可權限。在調用UG/Open API的函數(shù)前,應先調用 UF_initialize()來獲得執(zhí)行許可權限。一般來說,第一個調用的

18、UG/open API函數(shù)就是UF_initialize()。當不再調用API函數(shù)的時候,必須調用UF_terminate()來釋放執(zhí)行許可權限。 UF_initialize()函數(shù)的調用應該緊跟程序中的變量聲明部分,而int UF_terminate()則應在程序最后才被調用,對于外部UF和內部UF都是如此,這說明外部UF的運行雖然脫離UG,但仍離不開API執(zhí)行許可權限的支持。 UGSC. 2007. All rights reserved.用戶入口 UGSC. 2007. All rights reserved.36用戶入口用戶入口 User Exit是UG/Open API中的一個重要概念。UG在運行過程中某些特定的地點存在著規(guī)定的入口,當進程執(zhí)行到這些入口時,UG會自動檢查用戶是否在此處已定義了指向內部UF程序位置的環(huán)境。若沒有定義則以UG默認的方式繼續(xù)運行下去;若已定義則從該處自動運行用戶開發(fā)程序,這個過程被稱為User Exit。 利用不同的User Exit能讓用戶程序在UG運行到特定點時被自動執(zhí)

溫馨提示

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

評論

0/150

提交評論