王一成,張樹仁
(長春理工大學 機電工程學院,長春 130022)
UG二次開發中數據庫的建立方法
王一成,張樹仁
(長春理工大學 機電工程學院,長春 130022)
目前組合夾具主要采用傳統的實物試裝模式,為了提高組合夾具設計和裝配的效率和質量,從實用性和易用性的角度出發,文章以UG為平臺,在UG中添加自定義菜單,建立UG風格的對話框。用UG提供的二次開發工具包UG/Open和VC++的MFC AppWizard建立工程,設置UG/Open API編程的VC工程環境,在VC++中編寫DLL格式的連接程序,建立UG與VC之間的連接,創建數據庫。
UG二次開發;VC工程環境;自定義菜單;數據庫
很多企業單位在引入CAD/CAE/CAM軟件以后,會發現通用的CAD/CAE/CAM軟件的功能雖然可以解決大部分的實際需求,在一定的程度上提高了產品的設計、制造以及管理的效率,但在很多專業的、更為具體的問題上,由于沒有充分挖掘軟件平臺的潛力,以至于軟件應用水平不高,單靠操作CAD/CAE/CAM軟件很難實現復雜的功能,這就需要對軟件進行進一步的開發。UG是集成化CAD/CAE/CAM軟件,廣泛用于航空、航天、汽車、通用機械及模具等領域。它提供了參數化、特征化的概念設計和可獨立運行的面向對象的集成管理數據庫系統,使CAD/CAE/CAM各部分的數據能夠進行自由切換,具有良好的二次開發接口和工具。此外,UG軟件還具有良好的開放性,為用戶和開發商提供了良好的二次開發環境,用戶可以通過對UG軟件進行開發,設計出自己需要的專用模塊,滿足設計的特殊要求。
UG二次開發工具包括UG/Open MenuScript界面菜單編輯語言、UG/Open UIStyler用戶界面制作工具、UG/Open GRIP是UG提供的專用的用戶圖形交互語言和UG/Open API C編程接口。在設計過程中將上述四種方法有效地結合起來,會達到很好的二次開發效果。
Visual C++是微軟公司推出的開發Win32應用程序(Windows95/98/2000/XP)的、面向對象的可視化集成工具。它最大優點就在于提供了功能強大的MFC類庫,MFC是一個很大的C一類層次結構,它里面封裝了大量的類和函數,很多Windows程序所共有的標準內容都可以由MFC的類來提供,MFC類為這些內容提供了用戶接口標準實現的方法,技術人員所要做的就是通過預定義的接口把具體應用程序特有的東西填入到這個輪廓中,這將簡化編程工作,大大的減少程序員編寫的代碼數量,使編程工作變得更加輕松和容易。此外,VC一還具有很多優點,比如最快的集成數控庫訪問,允許用戶建立強有力的數據庫應用程序,具有強有力的網絡支持功能等。
利用VC對UG進行二次開發的基本流程圖如圖1所示:
下面以一個基本的支撐塊元件平面支釘為例,說明利用VC對UG進行二次開發的基本過程。

圖1 系統流程圖
(1)在UG中建立該支撐塊的三維模型,名稱為zhiding,設置為只讀屬性,防止對圖形模版的修改,存放在D:pingmianzhidingpart目錄下。模型如圖2所示。
平面支釘的幾個主要參數:
平面支釘帽的內切圓直徑D
平面支釘帽的厚度H
平面支釘螺紋外徑M
平面支釘螺紋長度L
在UG4.0中,螺紋是可以自動生成的,但是在建立數據庫時必須注意螺紋中參數的調用。螺紋的要素有:牙型、大徑、旋向、線數、螺距和導程。根據螺紋的牙型尺寸分析,在三維設計環境下,螺紋的詳細顯示取決于實體建模的結構尺寸,與通常建模過程不同的是螺紋詳細牙型的生成是系統按照給定的公式自動完成的,因此公式的合理性是詳細螺紋顯示的前提,而且,公式的邏輯及建模設計必須滿足系統的識別和運行條件。
普通螺紋的基本牙型中的參數,內螺紋大徑;外螺紋大徑;內螺紋中徑;外螺紋中徑;內螺紋的小徑;外螺紋的小徑;螺紋螺距;原始三角形高度。以外螺紋為例,必須要定義螺紋的小徑,公式如下:
螺紋小徑=M-5×sqrt(3)/8×P 式中P為螺距。
說明:在本例中,默認螺紋的螺距為1.75。

圖2 模型圖
(2)在自定義的目錄下創建startup和application兩個文件夾。
(3)在“我的電腦”上單擊鼠標右鍵,在彈出的菜單上選擇【屬性】命令,在彈出的對話框中切換到“高級”選項卡,在該選項卡中單擊【環境變量】按鈕,注冊環境變量,其中的變量名為UGII_USER_DIR,變量值為自定義目錄。如圖3所示。

