我想看一级黄色大片_久久亚洲国产精品一区二区_久久精品免视看国产明星_91久久青青青国产免费

您的位置:網站首頁 > UG教程下載

UG二次開發的過程與方法

時間:2010-11-15 10:01:36 來源:

  1 前言

  美國UGS公司的Unigraphics(UG)軟件是一套優秀的以機械產品為主的CAD/CAE/CAM一體化軟件,應用范圍非常廣泛,在引入國內不到十年的時間內,就擁有了幾百家用戶,其發展勢頭非常強勁。Unigraphics在提供了強大功能的同時,還具有Grade和User Function二種二次開發工具,Grade是一種類似于FORTRAN語言的開發工具,User Function是一種C或FORTRAN語言開發工具。用戶在購買了Unigraphics軟件后,針對自身產品的特點進行一些二次開發是必不可少的,對提高產品的設計效率,縮短產品設計周期,使設計符合國家標準等,具有重大意義。通常,用戶需要針對自身產品建立必需的標準件參數化圖庫,建立行業標準件和通用件圖庫,針對產品特點做專門開發等,以提高設計效率和設計質量。

  用戶二次開發的結果,最終要供他人使用,因此良好的交互界面是非常重要的。UG提供的User Tool工具可使用戶的開發結果與UG的集成交互界面有機地結合起來,形成一個風格一致的統一界面,方便了用戶的使用和操作。

  根據我們在UG上進行二次開發的經驗,本文將系統介紹User Tool的使用過程和方法,詳細介紹User Tool各種用戶界面的定義格式,使擁有UG的用戶在較短的時間內就能設計出比較好的用戶界面。我所用的硬件平臺為SGI Indigo2和SGI Indy,其操作系統為IRIX 5.3。

  2 在UG中調用二次開發程序

  用戶二次開發的結果,在UG中統稱為User Tool。Grade程序(.grx文件)可通過主菜單項File的菜單項Execute→Grip來直接執行,User Function程序可通過主菜單項File的菜單項Execute→User Function來直接執行。這種方法功能比較簡單,一次只能執行一個GRIP或User Function程序,不能將由多個GRIP或User Function程序完成的一組功能集中到一塊,而且用戶必須確切知道要執行的GRIP或User Function程序所在的目錄路徑。實際上,UG提供了一個專門調用User Tool的交互接口,即在UG的主菜單中有一菜單項User Tools,用來調用二次開發的User Tool對話框。缺省的User Tools菜單有如下三個菜單項: Show CurrentHide Current Reload Default Show Current菜單項用于調用由環境變量UG_USER_TOOLS_FILE或菜單定義文件中的 DEFAULT選項指定的User Tool(對話框或工具條,.utd文件)。 Hide Current菜單項用于隱藏當前已經顯示的User Tool。 Reload Default菜單項用于重新調用由環境變量UGII_USER_TOOLS_FILE或菜單定義文件中的DEFAULT選項指定的User Tool。 有了這一工具,用戶可將由多個Grip或User Function程序構成的內容集成到一個U ser Tool對話框或工具條中,每一個程序由對話框或工具條中的一個圖標(或一個按鈕或一個任選項)來調用,使用起來就非常方便。 若用戶開發的User Tool只是一個方面的內容(如"標準件"),用一個User Tool對話框或工具條即可實現,這時利用User Tools菜單的Show Current或Reload Default菜單項來調用就非常方便。 若用戶開發的User Tool內容比較多,需要多個User Tool對話框或工具條來實現(如開發了"標準件"、"通用傳動件"、"專用結構設計工具"三部分內容,用三個User Tool對話框或工具條來實現),這時可以重新定義User Tools菜單的內容。

  3 User Tools下拉菜單的定義

  User Tools菜單定義文件為.utd的文本文件,該文件的定義格式為: ! usrmenu.utd1997.7 DEFAULT/usr/people/zxy/usrtools/sta_part.utd LABEL Standard Parts USRT sta_part.utd LABEL Drive Parts USRT drv_part.utd 以符號"!"開頭的是注解行,在菜單定義文件中不起作用。 DEFAULT關鍵詞后面指定的參數是缺省的菜單定義文件名,也可通過環境參數UG_USE R_TOOLS_FILE來指定。進入UG后,用戶可通過User Tools菜單中的Show Current或Relo ad Default菜單項來調用缺省的菜單定義文件。 后面以每兩行定義一項菜單。LABEL關鍵詞后面指定的參數是菜單項標題,該標題內容就顯示在User Tools菜單中。 USRT關鍵詞后面指定的參數是對應菜單項定義的文件標識符,該文件即是所謂的Us er Tool定義文件,用來對該項菜單要執行的動作進行定義。可以使用完整的文件名標識符,沒指定路徑時將使用環境變量UG_DEFAULT_USRT_DIR指定的目錄路徑。

  4 User Tool對話框的定義

  User Tool對話框定義文件是一個.utd的文本文件,由對話框標題(Title)、按鈕(B utton)、圖標(Icon)、列表框(List Box)等內容組成。標題部分由關鍵詞TITLE開頭,按鈕部分由關鍵詞BUTTONS開頭,圖標部分由關鍵詞ICONS開頭,列表框部分由關鍵詞LIST 開頭。標題部分是唯一的;按鈕、圖標、列表框部分可以有多段定義,每一段定義若干個按鈕(或圖標、或列表框),各段的排列順序可任意,取決于設計者對各按鈕、圖標和對話框的排列外觀。對話框的最后部分將自動出現OK、Apply、Cancel三個按鈕和Auto Dismiss開關鈕,以便對選定的內容(按鈕、圖標或列表框條目)進行確認或取消當前的操作。

  4.1 標題部分的定義

  標題部分定義的格式如下: TITLE name定義將顯示在User Tool對話框標題行的文字,name可有可無VERSION 1 定義版本號 OPTION DISMISS ON|OFF定義Auto Dismiss狀態,缺省為OFF。若為ON,則選擇一項 (按鈕、圖標或列表框條目)后,就取消User Tool 其中大寫部分為關鍵詞,不能改變;其余部分可自行定義。以下類同。

  4.2 按鈕部分的定義

  按鈕部分定義的格式如下: BUTTONS 按鈕部分定義開始 LABEL name按 鈕部分標題行。name為字符串,最多127個字符。可省略 COLUMNS number 指定每一行排列按鈕的個數以下每三行定義一個按鈕 NAME name 按鈕上顯示的內容,name為字符串 TYPE fileType 指定激活按鈕時所完成動作的類型 ACTION pathname 指定激活按鈕時所調用的程序的路徑和文件名激活按鈕時所完成動作的類型有如下幾種,分別由fileType定義: MACRO 調用一宏定義文件(.micro文件) UFUN調用一User Function程序 GRIP調用一GRIP程序(.grx文件) USRT調用一User Tool定義文件(.utd文件) 按鈕的大小將由各按鈕定義中name字符串的最大長度、每行排列按鈕的個數以及對話框的總體寬度來決定。

  4.3 圖標部分的定義

  圖標部分定義的格式如下: ICONS圖標部分定義開始 LABEL name圖標部分標題行。name為字符串,最多127個字符。可省略 COLUMNS number指定每一行排列圖標的個數以下每四行定義一個圖標 NAME name當光標位于圖標上時顯示的文字,用于對圖標的功能進行注解 BITMAP pathname指定圖標所使用的圖象文件的路徑和文件名 TYPE fileType指定激活圖標時所完成動作的類型,與按鈕部分所用的類型一致 ACTION pathname指定激活圖標時所執行的程序的路徑和文件名 圖標顯示時所用的圖象文件,可使用標準的X位圖格式圖象編輯程序來定義,如IRI X操作系統中即使用bitmap程序。定義圖標位圖時,應使用白色背景和黑色前景,不支持彩色。一般情況下,推薦使用36(36象素的位圖塊來定義圖標,更小或更大尺寸的圖標將影響整個UG操作界面的一致性。

  4.4 列表框部分的定義

  列表框部分定義的格式如下: LIST列表框部分定義開始 LABEL name列表框部分標題行。name為字符串,最多127個字符。可省略 SIZE number 指定列表框窗口的高度(行數或條目項數),數字非法時缺省為7以下每三行 定義一個列表框條目 NAME name指定顯示在列表框中的條目文字 TYPE fileType指定選中該條目時所完成動作的類型,與按鈕部分所用的類型一致 ACTION pathname指定選中該條目時所執行的程序的路徑和文件名

  4.5 User Tool對話框定義實例

  以下是一個User Tool對話框定義實例,用于定義一組標準件圖庫。 TITLE Hexagonal Head Bolts標題部分定義開始 VERSION 1 OPTION TOOLBAR這是一個User Tool工具條 OPTION DISMISS OFF ICONS圖標部分的第一段定義 COLUMNS 4每行排列四個圖標 NAME Hex Head Locking (GB838-88)第一段第一個圖標的功能定義,圖標名BITMAP gb8 38.ubm該圖標對應的位圖文件名,其缺省路徑由環境變量來設置 TYPE GRIP激活該圖標時,將調用一GRIP程序 ACTION sta_part/screw/gb838.grx 激活該圖標時要調用的GRIP程序的路徑和文件名NAME Knurled Locking (GB839-88) 第一段第二個圖標的功能定義 BITMAP gb839.ubm TYPE GRIP ACTION sta_part/screw/gb839.grx …… ICONS圖標部分的第二段定義 COLUMNS 4 NAME Round-head Cross Tapping (GB845-85) 第二段第一個圖標的功能定義 BITMAP gb845.ubm TYPE GRIP ACTION sta_part/screw/gb845.grx NAME Countersunk-head Cross Tapping (GB846-85) BITMAP gb846.ubm TYPE GRIP ACTION sta_part/screw/gb846.grx …… BUTTONS按鈕部分定義開始 LABEL Basic Options按鈕部分標題 COLUMNS 4每行排列四個按鈕 NAME Back第一個按鈕功能定義,按鈕顯示文字內容 TYPE USRT激活按鈕,將調用一User Tool定義文件 ACTION sta_part.utd 激活按鈕時要調用的User Tool文件的路徑和文件名 …… 該實例文件實現的User Tool工具條

  5 User Tool工具條的定義 ,

  User Tool工具條是一種特殊的User Tool,其格式與User Tool對話框基本一致。U ser Tool工具條中可出現按鈕和圖標,但一般不包含對話框,因此其尺寸通常比較小,占有較小的屏幕空間。User Tool工具條的標題部分與對話框的標題部分有所區別,其格式如下: TITLE name VERSION 1 OPTION TOOLBAR該行表示這是一個User Tool工具條,以便與User Tool對話框相區別 OPTION DISSMIS ON|OFF 其它部分定義的格式與User Tool對話框的定義一致。

  6 工作環境參數設置

  二次開發的內容主要是做一些共用性的工作,開發的結果將以相應的可執行文件、數據文件等存放于硬盤的某個目錄或多個目錄下。這些結果必須為具有指定訪問權限的各個用戶所共用,即在調用相應的程序模塊時,系統應能查找到相應的文件。利用User Tool開發UG應用模塊時,必須設置幾個有關的環境變量,用來指定程序執行時的有關路徑。這些環境變量是: UG_USER_TOOLS_FILE指定缺省的User Tool定義文件(.utd文件) UG_USER_TOOLS_MENU指定User Tools下拉菜單的菜單定義文件(.utd文件) UG_USER_TOOLS_BITMAP_PATH指定圖標位圖文件的路徑(.ubm文件) UG_DEFAULT_USRT_DIR指定User Tool文件(.utd文件)的缺省目錄 UG_INITIAL_GRIP_DIR指定User Tool所用GRIP可執行程序(.grx文件)的缺省目錄 UG_INITIAL_UFUN_DIR指定User Tool所用User Function可執行程序的缺省目錄 UG_INITIAL_MACRO_DIR 指定User Tool所用宏文件(.micro文件)的缺省目錄 工作環境參數的設置,可用兩種方法來實現。一種方法是利用操作系統的setenv命令,對各個環境參數進行設置。另一種方法是將以上環境參數增加在操作系統的用戶注冊文件.login 的后面,其格式為: setenv UG_USER_TOOLS_MENU /usr/people/zxy/usrtools/usermenu.utd setenv UG_USER_TOOLS_FILE /usr/people/zxy/usrtools/stadpart.utd setenv UG_USER_TOOLS_BITMAP_PATH /usr/people/zxy/usrtools/bitmap/ setenv UG_DEFAULT_USRT_DIR /usr/people/zxy/usrtools/ setenv UG_INITIAL_GRIP_DIR /usr/people/zxy/usrtools/ 工作環境參數的設置,應由系統管理員完成。一旦設置好后,具有指定訪問權限的用戶就可以調用這些二次開發的User Tool模塊了。