法兰盘基于CAD模块设计程序.doc

上传人:星星 文档编号:1038984 上传时间:2024-03-28 格式:DOC 页数:7 大小:91.07KB
下载 相关 举报
法兰盘基于CAD模块设计程序.doc_第1页
第1页 / 共7页
法兰盘基于CAD模块设计程序.doc_第2页
第2页 / 共7页
法兰盘基于CAD模块设计程序.doc_第3页
第3页 / 共7页
法兰盘基于CAD模块设计程序.doc_第4页
第4页 / 共7页
法兰盘基于CAD模块设计程序.doc_第5页
第5页 / 共7页
点击查看更多>>
资源描述

1、ObjectARX开发基于AutoCAD的法兰盘设计摘 要本文讨论了在Visual C +6 0的集成开发环境下,结合Object ARX和MFC开发AutoCAD2002应用程序的设计技术和方法,针对特定零件族的高效率绘制进行探讨,并围绕法兰盘设计绘制实例详细阐述了此CAD二次开发技术。 关键词ObjectARX;MFC;法兰盘1 概述 在实际产品的设计中,对于产品的尺寸及工艺参数已经系列化的零件族, AutoCAD提供给的通用功能难以满足其快速生成图纸的需要。为适应快速绘制零件图、工艺路线设置、工艺参数设置、以及其它要求,必须在AutoCAD这种通用的绘图环境下建立一个集中的使用非常简洁的

2、用户操作环境。 本文拟构建一个操作环境,包括AutoCAD数据库、文件读入、交互式界面几个部分。2 Object ARX与MFC简介2.1 ObjectARX的类库构成 (1)AcRx库,提供系统层次的类,用于动态链接库的初始化以及运行时刻类的注册和标识。 (2)AcEd库,提供一组用于定义和注册新的AutoCAD命令的类。 (3)AcDb库,提供一组用于存取AutoCAD图形数据库结构的类。 (4)AcGi库,提供绘制AutoCAD实体图形界面的类。 (5)AcGe库,提供的实用类用于执行二维和三维几何操作。2.2 MFC MFC(Microsoft Foundation Class Lib

3、rary)是Windows环境下的编程应用程序框架,是封装的C+类库的扩展。ObjectARX(AutoCAD Runtime Extension)是AutoCAD采用面向对象的C+应用程序机制进行二次开发的有效工具,它的一个动态链接库(DLL),与AutoCAD共享一个地址空间, 能够直接被后者调用,使开发者能够更直接地完成其深层数据结构、图形系统编程和用户命令的定义。ObjectARX提供了一套与MFC用户界面(UI)相关的类,MFC用户界面可以具有和AutoCAD用户界面一样的外观和行为。3 系统总体设计3.1 AutoCAD数据库 AutoCAD基本的数据库对象是实体、符号表和词典。实

4、体是在AutoCAD图内部表示图的一种特殊数据库对象,用户可以在屏幕上看见实体并能对其进行操作。符号表和词典是用于存储数据库对象的容器,这两个容器对象都映射一个符号名到一个数据库对象。 一个AutoCAD数据库包含一套固定的符号表,每一个符号表包含一个特定符号表记录类的实例,用户不能向数据库添加新符号表。符号表包含层表和块表。所有AutoCAD实体都属于块表记录。词典为存储对象提供了比符号表更加普通的容器。一个词典可以包含任何类型的AcDbObject及其子类的对象。当AutoCAD创建新图时,AutoCAD数据库创建一个叫做“命名对象词典”的词典。AutoCAD数据库主要结构如图1。图1 数

5、据库结构3.2 ARX程序自动加载和DWG文件读入 对于已创建好的.arx程序,ARX程序的自动加载可以省去每次进入AutoCAD环境后手动加载程序的过程。有几种方法可以实现。最简便易行的方法是进入AutoCAD环境,选择“工具”菜单“加载应用程序”选择启动组的“内容”“添加”。将已生成的ARX应用程序添加进来,下次启动AutoCAD环境时,该程序已被加载。在命令行中键入该程序的执行命令即可运行。程序运行流程图如图2。图2 程序运行流程图 利用ObjectARX AppWizard的addCommand()创建新Command,Function name为“OPEN”,部分代码如下:void

6、OpenDoc( void *pData) AcApDocument* pDoc = acDocManager- curDocument(); if (acDocManager-isApplicationContext() acDocManager-appContextOpenDocument (const char *)pData); else acutPrintf(nERROR To Open Doc!n); void OPEN() /打开系统中存在的路径为e:test.dwg 的DWG文件, static char pData = e:test.dwg; acDocManager-exe

