UIDL 界面设计语言,及其在 ANSYS 中的调用方法

UIDL(User Interface Design Language) 即用户界面设计语言,是 ANSYS 为用户提供的专门进行程序界面设计的语言,允许用户改变 ANSYS 图形界面(GUI) 中的一些组项,提供 了一种允许用户灵活使用、组织设计 ANSYS 图形界面的强有力工具。
用 UIDL 编写的程序文件称为控制文件,必须以“*.GRN”为扩展名,它可在 ANSYS 原 有的菜单中添加自己设定的菜单项和控制程序。UIDL 控制文件由一个控制文件头和几个构造 块构成,一个构造块对应着 GUI 的一个元件,每个构造块是一系列的 UIDL 命令,构造块分 为菜单块和功能块两个类型,控制文件结构如图所示。

attachments-2020-04-96ImSeKU5e8465a99a818.png

1. 控制头文件

控制文件头是一系列特定的 UIDL 命令,它们为 UIDL 处理器定义了控制文件的信息,要 求每条命令行不得超过 80 字符,且必须以冒号(:) 开头。典型的控制文件头如下所示:

:F UIMENU.GRN
:D Modified on % E%, Revision(SID) = % I% 
:I 0, 0, 0
:!

说明如下:

  • 控制文件头第一行必须有:FFilename,Filename 是 UIDL 控制文件名;
  • 第二行必须有:D Description,Description 是对本文件的一些说明,一般由 ANSYS
    自动添加;
  • I 描述了 GUI 的位置信息,每个 0 必须出现在第 9、18、27 列,在运行过程中 ANSYS
    会自动对其修改;
  • ! 是分隔标记,可有可无,建议使用,以增强程序的可读性。

2. 构造块结构

构造块是 UIDL 控制文件的核心,它涵盖了菜单信息、命令信息以及帮助文件信息,按照
其不同的功能类型可划分为菜单构造块、命令构造块和帮助构造块。构造块主要由 3 部分组成,分别是头部分(Block Header Section)、数据控制部分(Data Controls Section) 和尾部分(Ending)。
头部分:

:N Men­MyProject
:S 0, 0, 0 
:T Cmd
:A MyMenu
:C
:D My Own Project

数据控制部分:

Fnc_MyAnalysis

尾部分:

:E END
:!

说明如下:

  • N 定义惟一的构造块名称;
  • S 描述了构造块的位置信息,每个 0 必须出现在第 9、16、23 列,ANSYS 在调用过
    程中会自动对其修改;
  • T 描述构造块的类型,可分为 Menu、Cmd、Help 等;
  • A 对不同类型的构造块有不同功能,在 Menu 块中为必需,定义出现在 GUI 中的子
    菜单名称,而在 Cmd 块中则为可选,定义出现在菜单中的命令名称;
  • D 描述构造块的信息;
  • C 在 Cmd 块中为可选,用于执行 ANSYS 命令、APDL 或用户函数等;
  • 数据控制部分根据不同类型的构造块有不同的写法,例如在菜单构造块中可以利用
    Fnc_MyAnalysis 调用用户函数等;
  • 尾部分:E 标志着构造块的结束,最后用“:!”将各个构造块隔开。

3. ANSYS 调用 UIDL 的过程

以下均在 ANSYS 12.0 环境下进行说明。ANSYS 在启动时会自动在其安装目录下的 \ANSYS
Inc\v120\ANSYS\gui\en­us\UIDL 文件夹中搜寻 menulist120.ans 文件,并调用其指向的 UIDL 文件。因此,只需对 menulist120.ans 进行修改,使其指向用户建立的 GRN 文件即可实现调用自己定 制的 GUI 界面。打开 menulist120.ans 文件,读者可发现 ANSYS 会调用 UIDL 文件夹下的 UIMENU.GRN、UIFUNC1.GRN 和 UIFUNC2.GRN。用户可以通过两种方式建立用户界面。第一种方法是将 UIMENU.GRN、UIFUNC1.GRN 和 UIFUNC2.GRN 拷贝至当前工作路径下,对其重新编辑,即可实现用户自定义 GUI 界面。第二种方法是建立新的 GRN 文件,并在 menulist120.ans 中说明其路径。

  • 发表于 · 2020.04.01 17:58 · 阅读 · 972

[版权声明] :本文文字、代码及图片版权归原作者所有,任何媒体、网站或个人未经本网协议授权不得采集、整理、转载或以其他方式复制发表。已经本站协议授权的媒体、网站,在使用时必须注明“稿件来源:学研谷”。

0 条评论

请先 登录 后评论
猜猜我是谁
Abrtr -研究生

12
提问
18
回答
6
文章
注册推广