田 明 劉思宇
(長春理工大學(xué) 光電工程學(xué)院,長春130022)
Unigraphics(簡稱UG)這款軟件擁有強(qiáng)大的CAD、CAM 的功能。但是由于在機(jī)械設(shè)計(jì)領(lǐng)域工程師們時(shí)常會(huì)面對(duì)一些重復(fù)的零件加工,而由于機(jī)械零件的千變?nèi)f化,零件的標(biāo)準(zhǔn)化庫就成了減輕工作負(fù)擔(dān),加快研發(fā)速度的必要產(chǎn)品。
UG 恰恰提供給了工程師一個(gè)與軟件系統(tǒng)緊密結(jié)合的語言UG/open_grip.UG/open_grip,它是面向工程師的語言,所以其特點(diǎn)就是簡單,方便,好用。工程師們只要具有初步的編程知識(shí)就可以很好的掌握GRIP語言,把公司的專業(yè)知識(shí)與UG 軟件相結(jié)合,比較容易進(jìn)行二次開發(fā),更好的發(fā)揮Unigraphics 軟件的功能。
光學(xué)零件主要以各種透鏡為主,在光學(xué)儀器結(jié)構(gòu)設(shè)計(jì)時(shí)需要不斷的重復(fù)每個(gè)鏡片的空間位置的擺放,每一片物鏡都要重新建模,這給開發(fā)人員帶來很多重復(fù)性的工作,浪費(fèi)了大量寶貴的時(shí)間,并且是研發(fā)周期很長。因此一個(gè)完善的光學(xué)透鏡的參數(shù)化建模零件庫,可以解決以上種種的在開發(fā)過程中的問題,讓開發(fā)人員更好的,更快的完成研發(fā)工作。
UG GRIP 語言跟所有計(jì)算機(jī)語言一樣,必須經(jīng)過編寫,編譯,連接,才可以被UG 執(zhí)行。
首先在NX TOOLS 中啟動(dòng)UG GRIP 程序,出現(xiàn)如圖1 所示工作區(qū):
圖1 工作界面
圖2 編寫界面
在這個(gè)開發(fā)程序中,我們只要掌握和熟悉前四項(xiàng)功能,就可以完成對(duì)UG 的二次開發(fā)。以凸透鏡為例,首先我們要選定文件建立的位置,輸入指令4,然后輸入文件的位置(如:D:Program FilesUGSssss)。然后輸入指令1,新建文件toujing1.grs,打開如圖2 所示的編寫界面進(jìn)行編寫,編寫程序如下:
ENTITY/SOL,SOL1,ENT,ENT1,ENT2,ENT3,pt1,pt2,pt3
&ENTCLR=&yellow
&WCSDRW=&yes
A1:
PARAM/’ENTER SOLSPH OF NUT’,$
‘物鏡中心厚度=’,h,$
‘圓柱直徑=’,hd,$
‘球面1 直徑=’,r,$
‘球面2 直徑=’,r1,$
‘鏡片間隔=’,z,resp
JUMP/A3:,A3:,resp
l=((r+r1)/2-h(huán))+z
SOL=SOLSPH/ORIGIN,0,0,z,DIAMTR,r
SOL1=SOLSPH/ORIGIN,0,0,l,DIAMTR,r1
ENT=INTERS/SOL,WITH,SOL1
A2:
pt1=POINT/0,1,0
pt2=POINT/1,0,0
pt3=POINT/0,0,1
ENT2=CSYS/pt1,pt2,pt3,ORIGIN,0,0,0
j=r+h+z
ENT1=SOLCYL/ORIGIN,0,0,0,HEIGHT,j,DIAMTR,hd
ENT3=INTERS/ENT,WITH,ENT1
A3:
HALT
在我們完成了編寫之后保存生成的是以.grs 為后綴名的文件,然后輸入2 進(jìn)行編譯,這個(gè)過程主要是對(duì)語句進(jìn)行改錯(cuò),糾正。UG GRIP 非常的人性化,錯(cuò)誤會(huì)很直接的告知開發(fā)人員,使整個(gè)過程變的更簡單,并且更有樂趣。如果編譯沒有錯(cuò)誤的話會(huì)生成一個(gè)以.gri 為后綴名的文件,輸入3 進(jìn)行連接即可。最后生成的文件是以.grx 為后綴名的文件,這個(gè)文件就是最終可以被UG 執(zhí)行的文件。
這樣我們就完成了對(duì)凸透鏡的參數(shù)建模過程,一共設(shè)置了5 個(gè)參數(shù)供使用人員更改。打開UG 界面,執(zhí)行文件toujing1.grx 文件會(huì)出現(xiàn)圖3 所示的參數(shù)鍵入界面。
圖3 參數(shù)界面
在這個(gè)界面中,按照光學(xué)設(shè)計(jì)的要求輸入?yún)?shù)生成一片凸透鏡,如圖4 所示:
圖4 參數(shù)生成的凸透鏡
用戶的菜單定制是人機(jī)交匯的關(guān)鍵,菜單是否合理,鮮明,友好,直接決定了文件調(diào)取的實(shí)用性和快捷性,對(duì)庫文件的保存,整理,提取起到了決定性的作用。菜單制作技術(shù)(user tools definition),簡稱UTD 是一種簡單快捷的菜單制作方法,以下為菜單創(chuàng)建過程。
1)首先創(chuàng)建文件夾D:usersarea,并在此文件夾下分5 個(gè)子文件夾,分別為bitmap,grip,macros,ufun,user_tools.打開系統(tǒng)環(huán)境變量,變量為UGS,變量值設(shè)置為D:usersarea.或直接把文件統(tǒng)一放置在UGS目錄下,如(D:UGSaaaa)
2)以50*50 的圖片尺寸繪制擴(kuò)展程序組圖標(biāo),保存成擴(kuò)展名為BMP 的圖形文件,圖形文件最好與GRIP 文件名相同,方便查找和關(guān)聯(lián)。此圖形作為菜單的一級(jí)菜單,直觀,快捷,友好。
3)用記事本建立擴(kuò)展名為.utd 的文件,內(nèi)容如下:
TITLE 物鏡建模與裝配
VERSION 0
ICONS
LABEL 光學(xué)零件庫
COLUMNS 3
NAME 凸透鏡
BITMAP D:Program FilesUGSaaaa oujing1.bmp
TYPE GRIP
ACTION D:Program FilesUGSaaaa oujing1.grx
NAME 凹透鏡
BITMAP D:Program FilesUGSaaaa oujing4.bmp
TYPE GRIP
ACTION D:Program FilesUGSaaaa oujing4.grx
NAME 正月彎
BITMAP D:Program FilesUGSaaaa oujing2.bmp
TYPE GRIP
ACTION D:Program FilesUGSaaaa oujing2.grx
NAME 反月彎
BITMAP D:Program FilesUGSaaaa oujing3.bmp
TYPE GRIP
ACTION D:Program FilesUGSaaaa oujing3.grx
4)用記事本建立ercikaifa.tbr 文件,擴(kuò)展名為“.tbr”,內(nèi)容如下
TITLE 物鏡建模與裝配
VERSION 120
DOCK TOP
BUTTON 物鏡建模與裝配
LABEL 物鏡建模與裝配
BITMAP D:Program FilesUGSaaaaercikaifa.bmp
ACTION D:Program FilesUGSaaaaercikaifa.utd
5)在目錄”D:UGSUGIImenus”中找到custom_dins.dat 文件,用記事本打開。并在問價(jià)末尾加上D:usersareauser_tools.然后保存
6)啟動(dòng)UG,打開TOOLS 下拉菜單中的CUSTOMIZE 命令,單擊TOOLBARS 頁面左側(cè)的“Load”按鈕,彈出對(duì)話框選擇D:Program FilesUGSaaaaercikaifa.tbr 文件。單擊OK。
運(yùn)行結(jié)果如圖5、圖6 所示:
圖5 一級(jí)菜單
圖6 二級(jí)菜單
以上我們完成了光學(xué)零件庫的開發(fā)及人機(jī)交互的設(shè)計(jì),如圖7 所示是結(jié)構(gòu)設(shè)計(jì)人員基于光學(xué)設(shè)計(jì)人員的光學(xué)設(shè)計(jì)圖紙完成的一組鏡片的裝配圖。全面的體現(xiàn)出整個(gè)庫的實(shí)用性和便捷性。
圖7 裝配圖
通過UG GRIP 語言對(duì)UG 進(jìn)行二次開發(fā),目的在于減輕研發(fā)人員的重復(fù)工作,及工作強(qiáng)度,并且縮短研發(fā)周期。文章對(duì)常用的四種透鏡進(jìn)行參數(shù)化建庫,完成了友好的人機(jī)交互處理,使得使用人員更方便快捷,直接生成,直接裝配即可。
[1] 王慶林.UG/Open GRIP 實(shí)用編程基礎(chǔ)[M].北京:清華大學(xué)出版社,2002:130-134.
[2] J.K.Astrom and B.Wittenmark.Computer Controlled Sustems[M].Prentice_Hall,1984.
[3] 張幼軍.UG CAD/CAM 基礎(chǔ)教程[M].北京:清華大學(xué)出版社,2006.
[4] 曾向陽.UG NX 高級(jí)開發(fā)實(shí)例[M].北京:電子工業(yè)出版社,2004.
[5] 李玉勝,孫殿柱,劉信奎.UG 軟件的二次開發(fā)研究與應(yīng)用[J].淄博學(xué)院學(xué)報(bào),2002(6):63-67.
[6] 吳家洲,吳波,楊叔子.UG 軟件的二次開發(fā)[J].機(jī)床與液壓,2001(5):89-91.