图2.1 展示平台方案框图
基于系列型号产品展示软件平台自身的特点,将其框架分为2个部分:显示模块和调用模块。其中显示模块主要提供GUI(用户图形界面),获取用户操作、图形和数据显示等功能;调用模块主要是ABAQUS模型和ADAMS模型调用功能,调用数据模型及可视化输出。
2.1.1 显示模块的设计
在设计显示模块时,采用以下5个基本步骤:
(1)导入wxPython模块。
(2)创建一个顶层窗口对象,它包括整个GUI应用程序。
(3)在这个顶层窗口对象中添加GUI控件,如窗体、标签、菜单、按钮等控件。
因为wxPython含有大量的缺省参数,所以本文在设计时只需要对特定需求制定参数,其余参数均采用默认值,它们将按一组经过优化的缺省参数来创建。
(4)实现用户事件响应功能,并将其与用户事件绑定。
用户事件响应主要完成数据的获取,实现数据的可存取和可打印输出。通过用户事件,如鼠标点击、键盘输入,启动与之绑定的应用程序。通过窗口管理器将输入转化为相应数据。在设计数据存取功能时,可根据数据量的大小选择恰当的解决方案。通过内建函数Open(),按指定方式(如读或写)打开一个文件,然后使用文件方法,如输入、输出、文件移动来实现对数据的存取。
(5)进入主事件循环,使用Mainloop命令等待用户指令。
以上是本文实现显示模块的主要步骤,在具体实现时根据实际情况增添所需功能。
2.1.2 调用模块的设计
本系列型号产品展示软件平台需要展示某型号三种火炮的仿真性能,如静态刚强度、动态特性等,所以需要调用有限元软件ABAQUS进行有限元分析,调用机械系统仿真软件ADAMS进行动态特性分析,调用PDF阅读器进行计算结果显示,因此需要该产品展示软件平台实现ABAQUS模型、ADAMS模型和PDF文件调用功能。而Python提供内建模块调用系统应用程序来运行关联文件。在Python中可以使用os模块运行其他的脚本或者程序,这样就可以在脚本中直接使用其他脚本,或者程序提供的功能,而不必再次编写实现该功能的代码。为了更好地控制运行的进程,可以使用win32process模块中的函数。如果想进一步控制进程,则可以使用ctype模块,直接调用kernel32.dll中的函数。subprocess模块中只定义了一个类:Popen。可以使用Popen来创建进程,并与进程进行复杂的交互。
2.1.3 拟采用方案对比
经过对几种优秀软件用户图形界面的研究对比,拟定了两种GUI设置方案。一是采用菜单式为主,按钮为辅的创建方式;二是采用按钮为主,菜单为辅的窗口设置方法。两种方式分别如图2.2和图2.3所示。
图2.2 菜单式主窗口图2.3 按钮式主窗口
结合本展示平台的展示内容分析,采用菜单式可以让用户迅速定位所需要了解的产品参数的位置,而按钮式需要用户打开很多窗口才能了解到所需要的产品参数内容,没有菜单式直观方便。所以,本文采用菜单式用户图形界面 ABAQUS系列型号产品展示软件平台设计(6):http://www.youerw.com/zidonghua/lunwen_7017.html