|
本帖最后由 活到老学到老 于 2010-12-3 16:48 编辑
- [post]UG自定义工具栏快速定制
- 随着三维实体CAD/CAE/CAM技术的发展和普及,作为微机平台上的尖端应用软件,Unigraphic公司的UG在国内的应用越发普遍,并以其强大的功能和高度集成的环境得到用户的肯定。
- 根据自己的长期使用经验和英文版UGCAST培训材料,这里我得出了一套行之有效的UG自定义工具栏的快速定制方法,希望与大家交流。
- 在UG软件的实际使用过程中,无论是在Modeling, Drafting或是其它一些模块中进行操作时,会不可避免地需要频繁地在各级菜单中来回切换。由于UG的复杂性,我们往往需要拉开多级菜单或工具栏才能找到自己要使用的项目,这样便大大增加了操作中的鼠标击键次数。如果使用自定义工具栏技术,将自己常用的一些命令集成在一个工具栏中,将带来很大的方便,减少无谓的劳动,提高工作效率。
- 在UG的实际使用中,广大操作人员虽然知道UG具有自定义工具的能力,但往往认为这种定制比较繁琐,容易出错,同时又需要改动系统参数配置文件,所以不愿去加以尝试。实际上,UG的自定义功能不仅强大,而且十分快速方便,其可操作性毫不逊于AutoCAD等微机平台上的常用CAD软件。下面我便结合14和15版的UG环境谈谈UG的快速定制工具栏方法。
- 一个自定义的工具栏如图所示,由此可以见到有三种形式的基本控件:图象按钮,文本按钮和列表框。其中我们使用较多的是图象按钮和文本按钮。每个自定义工具栏是由一个扩展名为.utd文件所加以定义的,这是一个ASCII码文件,用来具体描述工具栏的构成信息。以下是.utd文件的一个示例,其中!号后为注释部分。
-
- TITLE Example V15.0 User Tool !工具栏的标题
-
- VERSION 2 ! 版本号
-
- OPTION DISMISS OFF ! 定义自动隐藏触发按钮的初始状态
-
- ! OPTION TOOLBAR ! 用来确定是否要将工具栏作为工具条的形式存在
-
- !下面是对文本按钮的定义部分:
- BUTTONS ! 按钮
-
- LABEL Views & Layouts !按钮部分的小标题
- COLUMNS 2 !每行的按钮数
-
- NAME Front View !按钮名称
- TYPE MENU_BUTTON !按钮对应的动作是一个菜单选项
- ACTION UG_VIEW_POPUP_ORIENT_FRONT !对应为UG的VIEW下拉菜单中的 !ORIENT_FRONT 选项
-
- 图形按钮部分
-
- 图形部分的小标题
-
- 每行的图形按钮数
-
- NAME Fully Shaded !图形按钮的名称
- BITMAP fully_shaded.xbm !图形按钮上所显示的图形文件
- TYPE MACRO !图形按钮对应的动作为一个宏文件
- ACTION fully_shaded.macro !对应动作为系统默认目录下的fully_shaded.macro文件
-
- LIST !以下为列表框形式的自定义控件
-
- LABEL Other Programs !列表框的标题
-
- SIZE 3 ! 列表框的行数
- NAME Change Displayed Part !列表框每行的标题
- TYPE MACRO !该栏对应的动作为一个宏文件
- ACTION change_part.macro !对应动作为系统默认目录下的change_part.macro文件
- NAME Chamfer using GRIP
- TYPE GRIP !该栏对应的动作为一个GRIP文件
-
- ACTION dummy_grip_program.grx
- 对应动作为系统默认目录下的dummy_grip_program.grx文件
- NAME List Part Attribute
- TYPE UFUN !该栏对应的动作为一个用户函数程序
- ACTION dummy_ufun_program.sl
- 对应动作为系统默认目录下的dummy_ufun_program.sl文件
-
- 由此可见,工具栏定义文件 *.utd的结构是相当简洁清晰的。事实上,用户只要对UG软件本身提供的自定义示范工具栏文件稍加改动,就可以创建符合自身需求的工具栏。
- 实现了工具栏的布置,只是工作的第一步,剩下的工作就是要逐一实现工具栏中按钮所对应的动作和图形按钮所需的图形资源文件。每个按钮的动作可以是对应一个GRIP程序,一个用户函数程序,一个宏文件或是UG系统菜单中的某一项,根据按钮定义中的TYPE项加以说明,然后在ACTION项中说明按钮对应的动作文件的位置名称。对图形按钮而言,还需要在BITMAP项中对所需图形资源文件的位置和名称加以说明。
- 按钮对应的各种动作中,宏文件是使用较多的,同时其本身创建起来也很方便。创建一个新的宏文件时,首先打开UG菜单Macro->StartRecord,输入待创建的宏文件位置名称,按下确认键,从这时起,用户对UG进行的一切操作,比如拉下菜单,点击按钮,输入参数等,便被全部记录在这个宏文件中,直到用户再次选择菜单项Macro->StopRecord,结束这个宏文件的录制为止。下次我们当再打开这个宏文件时,这些被记录下来的操作便会加以回放,自动地去执行一系列操作,从而省去了人手工执行的过程。同时,宏文件本身也是一个ASCII码文件,所以也可以使用文本编辑器手工地创建和修改,当然,这需要用户对宏文件的结构相当的熟悉。
- 剩下的就是一个如何将自定义工具栏调入UG环境的问题了。当启动UG的时候,系统会自动地调入由环境变量UGII_USER_TOOLS_FILE指定的缺省工具栏文件,并在用户选择系统菜单项UserTools->Reload时被激活,这时便可以使用这个自定义工具栏了。
- 当有多个用户创建了自己的自定义工具文件或是同一用户创建了多个自定义工具文件时,我们可以创建一个用户工具菜单文件,将这些可用的工具栏都列入菜单中,在需要时再加以调出。用户工具菜单同样由一个文件加以描述,扩展名为.utm。在UG的环境变量UGII_USER_TOOLS_MENU中指定了用户菜单文件的位置和名称。 下面是一个名为user_tool.utm的菜单文件:
- DEFAULT user_tool.utd !指出缺省工具文件的名称位置
-
- LABEL Initial User Tool !第一个自定义工具栏的标题
- USRT user_tool.utd !第一个自定义工具栏文件
-
- LABEL Toolbar !第二个自定义工具栏的标题
- USRT toolbar.utd !第二个自定义工具栏文件
-
- 启动UG后,系统界面的User Tools下拉菜单中将增添名为Initial User Tool 和 Toolbar的选择项,点选它们后便会弹出相应的用户自定义工具栏。
- 在使用中时常会出现的一个问题是调入工具栏或点击按钮时,UG会显示出出错信息,表示系统找不到对应图形按钮的资源文件或命令动作文件。这是因为相应文件丢失了或是目录设置的不对。一般说来,我们可以把工具栏要用到的图形文件或宏文件等分门别类地放到指定的目录下,并由UG的系统变量UGII_USER_TOOLS_BITMAP_PATH和UGII_INITIAL_GRIP_DIR、UGII_INITIAL_UFUN_DIR、 UGII_INITIAL_MACRO_DIR加以指明。这些都可以通过修改UG系统环境变量文件ugii_env.def来设置。
- 当然,我们也可以把这些文件放在任意的目录下,那么在工具栏文件的按钮定义中便需要显式地对这些文件的路径加以说明。
- 对于UG V15.0的用户来说,增添和删改自定义工具栏就更为方便。在15版的UG 界面的User Tools下拉菜单中有一选项为Load Tool,用户可以在任一时刻通过选择这一项,手动地调入与激活一个自定义工具栏文件,就象调入一个图形文件一样简单方便。这样就免去了修改UG系统变量文件的麻烦和带来的潜在危险,特别是对于非管理员身份的普通用户更为方便。当然,我们同样应保证工具栏中所用到的图形资源文件和动作文件放在了系统所规定的对应目录下,或者是在按钮的定义中显式地对文件的路径加以具体说明。
- 下面以一个具体示例来说明快速定制UG自定义工具栏的步骤。首先,编写工具栏定义文件,该文件名为usertool1.utd,位于D:\users下。我们可以把系统提供的一些示例性文件,如user_tool.utd(通常位于UGSAMPLES目录下)加以修改而成。其中的一个控件的定义为:
- NAME Create Lines
- BITMAP create_lines.ubm
- TYPE MACRO
- ACTION create_lines.macro
- 然后我们着手制作与每一个图形按钮对应的图形资源文件。由于UG图标使用的为.xbm或.ubm的文件,所以不能使用画笔等常用的图形编辑程序。在NT平台上,可以使用诸如ImageMagick等程序将.bmp格式的文件转换成.xbm文件而成。这些图形文件被保存于D:\users\bitmaps下。与按钮对应的动作文件,如宏文件,则在分别创建后存于D:\users\macros下。最后打开环境变量文件ugii_env.dat,设置如下参数:
- UGII_INITIAL_MACRO_DIR=D:\users\macros
- UGII_USER_BITMAP_PATH=D:\users\bitmaps
- UGII_USER_TOOLS_FILE=D:\users\usertool1.utd
- 这样,下次打开UG时系统将会自动地装入usertool1自定义工具栏,在用户选择Reload Default选项后被激活。其中,工具栏中名为Create Lines的图象按钮使用了名为create_lines.ubm的图形文件,系统会自动地到目录D:\users\bitmaps下去寻找该文件,并将其显示到按钮上。当用户点击Create Lines按钮时,系统会到D:\users\macros下去寻找create_lines.macro宏文件加以执行。
- 我们也可以将如上按钮的定义改为:
- NAME Create Lines
- BITMAP d:\create_lines.ubm
- TYPE MACRO
- ACTION d:\create_lines.macro
- 这样,即使在没有把UGII_INITIAL_MACRO_DIR和UGII_USER_BITMAP_PATH设置成d:\的情况下,系统同样也能找到根据显式的路径找到所需的文件。
- 由此可见,对UG进行一些快速的定制开发是非常简单方便的,只需花费很少的时间,就能给我们的日常工作带来极大的方便,大大提高操作效率,希望大家都能尝试一下。 [/post]
复制代码 |
|