7、cuteInApplicationContext(OpenDoc, (void *)pData);3.3 无模式对话框建立 对话框是Windows应用程序常用的与用户对话通讯的窗口界面,对话框可分为模式(Model)对话框和无模式对话框(Modeless),模式对话框要求用户在使用程序的其它任何部分之前关闭对话框。AutoCAD总是试图不使系统聚焦于其子窗口,故使用无模式对话框。 初始化函数:Create函数。其功能为使用资源中的对话框模板创建无模式对话框。Create函数参数说明参数说明lpszTemplateName包含对话框模板的空中止字符串nIDTemplate包含对话框模板的资源中I

8、D号pParentWnd对话框的父窗体的指针,如果此值为NULL,则对话框的父窗体为主应用程序窗体在一常规间歇内,无模式对话框收到WM_ACAD_KEEPFOCUS窗口消息。当对话框接收到此消息时,如想保持聚焦则应返回TRUE,否则返回FALSE(缺省值),此时鼠标一离开对话框系统就不再聚焦于对话框。在对话框的消息映射中ON_MESSAGE()函数如下: BEGIN_MESSAGE_MAP(HelloDlg CDialog)ON_COMMAND(IDCLOSE,OnClose)ON_COMMAND(IDC_DRAW_CIRCLE,OnDrawCircle)ON_ MESSAGE(WM_ACAD

9、_KEEPFOCUS,OnAcadKeepFocus)END_MESSAGE_MAP() 在这里应用对话框类为HelloDlg,它由Cdialog类派生。当将这一入口加入到消息映射中时必须为该消息写一句柄函数。假定我们已写了一函数keepFocus(),它在对话框保持聚焦时返回TRUE,反之返回FALSE。消息句柄函数为: Afx msg LONG HelloDlg:onAcadKeepFocus(UINT,LONG)return keepTheFocus()? TRUE:FALSE;3.4 用户界面设计 下面以法兰盘的设计为例,介绍以ObjectARX对AutoCAD进行二次开发的过程。 (

10、1)创建ObjectARX MFC应用程序框架。在Microsoft Visual C+中用利用ObjectARX AppWizard新创建一个工程。选择MFC Extension DLL,结束创建。(2)创建MFC对话框。在Visual C+ App Studio加入一个对话框资源。(3)创建类和控件。用ClassWizard创建新对话框类,并给对话框命名。本例中采用默认选项。为对话框内的资源添加相应的类控件。 C_BUTTON资源添加CButton类控件;IDC_EDIT资源添加Cedit类控件;IDC_COMBO资源添加CComboBox类控件。(4)创建对话框控制函数。在ClassWi

11、zard中为对话框添加“DoModal”与“OnInitDialog”函数。(5)给对话框控制函数添加代码。部分代码如下:/读ID号为“IDC_EDIT1”的EditBox中输入值至变量m_edit1 CEdit* pE = (CEdit*)GetDlgItem(IDC_EDIT1); CString szO; pE-GetWindowText(szO); float m_edit1 = atof(szO);/创建直线 AcGePoint3d startPt(x,y,0.0); AcGePoint3d endPt(x+m_edit1,y,0.0); AcDbLine *pLine=new Ac

12、DbLine(startPt,endPt); /创建圆 AcDbCircle *pCircle = new AcDbCircle(center,normal,r);图3 法兰盘对话框设计实例4 开发系统的实现 运行AutoCAD后,创建的ARX程序自动加载。直接在命令行输入自定义命令“FLP”后,出现对话框如图三。在组合框的下拉菜单中选择所需的零件系列号数,则文本框中会调用相应零件的尺寸参数,也可以修改文本框中的尺寸。完成后按“确定”,系统按自定义的尺寸参数自动生成所需的零件图如图4所示。图4 法兰盘零件图5 结束语 本设计基于ObjectARX的平台,使用Visual C+对AutoCAD进

13、行二次开发,编制一个具有初步的CAD软件结构、用户接口和操作方式的交互式CAD系统,可以准确迅速地得到设计模型。该技术实现了参数化设计,提高了设计效率和运行速度。参考文献1 Charles McAuley著,李世国等译. AutoCAD2000 ObjectARX编程指南 M, 北京:机械出版社,2000. 2 陈彬,王宁,郭剑峰.用ObjectARX开发AutoCAD2000应用程序M. 人民邮电出版社, 2000. 3 徐晓刚等.Visual C+6.0入门与提高M. 北京:清华大学出版社,1999.4 邱爱红,聂松辉.用Object ARX开发AutoCAD中的标准件与常用零部件J.电脑与信息技术.2002年,04期.5 David J K.Visual C+ 技术内幕M.北京:清华大学出版社,1999. .

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 其他资料

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1 

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922