Unigraphics(簡稱UG)是當(dāng)前世界上最先進和緊密集成的、面向制造行業(yè)的CAD/CAE/CAM高端軟件。它基于完全的三維實體復(fù)合造型、特征建模、裝配建模技術(shù),能設(shè)計出復(fù)雜的產(chǎn)品模型,而且它還具有良好的開放性,提
供的二次開發(fā)程序設(shè)計模塊UG/OPENGRIP與UG/OPENAPI和兩個輔助開發(fā)模塊UG/OPEN MenuScript與UG/
OPENUIStyler及其良好的高級語言接口,使UG的造型功能和計算功能有機地結(jié)合起來,便于用戶開發(fā)符合自己要求的專用模具CAD系統(tǒng)[1]。
1 開發(fā)工具簡介
Unigraphics為用戶提供了強大而有效的二次開發(fā)工具,以滿足用戶的特定需求。
1.1二次開發(fā)工具的簡介
1. 1. 1宏命令(Macro)
宏命令是UG平臺上人機交互操作的一系列過程的記錄。宏命令文件擴展名為*.macro。為ASII碼形式。宏命令通過兩種方式產(chǎn)生:一是軟件自動記錄;二是手工編寫(用任一文本編輯器)。
1. 1. 2用戶自定義特征(UserDefine Feature)
用戶自定義特征是UG軟件提供的造型特征之一,它可對一簡單實體生成用戶化的特征,特征的參數(shù)由用戶自定義。通過這一功能可建立用戶自定義特征庫,在需要時直接調(diào)用。用戶自定義特征文件擴展名為*. udf。
1. 1. 3程序設(shè)計模塊(UG/OPEN)
UG/OPEN GRIP和UG/OPENAPI是UG提供的兩個二次開發(fā)程序設(shè)計模塊,具有與外部高級開發(fā)語言的接口,能夠?qū)崿F(xiàn)強大的圖形繪制、裝配、工程圖的生成和一定的文件管理功能,主要進行UG的功能調(diào)用。UG/OPEN
API是一個完整可靠和面向?qū)ο蟮膽?yīng)用編程接口,它允許用戶用當(dāng)今最流行的過程化和面向?qū)ο蟮恼Z言來開發(fā)自
己的應(yīng)用程序,包括用戶開發(fā)應(yīng)用程序自動執(zhí)行數(shù)控操作、創(chuàng)建幾何體和繪圖對象,以及執(zhí)行其它用戶所需的具
體專業(yè)知識的任務(wù)。同時,使用面向?qū)ο蠹夹g(shù),用戶可以按照自己的要求集成類、重載和派生類。UG/OPEN API
是用C語言編制的,它還能在程序中使用C語言支持的全部功能,并且支持對UG/OPEN GRIP程序的調(diào)用,有很大
的靈活性。
1. 1. 4用戶界面開發(fā)模塊(UG/OPENUIStyler)
UG/OPENUIStyler模塊是UG提供的主要用于對話框的制作、實現(xiàn)UG參數(shù)化繪圖的專用模塊。用戶使用此模塊可快速建造UG風(fēng)格對話框的可視化環(huán)境,并能生成相應(yīng)的已被封裝好的UG/OPEN UIStyler文件和程序代碼,從而使用戶在使用UG/OPEN UIStyler產(chǎn)生的對話框時,不必考慮圖形界面(GUI)的實現(xiàn)。
1. 1. 5菜單腳本定義工具(UG/OPENMenuScript)
UG/OPENMenuScript是UG提供的主要用于制作用戶菜單的專用模塊。用戶使用它能很方便地用ASCII文本文件來編輯UG菜單和為自己的應(yīng)用程序模塊創(chuàng)建用戶菜單,以便與UG無縫集成。UG/OPENMenuscript支持用戶對UG主菜單和快速彈出式下拉菜單的修改,通過它可以改變UG菜單的布局、添加新的菜單項以執(zhí)行用戶二
次開發(fā)程序、UserTools文件、操作命令等[2]。
1. 1. 6用戶工具(UserTools)
用戶工具是一種生成用戶對話框的工具。它有兩種功能:其一是在UG主菜單的UserTools下拉菜單中添加用戶項:其二是生成彈出式對話框。用戶工具生成的界面風(fēng)格和UG界面一致,通過它可運行對話框文件、宏文件、
UG/openAPI及UG/openGRIP程序。用戶工具生成的文件擴展名有*. utm和*. utd,其中* utm文件用于UG16.0
以前的版本,在主菜單UserTools中添加用戶項,這需在UG的初始化文件ugii_env. dat文件中指明路徑,自動裝
載。*. utd文件可通過*. utm文件調(diào)用或*.men菜單文件調(diào)用。*. utm文件和*. utd文件可用W indows中的寫字板進行編輯,并且該文件必須放在application目錄中,以便UG啟動自動加載。
2 二次開發(fā)的關(guān)鍵技術(shù)
UG(V18.0)提供的二次開發(fā)工具和方法,只有用程序?qū)⑺鼈兗善饋?才能實現(xiàn)用戶需要的特定功能。本文通過應(yīng)用實例探討了利用VC++6. 0開發(fā)平臺編程調(diào)用UG/OPENUIStyler對話框和UG/OPENAPI,進行API、UI-Styler及MenuScript聯(lián)合開發(fā)模具CAD系統(tǒng)的基本方法和關(guān)鍵技術(shù)。
2. 1 UG工作目錄的設(shè)置
在硬盤中建立工作文件夾,如D: user,再在user目錄下建立application、startup和udo分別用于存放開發(fā)過程中所建立的文件。
2.2環(huán)境變量的設(shè)置
在進行UG/OPENAPI應(yīng)用開發(fā)之前,應(yīng)首先進行開發(fā)及運行的環(huán)境設(shè)置,以確保應(yīng)用程序的開發(fā)、調(diào)試及運行過程的正常進行。設(shè)置UG啟動時讀取用戶文件目錄有三種方法。
通過改變UG環(huán)境文件中的設(shè)置,指定UGIII_US-ER_DIR或UGII_SITE_DIR或UGII_VENDOR_DIR的放二次開發(fā)結(jié)果所使用的目錄,并刪除前面的“#”。如:UGII_USER_DIR=D: user。
在customize_dirs. dat文件的末尾增加一條語句D:user。
在操作系統(tǒng)的環(huán)境變量中設(shè)置。如: UGII_USER_DIR=D: user。
2.3編程向?qū)У纳?BR>將D: UGS180UGOPEN中的UgOpen_v18和UgOpe_v18. awx文件復(fù)制目錄到D: MicrosoftVisual StudioMS-Dev98Template下,即可在VC新建工程是找到UG/OPENAppwizardV18向?qū)?方便并簡化了用戶的開發(fā)[3]。
2.4應(yīng)用菜單的建立
我們借助UG/OPENMenuScript可以方面地將自己開發(fā)的應(yīng)用程序引入UG的標準菜單中,實現(xiàn)了快捷、方便地調(diào)用UG/OPEN UIStyler、UG/OPEN API和UG/OPENGRIP應(yīng)用程序。使用UG/OPENMenuScript調(diào)用與應(yīng)用系統(tǒng)對應(yīng)的對話框。
編輯用戶工具菜單定義文件。
用戶工具菜單定義文件是一種文本文件,該文件擴展名為“.men”,它可以設(shè)定用戶下拉式菜單的內(nèi)容條目,并把用戶所制定的應(yīng)用程序與它對應(yīng)。一般該文件必須放在UG180UGALLIANCEsite(或vendor) startup子目錄中,以便在UG啟動自動加載。
設(shè)置用戶目錄存放應(yīng)用程序。
把對話框UIStyler代碼文件(*. dlg)放到子目錄ap-plication下,菜單文件(*.men)和與對話框?qū)?yīng)的UG/OPENAPI(* dll)文件放在指定子目錄starup下。啟動UG后用戶菜單自動加載,用戶通過對相應(yīng)菜單項目的操作調(diào)用應(yīng)用程序[3]。
我們研究開發(fā)的軸瓦模具CAD系統(tǒng)首先在custom-izestartup下建立文件zhouwa.men,其內(nèi)容如下:
//內(nèi)燃機的zhouwa.men
//此程序必須放在startup目錄中,以便啟動UG后
裝入
VERSION 120
EDITUG_GATEWAY_MAIN_MENUBAR
AFTER UG_HELP
CASCADE_BUTTONUISTYLER_DLG_CASCADE_BTN
LABEL二次開發(fā)
END_OF_AFTER
CASCADE_BUTTONUISTYLER_DLG_CASCADE_BTN
BUTTON SEQUENCEPLAN_BTN
LABEL軸瓦設(shè)計…
ACTIONS zhouwa. dlg //調(diào)用用戶軸瓦設(shè)計的主程序
END_OF_MENU
編輯完成后重新啟動UG18. 0便能看到主菜單上新添加的用戶界面,如圖1所示。
2.5對話框的設(shè)計
UG/OPENUIStyler為用戶或第三方開發(fā)者提供一個可視化的對話框生成器,允許用戶制定UG風(fēng)格的對話框,并生成封裝了對話框生成代碼的UG/OPEN UIStyle文件(*. dlg),它為用戶提供了豐富的對話框控件,用戶可以根據(jù)需要使用這些控件構(gòu)建對話框建立一個方便友好的圖形界面[4]。
利用UIStyler,創(chuàng)建對話框及相應(yīng)的回調(diào)函數(shù)原型,其步驟如下:
1)啟動UG18.0,進入UIStyler界面。
2)創(chuàng)建“軸瓦設(shè)計”對話框界面,如圖2所示。
“創(chuàng)建”對應(yīng)的回調(diào)函數(shù)action_creat_tool_cb,“定位”對應(yīng)回調(diào)函數(shù)action_position_tool_cb,保存到customize
application目錄中,文件名設(shè)為zhouwa。此時, customizeapplication目錄中將生成zhouwa. dlg、zhouwa_template. c、zhouwa. h三個文件,其中zhouwa. dlg文件是對話框文件,交給Unigraphics使用。zhouwa_template. c文件是代碼文件,包含了所有回調(diào)函數(shù)定義。zhouwa. h文件是zhouwa_template. c文件的頭文件,包含了控件標識的定義。
2. 6 UG內(nèi)部應(yīng)用程序的編制
UG/OPENAPI在W indows 2000平臺下支持MicrosoftVisualC++6.0進行二次開發(fā),用戶通過在MicrosoftVisu-alC++6.0中設(shè)置相應(yīng)的環(huán)境變量即可使用VC++編寫、編譯、鏈接用戶的應(yīng)用程序。用戶使用UG/OPEN API開
發(fā)的應(yīng)用程序有兩種模式:內(nèi)部模式(Internal模式)和外部模式(External模式),這里模式是指產(chǎn)生的可執(zhí)行代碼的類型,即共享庫(Internal)或獨立的可執(zhí)行代碼(Exter-nal),內(nèi)部模式需要在UG環(huán)境下運行,用戶可以進行交互操作,而外部模式不支持交互式操作,部分函數(shù)不能在外部模式中使用。使用內(nèi)部模式編程,必須使用ufusr函數(shù)(主函數(shù))作為程序運行的入口點,它可以看作是用戶寫的UG子程序或子函數(shù)。執(zhí)行程序時,UG將程序裝入內(nèi)存并搜索ufusr,程序從這里開始執(zhí)行,執(zhí)行完后由一個re-turn語句返回UG。所有UG/OPEN API程序必須正確地開始和終止配置和返回UG/OPEN APILicense,用戶使用兩個函數(shù)UF_initialize()和UF_terminate()來實現(xiàn)這一點。
在定義變量后調(diào)用的第一個UG/OPEN API函數(shù)必須是UF_initialize(),且最后一個調(diào)用函數(shù)也必須是UF_termi-
nate()[1]。
在W indows2000平臺下支持MicrosoftVisualC++6.
進行二次開發(fā)內(nèi)部模式的應(yīng)用程序,開發(fā)過程包括:在VC++6.0集成環(huán)境中編寫源程序、編譯和鏈接并生成DLL
文件、在UG中調(diào)試程序、交付使用等。
1)進入VC++6. 0,創(chuàng)建Projec:t File→New→Project。選UG/OPENW izard創(chuàng)建名為zhouwa的Workspace。
2)配置程序頭文件zhouwa. h及庫文件zhouwa. lib的目錄路徑:在project settings對話框中的link項中輸出路徑設(shè)置為customizeapplicationzhouwa. dll。
3)配置Projec:t project→settings→Debug,“Gategory”欄是Genera,l在“Exeutable for debug session:”欄輸入UGS180UGIIugra.f exe。
4)在Project中添加對話框模板文件zhouwa_template。
5)修改對話框模板文件zhouwa_template. c。
6)編輯和生成zhouwa. dll文件。該文件可被UG/OPENMenuScript的zhouwa.men文件調(diào)用。
2.7系統(tǒng)的運行
進入UG18.0,創(chuàng)建新parts:File→New…→輸入文件名“zhouwa”;進入實體建模CAD模塊: Application→Modeling…。在主菜單中選擇:二次開發(fā)→軸瓦設(shè)計,系統(tǒng)彈出“軸瓦設(shè)計”對話框,如圖3所示。
在彈出的對話框中輸入適當(dāng)?shù)膮?shù),點擊“軸瓦零件”按鈕或“軸瓦模具”按鈕,將進入相應(yīng)的設(shè)計主菜單,選擇相應(yīng)的菜單項,可以在UG主畫面上自動生成零件或模具的三維圖形、各種視圖和相應(yīng)的技術(shù)參數(shù)。
3 結(jié)束語
運用UG開發(fā)工具和軟件工程方法,建立和開發(fā)專用的模具CAD系統(tǒng),界面簡潔直觀、操作方便、具有良好的人機交互性、可擴充性和移植性。該系統(tǒng)的使用不需要用戶掌握UG軟件的專業(yè)知識,適合產(chǎn)品系列化設(shè)計,大大
提高了軸瓦模具的設(shè)計效率,為基于UG的產(chǎn)品CAD/CAE/CAM系統(tǒng)開發(fā)和模具的自動化設(shè)計和制造打下良好的基礎(chǔ)。
參考文獻
1董正衛(wèi)等. UG/OPENAPI編程基礎(chǔ).清華大學(xué)出版社,P1~20
2尹顯東,劉春燕,崔樹禮等. UG的二次開發(fā)及其應(yīng)用技術(shù)研究.機械,2002(29)增刊:32-34
3吳家洲,吳波,楊叔子.UG軟件的二次開發(fā).機床與液壓, 2001(5):89-91
4胡道鐘.微機平臺的UG二次開發(fā)技巧.CAD/CAM計算機輔助設(shè)計與制造,2001(1)13-15
相關(guān)文章
- 2021-08-23精通AutoCAD三維設(shè)計與開發(fā)PDF下載
- 2021-08-22AutoCAD 2013應(yīng)用與開發(fā)系列中文版AutoCAD 2013室內(nèi)裝
- 2021-08-22AutoCAD 2013應(yīng)用與開發(fā)系列中文版AutoCAD 2013機械圖
- 2021-08-19數(shù)字化成圖-最新AutoCAD地形圖測繪高級開發(fā)PDF下載
- 2021-08-03Autodesk RevitStructure2012應(yīng)用寶典 [歐特克軟件(中
- 2021-08-02Autodesk RevitMEP2012應(yīng)用寶典 [歐特克軟件(中國)有限
- 2021-08-02Autodesk Revit2013族達人速成 [歐特克軟件(中國)有限公
- 2021-08-01Visual Basic與AutoCAD二次開發(fā)PDF下載
- 2021-07-31Autodesk Revit2012族達人速成 [歐特克軟件(中國)有限公
- 2021-07-30AutoCAD 在模具設(shè)計中的應(yīng)用 [肖永康,史洪松,張艷華 主