- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
法兰盘基于CAD块设计程序
利用ObjectARX开发基于AutoCAD的法兰盘设计来源:中国论文下载中心????[ 08-05-05 16:58:00 ]????作者:章玉婷 李桥梁????编辑:studa0714-?摘? 要 本文讨论了在Visual C ++6 0的集成开发环境下,结合Object ARX和MFC开发AutoCAD2002应用程序的设计技术和方法,针对特定零件族的高效率绘制进行探讨,并围绕法兰盘设计绘制实例详细阐述了此CAD二次开发技术。
??? 关键词 ObjectARX;MFC;法兰盘
1? 概述
??? 在实际产品的设计中,对于产品的尺寸及工艺参数已经系列化的零件族, AutoCAD提供给的通用功能难以满足其快速生成图纸的需要。为适应快速绘制零件图、工艺路线设置、工艺参数设置、以及其它要求,必须在AutoCAD这种通用的绘图环境下建立一个集中的使用非常简洁的用户操作环境。
??? 本文拟构建一个操作环境,包括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 Library)是Windows环境下的编程应用程序框架,是封装的C++类库的扩展。ObjectARX(AutoCAD Runtime Extension)是AutoCAD采用面向对象的C++应用程序机制进行二次开发的有效工具,它的一个动态链接库(DLL),与AutoCAD共享一个地址空间,
??? 能够直接被后者调用,使开发者能够更直接地完成其深层数据结构、图形系统编程和用户命令的定义。ObjectARX提供了一套与MFC用户界面(UI)相关的类,MFC用户界面可以具有和AutoCAD用户界面一样的外观和行为。
3? 系统总体设计
3.1? AutoCAD数据库
??? AutoCAD基本的数据库对象是实体、符号表和词典。实体是在AutoCAD图内部表示图的一种特殊数据库对象,用户可以在屏幕上看见实体并能对其进行操作。符号表和词典是用于存储数据库对象的容器,这两个容器对象都映射一个符号名到一个数据库对象。
??? 一个AutoCAD数据库包含一套固定的符号表,每一个符号表包含一个特定符号表记录类的实例,用户不能向数据库添加新符号表。符号表包含层表和块表。所有AutoCAD实体都属于块表记录。词典为存储对象提供了比符号表更加普通的容器。一个词典可以包含任何类型的AcDbObject及其子类的对象。当AutoCAD创建新图时,AutoCAD数据库创建一个叫做“命名对象词典”的词典。AutoCAD数据库主要结构如图1。
图1 ?数据库结构
3.2? ARX程序自动加载和DWG文件读入
??? 对于已创建好的.arx程序,ARX程序的自动加载可以省去每次进入AutoCAD环境后手动加载程序的过程。有几种方法可以实现。最简便易行的方法是进入AutoCAD环境,选择“工具”菜单-“加载应用程序”—选择启动组的“内容”-“添加”。将已生成的ARX应用程序添加进来,下次启动AutoCAD环境时,该程序已被加载。在命令行中键入该程序的执行命令即可运行。程序运行流程图如图2。
图2 ?程序运行流程图
???? 利用ObjectARX AppWizard的addCommand()创建新Command,Function name为“OPEN”,部分代码如下:
void 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文件,
???? s
文档评论(0)