APP下载

基于UIDL和APDL的弹簧实体参数化建模

2014-12-19吴新丽郭春景

制造业自动化 2014年9期
关键词:二次开发对话框菜单

吴新丽,郭春景,张 扬

WU Xin-li1,GUO Chun-jing2,ZHANG Yang3,4

(1.南阳理工学院 教育学院,南阳 473004;2.焦作大学 基础科学系,焦作 454000;3.上海交通大学 船舶海洋与建筑工程学院,上海 200240;4.南阳理工学院 土木工程学院,南阳 473004)

0 引言

ANSYS软件是以有限元分析为基础的大型通用CAE程序,具有强大的前、后处理和计算分析能力,广泛应用于机械制造、土木工程、电子、生物、医学等众多领域,能够进行结构分析、热分析、流体分析、电磁场分析和耦合场分析等,并提供了与Pro/ENGINEER、SolidWorks、UG、CATIA等多数CAD软件的接口。在ANSYS中直接建立复杂的几何模型,具有难度大、建模效率低和不易修改等缺点。对于复杂模型,通常采用先在Pro/ENGINEER等三维造型软件中建立模型,再通过ANSYS提供的CAD软件接口导入模型,这样虽然可以提高建模的效率,但是在导入的过程中往往会遇到一系列的问题,如数据的兼容性、对细微结构的忽略等问题[1,2]。

用户图形界面设计语言UIDL(User Interface Design Language)是针对用户GUI定制的开发工具,是编写或改造ANSYS图形界面的专用设计语言,能够完成以下三种图形界面的设计:主菜单系统及菜单项、对话框和联机帮助系统[3]。ANSYS参数化设计语言APDL(ANSYS Parameter Design Language)是一种用来完成有限元常规分析操作或通过参数化变量方式建立分析模型的脚本语言[4]。APDL用智能化分析的手段,为用户提供自动完成有限元分析过程的功能。APDL扩展了传统有限元分析范围之外的能力,可以利用APDL进行二次开发,但是由于APDL文件方式不直观,限制了其应用。UIDL主要是控制GUI界面的二次开发,涉及分析部分很少,但在UIDL中嵌入APDL命令可以构建比较复杂的GUI二次开发。

本文以创建三维弹簧实体为例,利用UIDL和APDL,对ANSYS进行二次开发,实现三维弹簧实体的便捷、高效的参数化建模。

1 用户程序界面设计

UIDL是ANSYS专门为用户提供的进行程序界面设计的语言,允许用户灵活使用和组织设计ANSYS图形用户界面。UIDL控制文件由一个控制文件头和一系列的结构块组成。控制文件头是一系列特定的UIDL命令,用来向UIDL处理器传递控制文件的信息。结构块是UIDL控制文件的核心,它涵盖了菜单信息、命令信息以及帮助文件信息。按照其不同的功能类型,结构块可分为菜单结构块、命令结构块和帮助结构块。

为了实现对三维弹簧实体的快速、高效的参数化建模,选取基圆半径、螺距、弹簧半径和螺旋个数4个变量为弹簧几何参数,首先使用UIDL语言进行用户程序界面设计,在ANSYS主菜单Main Menu >Preprocessor >Modeling >Create下添加创建三维弹簧实体命令项“Spring”,并创建其对应的弹簧几何参数设置对话框。

1.1 菜单设计

自定制主菜单,添加命令项“Spring”。ANSYS主菜单的信息是由其安装目录下的ANSYS Incv120guien-usUIDL文件夹中的UIMENU.GRN文件提供的,所以首先在UIMENU.GRN文件的Men_Create52结构块中的适当位置添加自定义的命令结构块链接Fnc_MyModel,具体代码如下,编译运行后的结果如图1所示。

图1 自定制主菜单

1.2 对话框设计

自定制弹簧几何参数设置对话框。在UIDL文件夹的UIFUNC2.GRN文件中添加自定义的命令结构块Fnc_MyModel,具体代码如下,编译运行后的结果如图2所示。在对话框中设置4个弹簧几何参数后,点击“OK”按钮,将运行用APDL编写的create_spring宏命令流,根据设置的弹簧几何参数,完成三维弹簧实体的创建。

图2 自定制对话框

2 参数化建模程序设计

建立参数化的实体模型是参数化有限元分析的基础。APDL是ANSYS提供的参数化设计语言,是一种高效的参数化建模手段。APDL提供了标量参数、数组参数、表达式和函数、分支和循环、重复功能和缩写、宏及用户程序等功能,这些功能可以单独使用或者组合使用[5]。

用户程序界面设计完成后,使用APDL语言编制三维弹簧实体参数化建模程序create_spring.MAC,并保存在ANSYS安装目录下的ANSYS Incv120guiapdl文件夹中。宏文件create_spring.MAC的命令流内容如下:

3 应用实例

使用APDL编制参数化建模程序,同时使用UIDL对用户程序界面进行设计,完成对ANSYS的二次开发,实现对三维弹簧实体的便捷、高效的参数化建模。下面进行具体的应用举例,创建两种不同的三维弹簧实体。

单击图1 所示的A N S Y S 主菜单中的命令项“Spring”,即Main Menu >Preprocessor >Modeling >Create >Spring,将弹出图2所示的弹簧几何参数设置对话框,在该对话框中设置基圆半径是160 mm、螺距是50 mm、弹簧半径是10 mm、螺旋个数是7,点击“OK”按钮,将自动运行三维弹簧实体参数化建模程序create_spring.MAC,根据设置的弹簧几何参数值,创建三维弹簧实体,结果如图3所示。

重新设置弹簧几何参数:基圆半径200 mm、螺距80 mm、弹簧半径20 mm、螺旋个数3,点击“OK”按钮,将创建图4所示的三维弹簧实体。

图3 应用实例1

图4 应用实例2

4 结束语

本文以创建三维弹簧实体为例,利用ANSYS提供的用户图形界面设计语言UIDL和参数化设计语言APDL,对ANSYS进行二次开发,开发出满足用户自己功能需求的菜单和对话框,将复杂的建模操作过程封装成用户自己的程序,从而将复杂问题简单化,实现了复杂几何模型的便捷、高效的参数化建模,减少了用户大量的重复性操作,大大提高了工作的效率。

[1]白葳,喻海良.通用有限元分析ANSYS 8.0基础教程[M].北京:清华大学出版社,2005.

[2]邓凡平.ANSYS 10.0有限元分析自学手册[M].北京:人民邮电出版社,2009.

[3]程铭,吴志军,冯平法.基于UIDL的ANSYS用户菜单定制技术[J].机械制造,2006,44(10):44-46.

[4]龚曙光,谢桂兰,黄云清.ANSYS参数化编程与命令手册[M].北京:机械工业出版社,2009.

[5]龚曙光,黄云清.有限元分析与ANSYS APDL编程及高级应用[M].北京:机械工业出版社,2009.

猜你喜欢

二次开发对话框菜单
中国新年菜单
正常恢复虚拟机
西门子Operate高级编程的旋转坐标系二次开发
浅谈Mastercam后处理器的二次开发
Bootlace Worms’Secret etc.
What Is Beauty?
西门子Easy Screen对倒棱机床界面二次开发
本月菜单
浅谈VB的通用对话框《CommonDialog》控件的使用
ANSYS Workbench二次开发在汽车稳定杆CAE分析中的应用