圖3 用戶變量對話框
(4)在startup文件夾下建立菜單文件。在UG中創建一個用戶菜單,需要按照UG編程語言規則對菜單欄進行編寫,新建一個記事本文件,并命名為 pingmianzhiding.txt,將以下的程序輸入到記事本種保存,并將文件后綴名改為“.men”,將該文件保存到startup中。
VERSION 170
//菜單腳本文件的版本信息//
EDIT UG_GATEWAY_MAIN_MENUBAR
//編輯UG系統菜單文件//
BEFORE UG_HELP
//定義的內容將位于“幫助”菜單之前//
CASCADE_BUTTONzhiding
//定義CASCADE按鈕,點擊這種按鈕將彈出下拉菜單//
LABEL其它件
//CASCADE按鈕的標題//
END_OF_BEFORE
//結束BEFORE定義,與BEFORE UG_HELP相對應//
MENUzhiding
BUTTON zhiding_1
LABEL支撐塊
ACTIONSzhiding_dialog.dlg
END_OF_MENU
//結束菜單的定義//
(5)啟動UG,制作UG/Open UIStyler風格的自定義對話框,并在表達式中定義需要實現參數化的幾個參數。創建對話框的主要目的是使用戶與計算機能夠實現交互,在參數輸入后能夠得到令用戶滿意的三維實體模型。對話框如圖4所示。
(6)編寫開發程序工程設置。啟動VC++,在文件菜單中點擊“New”按鈕,在彈出的對話框中選擇Project name,在工程名稱欄中輸入“zhiding”,在位置欄中輸入“D:pingmianzhidingzhiding”。
單擊確定按鈕后選擇菜單命令Project->Setting,確保左上角 Setting For下拉列表框的值設為 Win32 Debug。然后選擇Link選項卡,在Output file name中輸入DLL文件的輸出路徑和文件名,每次編譯后,系統會自動將生成的DLL文件放置于指定路徑中。在Object/library modules文本框中輸入UG庫文件libufun.lib和libugopenint.lib。需要注意的是必須將DLL文件輸出到Startup文件夾中。然后選擇 Debug選項卡,在Execuable for debug session文本框中輸入目標硬盤上UG可執行文件ugraf.exe的全路徑。如圖5所示。

圖4 用戶對話框

圖5 VC界面工程設置對話框
配置路徑選項。在Tools的Options中選擇Directoris選項卡,在Options對話框中分別為庫文件(Library files)和包含文件(Include files)中設置查找目錄,添加UG根目錄UGOPEN文件夾的路徑“[UGII_BASE_DIR]UGOPEN”。
工程創建完成后,需要手動對其進行設置。將對話框文件zhiding_dialog_template.c改為zhiding_dialog_template.cpp,然后把zhiding_dialog_template.cpp和 zhiding_dialog.h兩個文件移動至zhiding目錄下。從工程的工作空間中刪除zhiding.cpp和zhiding.h,引入zhiding_dialog.h和zhiding_dialog_template.cpp至工程的工作空間。
(7)打開UG,選擇菜單,在彈出的對話框中,輸入參數對模型進行參數化建模。下圖為輸入不同的參數產生的效果圖,如圖6所示。

圖6 參數模型
本文探討了在三維繪圖軟件UG進行二次開發實現建立數據庫的方法。設計實例表明,采用VC++編程語言和UG/Open API相結合的方法在UG中添加數據庫,能滿足用戶二次開發CAD系統的需要,對于開發方便、高效、功能強大的三維CAD系統是一種有效嘗試,為企業數據信息集成及管理打下良好的基礎,利用了關系數據庫強大功能,訪問靈活的特點,可以大大縮短集成系統的開發,同時也使得UG軟件本身具有更廣泛的應用前景。
[1] 黃勇,張博林,薛運鋒.UG二次開發與數據庫應用技術與典型范例[M].電子工業出版社,2008.
[2] 張俊華,姜好德.UG二次開發技術在企業標準件數據庫建立中的應用[J].煙臺大學學報(自然科學與工程版),2004,17(2):146-151.
[3] 趙韓,朱可,張炳力,張冰戰.基于UG的螺紋連接件參數化設計研究[J].合肥工業大學學報(自然科學版),2006,29(8):929-932.
[4] 劉玉堂,王耕耘,李志剛.面向裝配設計的標準件庫的研究與開發[J].液壓裝備與制造技術,2003(6):70-72.
[5] 饒金通,董槐林,姜青山.基于特征的參數化高效建模技術[J].廈門大學學報(自然科學版),2006,45(2):191-195.
[6] 黃劍波.三維組合夾具數據庫設計及裝配技術研究[J].電子機械工程,2009,25(4):41-44.
Method of Establishing Database in UG Secondary Development
WANG Yi-cheng,ZHANG Shu-ren
(School of Mechatronical Engineering,Changchun University of Science and Technology,Changchun 130022,China)
At present,modular fixture uses traditional assembly mode.In order to improve the efficiency and quality of the design and assemble of modular fixture,the article,based on UG platform,adds self-defined menus and establishes dialog box with UG-style from the perspectives of practicality and availability.It establishes the project by using MFC AppWizard of secondary development kit UG/Open and VC++provided by UG,sets VC engineering environment with UG/Open API programming,compiles joining program with DLL format to establish a connection between UG and VC,as well as the database.
UG secondary development;VC engineering environment;self-defined menu;database
TP392
A
1009-3907(2011)12-0001-04
2011-10-26
王一成(1985-),男,河南濟源人,助理工程師,碩士研究生,主要從事網絡制造與信息制造方面研究。張樹仁(1950-),男,吉林農安人,教授,博士生導師,主要從事網絡制造與信息制造方面研究。
責任編輯:吳旭云