文/魯海斌 劉曉紅
眾所周知Unigraphics軟件于上個世紀誕生于美國,早期的UG軟件主要被應用于飛機公司的設計生產方面,為了設計出性能更好的F15戰斗機,最終開發出了UG軟件這類產品。UG軟件被廣泛應用于CAD和CAM之上,但早期的UG軟件為了滿足其系統使用上的通用性,使得UG軟件僅擁有CAD和CAM的一些最基本的功能,這個時期無法結合計算機對機械產品進行輔助設計和制造。隨著當代工業的高速發展,對于機械產品的需求也趨向多樣化,這就需要結合實際的設計需要,再通過對采用的CAD軟件進行適當的二次開發,這樣就可以開發出更全面、準確性高的CAD和CAM系統。隨著當代計算機技術的發展,也推進了我國UG系統的二次開發的進程,本文主要就UG軟件的二次開發過程中的各類開發工具,例如:UG/Open Menu Script、User Tools和UG/Open UIStyler以及UG/Open Grip、UG/Open API和UG/Open++編程語言的基本情況,對UG/Open API高級用戶接口語言的應用規程和實現方法,希望為CAD和CAM軟件的開發設計做好準備。
通常而言,大多數的產品設計人員,對產品模型的構建都需要經歷打開軟件,并進行草圖繪制以及完整構建模型等環節。在對模型草圖的繪制過程中,不僅需要對各個尺寸進行繁復的標注,還需要對模型的特征進行構建,這些都使得設計人員的工作量極大;因此,為了減少設計人員的工作量,有效的提高設計人員的工作效率,以及方便對設計繪圖的后期修改等,都需要對UG軟件進行二次開發,以滿足公司和用戶的不同需求。如圖1所示。

圖1:UIStyler操作界面
首先,較為常見的圖形交互設計是指,在當前已經擁有的參數化的CAD系統中,結合實際需求對UG軟件進行二次開發設計,還可以采用交互操作的方式來實現產品參數化的模型構建,從而很好的滿足設計人員的工作需求;Internal UG/Open API的一般形式如圖2所示。
Interna lUG/Open API使用ufusr函數(主函數)作為程序運行的開始入口點,執行程序時,UG將程序裝入內存并搜索ufusr,從這里程序的到入口地址并開始執行,執行完后由一個return語句返回UG。
Externa lUG/Open API的一般形式如圖3所示。
輸入main主函數的參數(arguments)是標準的C參數:argc—參數的個數,argv—指向字符串的指針。由于UG/Open API為允許程序進行訪問并影響UG的目標模型(UGO bject Model)的程序集,并提供給UG軟件能夠兼容的編譯和聯接程序。而且UG還滿足C或C++語言以及頭文件(header fi les)等進行編譯,在開發運行UG/Open API程序的過程中,需要擁有UG或Open開發許可證和執行許可證等。此外UG軟件的二次開發語言主要是UG/Open GRIP,UG/Open API等,這類開發語言學習較為簡單,方便設計人員進行學習使用;此外,UG/Open API工具還能夠為UG提供直接編程接口,可以進行更多功能的編譯,有利于用戶對CAD系統進行開發和使用。
總而言之,當前對于UG軟件的二次開發而言,大多數采用的是UG/Open GRIP模塊對曲面進行造型的功能,很好的滿足了設計人員對零件產品的實體造型和虛擬裝配的要求。通過采用UG/Open Menu Script和UG/Open Uistyler等常用便利的模塊輔助工具,給設計人員在對產品的設計帶來較大的便利,不僅很好的運用了UG的開發模塊,增加了系統的輔助功能,從而有效的提高了開發的效率和進度。

圖2

圖3