模具CAE软件Z-Mold数据驱动对话框的开发

作者:宋刚;刘永志;申长雨 刊名:计算机辅助工程 上传者:张兰华

【摘要】针对注射模具CAE软件Z-Mold在模拟分析之前需要输入大量信息的问题,探索一种通用软件开发技术——数据驱动对话框.为简化程序开发工作,将对话框原型描述保存在定义文件中,在系统运行时根据原型定义文件动态生成对话框,在其关闭时将输入信息保存在结果文件中以供计算模块调用.该技术使对话框变成一种由数据驱动的对象,不需要修改程序就能更改对话框内容,从而提高Z-Mold的可重用性和开发效率.

全文阅读

0引言Z-Mold是橡塑模具国家工程研究中心自主开发的注塑模具CAE软件.[1]在研制宇航员出舱面窗过程中,通过数百次模拟面窗成型过程得出优化的成型工艺参数,Z-Mold软件发挥重要作用.在开发Z-Mold软件的过程中,用户需要输入或者选择大量的信息,例如材料信息、求解算法参数、成型条件、有限元网格属性和分析过程选择等.这些信息还可以细分,例如单材料包含热塑性材料、热固性材料、冷http://www.chinacae.cn却液、模具材料和填充物等.这些材料所包含的信息内容又各不相同,非常繁杂.对话框作为信息输入的主要手段在软件开发中被大量使用.在Windows程序中,对话框模式是最为经典的UI设计模式之一,具有良好的用户体验和快捷的操作效率.[2]在早期的Z-Mold开发中,对话框是在程序中固定编写的,如果软件需要生成新对话框或者修改原来对话框,需要开发人员对软件源代码进行修改,重新编译连接生成新的可执行文件,过程非常费时费力.为满足模具CAE分析软件各种信息的输入需求,使开发人员可以方便地设计所需的对话框并且不需要修改程序代码,开发数据驱动对话框模块Z-Dialog.该模块可以从文件读取所需信息创建对话框.创建数据驱动对话框需要的信息有两类:一类是对话框原型描述的定义文件,说明对话框包含的组件和相关逻辑,例如按钮、编辑框和下拉框及其触发的功能等;另一类是结果文件,记录对话框组件的取值和用户的输入或选择,由Z-Dialog自动生成,并提供接口函数进行读写操作以提供数据给计算模块使用.Z-Dialog模块的功能图解见图1.由图1可以看出,当软件开发者需要新的对话框或者对已有的对话框进行修改时,只需修改定义文件,Z-Dialog模块可以根据新的定义文件自动生成新的对话框,从而增加软件的重用性和适应性,提高开发效率,减轻开发强度.图1Z-Dialog模块的功能图解Fig.1FunctionchartofZ-Dialog1Z-Dialog原理Z-Dialog模块开发工具采用MicrosoftVC++.利用面向对象的开发思想[3],将其主要封装在CMoldDefine,CMoldData和从CDialog继承的Z-Dialog对话框等3个类中.CMoldDefine类用来操作定义文件;CMoldData类用来操作结果数据文件;Z-Dialog类用来管理对话框.Z-Dialog类主要包含对话框组件类的数组.对话框组件类从MFC的组件类继承而来,主要包括文本、编辑框、下拉框和列表组件等.在这些类中添加新的成员和方法以扩充组件的状态和操作.通过这些新的成员和方法将对话框与定义文件和数据文件紧密结合起来,实现数据驱动功能.首先创建CMoldDefine定义文件对象,依照定义文件格式读取数据文件,从而创建CMoldData对象;然后利用CMoldDefine类的实例生成Z-Dialog对象的对话框组件对象的数组,利用CMoldData对象给这些组件对象赋值,在Z-Dialog::OnInitDialog中创建这些组件.此时,调用Z-Dialog::DoModal方法就可以显示对话框.同时,利用消息映射编写统一的事件函数,左键单击处理用户对这些组件的操作.编写Z-Dialog::DoDataExchange函数进行数据交换.[4]在用户关闭对话框时,可将更新后的数据写入结果数据文件中,下次打开对话框便是更新后的数据.如何开发合适的对话框定义文件是实现数据驱动对话框的关键所在,也是研究的重点.2对话框定义文件Z-Dialog模块的核心是对话框定义文件的实现.在定义文件中

参考文献

引证文献

问答

我要提问