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

您的位置:網(wǎng)站首頁(yè) > UG教程下載

UG二次開發(fā)的過(guò)程與方法

時(shí)間:2010-11-15 10:01:36 來(lái)源:

  1 前言

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

  用戶二次開發(fā)的結(jié)果,最終要供他人使用,因此良好的交互界面是非常重要的。UG提供的User Tool工具可使用戶的開發(fā)結(jié)果與UG的集成交互界面有機(jī)地結(jié)合起來(lái),形成一個(gè)風(fēng)格一致的統(tǒng)一界面,方便了用戶的使用和操作。

  根據(jù)我們?cè)赨G上進(jìn)行二次開發(fā)的經(jīng)驗(yàn),本文將系統(tǒng)介紹User Tool的使用過(guò)程和方法,詳細(xì)介紹User Tool各種用戶界面的定義格式,使擁有UG的用戶在較短的時(shí)間內(nèi)就能設(shè)計(jì)出比較好的用戶界面。我所用的硬件平臺(tái)為SGI Indigo2和SGI Indy,其操作系統(tǒng)為IRIX 5.3。

  2 在UG中調(diào)用二次開發(fā)程序

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

  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 以符號(hào)"!"開頭的是注解行,在菜單定義文件中不起作用。 DEFAULT關(guān)鍵詞后面指定的參數(shù)是缺省的菜單定義文件名,也可通過(guò)環(huán)境參數(shù)UG_USE R_TOOLS_FILE來(lái)指定。進(jìn)入U(xiǎn)G后,用戶可通過(guò)User Tools菜單中的Show Current或Relo ad Default菜單項(xiàng)來(lái)調(diào)用缺省的菜單定義文件。 后面以每?jī)尚卸x一項(xiàng)菜單。LABEL關(guān)鍵詞后面指定的參數(shù)是菜單項(xiàng)標(biāo)題,該標(biāo)題內(nèi)容就顯示在User Tools菜單中。 USRT關(guān)鍵詞后面指定的參數(shù)是對(duì)應(yīng)菜單項(xiàng)定義的文件標(biāo)識(shí)符,該文件即是所謂的Us er Tool定義文件,用來(lái)對(duì)該項(xiàng)菜單要執(zhí)行的動(dòng)作進(jìn)行定義。可以使用完整的文件名標(biāo)識(shí)符,沒(méi)指定路徑時(shí)將使用環(huán)境變量UG_DEFAULT_USRT_DIR指定的目錄路徑。

  4 User Tool對(duì)話框的定義

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

  4.1 標(biāo)題部分的定義

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

  4.2 按鈕部分的定義

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

  4.3 圖標(biāo)部分的定義

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

  4.4 列表框部分的定義

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

  4.5 User Tool對(duì)話框定義實(shí)例

  以下是一個(gè)User Tool對(duì)話框定義實(shí)例,用于定義一組標(biāo)準(zhǔn)件圖庫(kù)。 TITLE Hexagonal Head Bolts標(biāo)題部分定義開始 VERSION 1 OPTION TOOLBAR這是一個(gè)User Tool工具條 OPTION DISMISS OFF ICONS圖標(biāo)部分的第一段定義 COLUMNS 4每行排列四個(gè)圖標(biāo) NAME Hex Head Locking (GB838-88)第一段第一個(gè)圖標(biāo)的功能定義,圖標(biāo)名BITMAP gb8 38.ubm該圖標(biāo)對(duì)應(yīng)的位圖文件名,其缺省路徑由環(huán)境變量來(lái)設(shè)置 TYPE GRIP激活該圖標(biāo)時(shí),將調(diào)用一GRIP程序 ACTION sta_part/screw/gb838.grx 激活該圖標(biāo)時(shí)要調(diào)用的GRIP程序的路徑和文件名NAME Knurled Locking (GB839-88) 第一段第二個(gè)圖標(biāo)的功能定義 BITMAP gb839.ubm TYPE GRIP ACTION sta_part/screw/gb839.grx …… ICONS圖標(biāo)部分的第二段定義 COLUMNS 4 NAME Round-head Cross Tapping (GB845-85) 第二段第一個(gè)圖標(biāo)的功能定義 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按鈕部分標(biāo)題 COLUMNS 4每行排列四個(gè)按鈕 NAME Back第一個(gè)按鈕功能定義,按鈕顯示文字內(nèi)容 TYPE USRT激活按鈕,將調(diào)用一User Tool定義文件 ACTION sta_part.utd 激活按鈕時(shí)要調(diào)用的User Tool文件的路徑和文件名 …… 該實(shí)例文件實(shí)現(xiàn)的User Tool工具條

  5 User Tool工具條的定義 ,

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

  6 工作環(huán)境參數(shù)設(shè)置

  二次開發(fā)的內(nèi)容主要是做一些共用性的工作,開發(fā)的結(jié)果將以相應(yīng)的可執(zhí)行文件、數(shù)據(jù)文件等存放于硬盤的某個(gè)目錄或多個(gè)目錄下。這些結(jié)果必須為具有指定訪問(wèn)權(quán)限的各個(gè)用戶所共用,即在調(diào)用相應(yīng)的程序模塊時(shí),系統(tǒng)應(yīng)能查找到相應(yīng)的文件。利用User Tool開發(fā)UG應(yīng)用模塊時(shí),必須設(shè)置幾個(gè)有關(guān)的環(huán)境變量,用來(lái)指定程序執(zhí)行時(shí)的有關(guān)路徑。這些環(huán)境變量是: UG_USER_TOOLS_FILE指定缺省的User Tool定義文件(.utd文件) UG_USER_TOOLS_MENU指定User Tools下拉菜單的菜單定義文件(.utd文件) UG_USER_TOOLS_BITMAP_PATH指定圖標(biāo)位圖文件的路徑(.ubm文件) UG_DEFAULT_USRT_DIR指定User Tool文件(.utd文件)的缺省目錄 UG_INITIAL_GRIP_DIR指定User Tool所用GRIP可執(zhí)行程序(.grx文件)的缺省目錄 UG_INITIAL_UFUN_DIR指定User Tool所用User Function可執(zhí)行程序的缺省目錄 UG_INITIAL_MACRO_DIR 指定User Tool所用宏文件(.micro文件)的缺省目錄 工作環(huán)境參數(shù)的設(shè)置,可用兩種方法來(lái)實(shí)現(xiàn)。一種方法是利用操作系統(tǒng)的setenv命令,對(duì)各個(gè)環(huán)境參數(shù)進(jìn)行設(shè)置。另一種方法是將以上環(huán)境參數(shù)增加在操作系統(tǒng)的用戶注冊(cè)文件.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/ 工作環(huán)境參數(shù)的設(shè)置,應(yīng)由系統(tǒng)管理員完成。一旦設(shè)置好后,具有指定訪問(wèn)權(quán)限的用戶就可以調(diào)用這些二次開發(fā)的User Tool模塊了。