1、引言
消防泵的核心部件是叶轮,叶轮设计的好坏关系到整机的工作性能和使用寿命。但是,叶轮水力设计需要大量复杂的计算、比较和反复修改,工作量大,设计周期长。因此,积极开发研究适合于消防泵的水力CAD(计算机辅助设计)系统不仅可以减少设计工作量,提高开发速度和质量,而且对推动消防泵叶轮的设计具有重要的理论意义和实际应用价值。
2、开发工具选择
目前,在CAD软件市场中,可供作CAD系统支持环境、并提供开发环境与工具的CAD软件产品很多[1],高档的有I—DEAS、Pro/E、UG等;中档的有Solid Works、MDT等;低档的有AutoCAD等。其中,Autodesk公司推出的AutoCAD可以称得上是最成功和最有影响力的计算机辅助设计软件之一。它具有价格合理、使用方便、体系结构开放、通用性好等优点,深受广大工程技术人员的欢迎,在国内外得到了广泛的应用。AutoCAD目前己由最初的版本达到了AutoCAD 2004,其二次开发的工具也在不断地更新和增多,给用户更加自由的选择,因此,如何选择合适的开发工具就成了一个需要解决的问题。
由于科学技术的发展和软件开发水平的提高,使用Auto LISP和ADS开发工具的用户已越来越少,而目前使用比较多的是ARX、VB、VBA及Visual LISP四种开发工具(这四种开发工具的比较见表1)。
表1 四种开发工具的比较
在上述四种开发工具中,由于ARX是基于Visual C++平台的,与VB、VBA一样,它们都自带大量的可视化的编程控件,这样在软件开发时,人机交互界面的设计更加方便和快捷,从而使开发出的软件更加具有个性,而Visual LISP在这方面就显得有所欠缺。尤其是在软件开发中如果需要和数据库接口时,ARX、VB和VBA工具中都有专用的数据库控件可直接选用,可以省去很多繁琐的工作。
ARX尽管功能强大,运行速度快,但是语言复杂,难于掌握。如果程序中未能正确处理Windows编程中的一个细节,则应用程序、开发环境以及整个 Windows都有可能瘫痪。而VB/ VBA尽管运行速度相对较慢,但是其语法简单,开发图形用户界面的功能比较强大。很多图形算法的效率很高,即使在像VB/VBA这样速度相对较慢的语言中也能够很好的运行。而且,在大多数情况下,VB/VBA的速度已经足够快了。
从语言结构上讲,VBA[2]是VB的一个子集,它们的语法结构是一样的,外观的明显区别是,VBA所有的功能尽管与VB一样,但不如VB的多。它们真正的本质上的区别在于VB是一个独立的开发工具,它不需要依附于任何其他应用程序,它有自己完全独立的工作环境和编译、连接系统。VBA则不然,它没有自己独立的工作环境,它必须依附于某一主应用程序,比如Office、AutoCAD等,离开主应用程序VBA将不复存在,这限制了其在开发中的应用,也是笔者最终没有选择VBA的主要原因。因此,选择Visual Basic 6.0来进行消防泵水力CAD软件的开发,充分利用VB本身功能,来完善AutoCAD除图形处理以外相对薄弱的环节,以实现程序间的优势互补。
3、系统界面及运行要求
3.1、系统运行要求
要使本系统能够在计算机上很好的运行,计算机系统应有如下的硬件和软件配置:
3.1.1、硬件配置
(1)Pentium 133以上CPU;
(2)32MB以上基本内存(推荐64MB以上);
(3)显示16位以上增强色;
(4)300MB以上硬盘空间。
3.1.2、软件配置
(1)Windows9X或WindowsNT4.0及以上操作系统;
(2)AutoCAD2000或以上版本;
(3)Access97或以上版本。
3.2、系统界面
如图1所示,系统界面由标题栏、菜单栏、工具条、软件运行区和状态栏组成。
图1 系统界面
4、系统的设计特点和设计技术
4.1、设计特点
(1)友好的用户界面,操作方便。运行方式采用人机对话方式,在整个设计过程中贯穿交互式设计思想,采用对话框和菜单来传达和处理信息,使设计者能更好地把握设计过程。
(2)数据量大,关系复杂。在水力设计过程中,涉及的参数较多,后续设计往往要用到前面的设计数据,如绘制轴面投影图需用到前面确定的叶轮基本参数,绘轴面截线又需要用到轴面投影图的具体数据等。
(3)大量的图形信息处理。在实时运行过程中,有很多的图形需要处理。既有中间位图(.bmp)的保存,又有最终的向AutoCAD的图形(.dwg)输出。
(4)程序设计充分考虑了用户的不同习惯,多处提供操作提示及向导:操作提示可以帮助使用者减少操作错误;操作向导让使用者五师自通。帮助文件用户可自行扩充,系统具有良好的可维护性。在考虑专业性的同时,尽量提高程序的通用性和实用性。
4.2、设计技术
4.2.1、交互技术
需要指出的是:CAD并不完全是设计自动化,CAD将人的主导性与创造性放在首要地位,同时充分发挥计算机的长处,使两者有机结合起来。因而,为了给设计者提供设计经验的发挥空间,系统采用了一些人机交互的做法,以对话框和菜单的形式,建立人机信息交流的渠道。
4.2.2、模块化技术
模块化技术是设计CAD系统较普遍采用的方法。将系统划分成各个功能模块,然后分模块进行设计,最后再合成一个系统,既有利于系统的开发、调试和维护,也有利于系统的更新。
4.2.3、ActiveX Automation接口技术
ActiveX Automation所提供的编程接口,使用户很容易地使用各种ActiveX客户编程语言(如VB、Delphi等)来定制AutoCAD。它可用于在 Windows环境下的应用程序操作AutoCAD中的对象,如在AntoCAD中建立视图,指定和提取扩展数据,向外设输出图形,为AutoCAD增加专业对象等。采用VB、Delphi等编程语言,可以实现Windows平台上诸应用程序的无缝连接,从而可以将所有程序都集成在统一的操作环境中。
4.2.4、数据库技术
数据库[3]中主要存放设计计算、绘图及各类标准数据。建立这样一个数据库的目的就是为了减少甚至消除在计算机辅助设计中仍需人工查阅设计资料的现象;同时,将设计中的中间数据存人数据库中,减少数据输出、输入的次数。
5、功能模块划分及流程图
5.1、水力设计模块的功能模块划分
消防泵CAD系统的水力设计模块由四部分子模块组成:
(1)基本参数确定模块:包括泵的基本参数确定和叶轮的基本参数确定;
(2)轴面流道设计模块;
(3)叶型绘制模块;
(4)木模图绘制模块。
各模块之间的关系如图2所示。
图2 水力设计的功能模块
5.2、水力设计流程图
叶轮的水力设计流程图如图3所示。
图3 水力设计流程图
6、结束语
消防泵水力CAD系统的开发具有很大的现实意义,实现了计算与绘图准确、设计周期短、简单直观的效果,达到了预期的目的。利用成熟的CFD软件进行流场分析和性能预测,在此基础上进一步对水力设计方法进行完善和修正,这也是今后的研究重点和方向之一。