文/魯海斌 劉曉紅
眾所周知Unigraphics軟件于上個世紀誕生于美國,早期的UG軟件主要被應(yīng)用于飛機公司的設(shè)計生產(chǎn)方面,為了設(shè)計出性能更好的F15戰(zhàn)斗機,最終開發(fā)出了UG軟件這類產(chǎn)品。UG軟件被廣泛應(yīng)用于CAD和CAM之上,但早期的UG軟件為了滿足其系統(tǒng)使用上的通用性,使得UG軟件僅擁有CAD和CAM的一些最基本的功能,這個時期無法結(jié)合計算機對機械產(chǎn)品進行輔助設(shè)計和制造。隨著當代工業(yè)的高速發(fā)展,對于機械產(chǎn)品的需求也趨向多樣化,這就需要結(jié)合實際的設(shè)計需要,再通過對采用的CAD軟件進行適當?shù)亩伍_發(fā),這樣就可以開發(fā)出更全面、準確性高的CAD和CAM系統(tǒng)。隨著當代計算機技術(shù)的發(fā)展,也推進了我國UG系統(tǒng)的二次開發(fā)的進程,本文主要就UG軟件的二次開發(fā)過程中的各類開發(fā)工具,例如:UG/Open Menu Script、User Tools和UG/Open UIStyler以及UG/Open Grip、UG/Open API和UG/Open++編程語言的基本情況,對UG/Open API高級用戶接口語言的應(yīng)用規(guī)程和實現(xiàn)方法,希望為CAD和CAM軟件的開發(fā)設(shè)計做好準備。
通常而言,大多數(shù)的產(chǎn)品設(shè)計人員,對產(chǎn)品模型的構(gòu)建都需要經(jīng)歷打開軟件,并進行草圖繪制以及完整構(gòu)建模型等環(huán)節(jié)。在對模型草圖的繪制過程中,不僅需要對各個尺寸進行繁復(fù)的標注,還需要對模型的特征進行構(gòu)建,這些都使得設(shè)計人員的工作量極大;因此,為了減少設(shè)計人員的工作量,有效的提高設(shè)計人員的工作效率,以及方便對設(shè)計繪圖的后期修改等,都需要對UG軟件進行二次開發(fā),以滿足公司和用戶的不同需求。如圖1所示。
圖1:UIStyler操作界面
首先,較為常見的圖形交互設(shè)計是指,在當前已經(jīng)擁有的參數(shù)化的CAD系統(tǒng)中,結(jié)合實際需求對UG軟件進行二次開發(fā)設(shè)計,還可以采用交互操作的方式來實現(xiàn)產(chǎn)品參數(shù)化的模型構(gòu)建,從而很好的滿足設(shè)計人員的工作需求;Internal UG/Open API的一般形式如圖2所示。
Interna lUG/Open API使用ufusr函數(shù)(主函數(shù))作為程序運行的開始入口點,執(zhí)行程序時,UG將程序裝入內(nèi)存并搜索ufusr,從這里程序的到入口地址并開始執(zhí)行,執(zhí)行完后由一個return語句返回UG。
Externa lUG/Open API的一般形式如圖3所示。
輸入main主函數(shù)的參數(shù)(arguments)是標準的C參數(shù):argc—參數(shù)的個數(shù),argv—指向字符串的指針。由于UG/Open API為允許程序進行訪問并影響UG的目標模型(UGO bject Model)的程序集,并提供給UG軟件能夠兼容的編譯和聯(lián)接程序。而且UG還滿足C或C++語言以及頭文件(header fi les)等進行編譯,在開發(fā)運行UG/Open API程序的過程中,需要擁有UG或Open開發(fā)許可證和執(zhí)行許可證等。此外UG軟件的二次開發(fā)語言主要是UG/Open GRIP,UG/Open API等,這類開發(fā)語言學(xué)習(xí)較為簡單,方便設(shè)計人員進行學(xué)習(xí)使用;此外,UG/Open API工具還能夠為UG提供直接編程接口,可以進行更多功能的編譯,有利于用戶對CAD系統(tǒng)進行開發(fā)和使用。
總而言之,當前對于UG軟件的二次開發(fā)而言,大多數(shù)采用的是UG/Open GRIP模塊對曲面進行造型的功能,很好的滿足了設(shè)計人員對零件產(chǎn)品的實體造型和虛擬裝配的要求。通過采用UG/Open Menu Script和UG/Open Uistyler等常用便利的模塊輔助工具,給設(shè)計人員在對產(chǎn)品的設(shè)計帶來較大的便利,不僅很好的運用了UG的開發(fā)模塊,增加了系統(tǒng)的輔助功能,從而有效的提高了開發(fā)的效率和進度。
圖2
圖3