当前位置:论文网 > 论文宝库 > 工程技术类 > 水利水电论文 > 正文

ARX和MFC的二次开发在水利工程设计

来源:UC论文网2015-11-09 15:44

摘要:

摘 要:本文介绍了利用AutoCAD的二次开发工具ARX和Visual C++ 6.0的MFC类库混合编程进行二次开发的实现机制和关键技术,提出了使用ARX和MFC在水利工程设计中进行二次开发的可行性和必然性

   摘 要:本文介绍了利用AutoCAD的二次开发工具ARX和Visual C++ 6.0的MFC类库混合编程进行二次开发的实现机制和关键技术,提出了使用ARX和MFC在水利工程设计中进行二次开发的可行性和必然性。并通过对调压井进行二次开发的实例阐述了在ARX程序中使用MFC进行水利工程设计的方法。
  关键词:ARX;MFC;二次开发;水利工程设计
  1 前言
  随着计算机技术的发展,计算机辅助设计已经广泛应用于各门专业的设计和研究领域以及国民经济的各个方面。在工程设计的过程中逐步实现自动化,这是当今发展的趋势。水利水电工程行业也不例外,将计算机辅助设计技术引入水利水电工程行业将大大减轻水利设计人员的劳动强度,缩短设计时间,提高设计计算的精度和出图的速度。本文对应用ARX和MFC技术在水利工程中的二次开发进行讨论。
  2ARX应用程序
  2.1 ARX简介
  AutoCAD是美国Autodesk公司的通用CAD软件包,是一套功能极强的设计绘图工具,是当今世界上应用最为广泛的微机CAD软件,它的应用遍及工业、交通、地质、气象等众多领域,近年来在水利水电工程设计中也应用到AutoCAD。在AutoCAD中提供了三种二次开发环境:AutoLISP、ADS和ARX(AutoCAD Runtime eXtension)。ARX是AutoCAD推出的一个全新的面向对象的开发环境,它以VC++为开发语言,ARX库为开发工具,采用面向对象的编程方法且支持MFC编程。ARX代表着AutoCAD的发展方向,将成为AutoCAD二次开发的首选工具[1]。
  2.2 ARX的运行机制
  ARX程序本质上是Windows动态连接库(DLL)程序,通过与AutoCAD共享地址空间,直接调用AutoCAD核心函数,可直接访问AutoCAD数据库的结构和代码。它允许用户开发AutoCAD应用程序,创建新的AutoCAD命令。ARX程序与AutoCAD、Windows之间均采用Windows消息传递机制直接通讯。ARX程序通过调用acrxEntryPoint()函数建立与AutoCAD消息传递入口,在acrxEntryPoint()函数中用switch语句处理来自AutoCAD的各种消息。在加载ARX程序时,入口函数收到载入消息后,通过其switch语句调用初始化函数完成有关的初始化工作。通过在初始化函数中调用acedRegCmds类成员函数addCommand()向AutoCAD系统注册新的命令。经过注册的命令加入AutoCAD系统的命令集中,可以象系统本身的命令一样使用[2]。
  3 MFC类库
  3.1 MFC简介
  MFC(Microsoft Foundation Class)是C++类库的扩展,它提供了大量预写类和支持码,可以处理许多标准Windows编程任务,如生成窗口和处理消息,它也可以在程序中加入复杂的特性,如工具条、分窗视图和OLE2支持等。因此使用MFC可以简化程序编写,使开发者节省不少编码工作。
  3.2 用动态链接MFC库的方式建立并运行ARX应用程序
  (1)首先打开Visual C++ 6.0,在File菜单下选择New选项,打开新建对话框。
  (2)选择“Win32 Dynamic-Link Library”。因为ARX也是一种动态链接库,再选择ARX应用程序的位置(Location)和工程名,再单击OK。
  (3)建立一个空的DLL项目,并确认。
  (4)向项目中添加已用Visual C++ 6.0软件编写好的源文件。
  (5)在Tools菜单下打开Options选项,设置ObjectARX包含文件和库文件的路径。
  (6)在Project菜单下选择Settings,将Link标签页中的文件名后缀改为arx;并根据程序中使用的函数在“Object/Library modules:”中添加相应的库文件。
  (7)在Build菜单中选择Build x.arx或按F7快捷键编译文件。
  (8)在AutoCAD的“工具”菜单下选择“加载应用程序”,加载编译好的后缀为arx 的文件。
  (9)在AutoCAD的命令行输入在ARX源文件中已注册的命令,即可运行ARX应用程序[3]。
  4 ARX和MFC应用于水利工程设计
  水利工程设计可分为计算和绘图两大部分,这两部分恰好由MFC和ARX分别完成,又通过数据传送功能完美地结合在一起。
  首先,由MFC的对话框生成系统,将计算部分在对话框中实现。由于MFC提供了大量预写类和支持码,它可以简化程序编写,节省不少编码工作,只要在相应的程序块中填写计算代码就能在对话框中实现计算功能。这样,我们只需在对话框中输入原始数据,就能对工程进行结构计算和配筋计算。
  其次,在计算结果的基础上,运用ARX应用程序进行二次开发,完成施工图的绘制。在运用ARX编写程序时一定要掌握好ARX应用程序的关键技术,它包括ARX应用程序的初始化、入口和卸载函数。
  为了更清晰地表示出ARX和MFC应用于水利工程设计的整个过程,现将流程图(图1)表示如下:

  5 应用实例
  利用上述技术,笔者应用于广东省某水电站的圆筒式调压井设计。建立运行界面对话框
  (如图2),在对话框中输入调压井尺寸、荷载情况和材料基本参数即可对调压井进行结构计算和配筋计算。然后将利用ARX编写的程序在Visual C++ 6.0环境下进行编译并加载到AutoCAD 2004下,运行后可得到调压井配筋图(如图3)。

  6 结束语
  由以上实例可以看出采用ARX和MFC结合编程的方法实现水利工程的二次开发是可行的。该方法既利用了MFC进行Windows风格的编程,又利用了ARX提供的类和函数深入到AutoCAD系统内部,可以大大提高设计效率,减轻设计人员的劳动强度和缩短设计时间。由于采用了ARX面向对象技术,程序在运行效率、对象管理、用户界面、智能化程度等方面都有极大提高,从而为基于ARX和MFC的二次开发在水利工程中的应用提供了一个有效的方法。

核心期刊推荐