arx初学经验

本文分享了ARX初学者的学习经验,强调了掌握AutoCAD、C++和面向对象编程的基础知识的重要性。ARX虽然能提供高效且深入的AutoCAD集成,但也可能导致错误导致软件崩溃。文章介绍了使用ARX访问和修改AutoCAD实体的基本步骤,包括open-close机制,并提醒开发者注意错误检查和对象的读写权限。
摘要由CSDN通过智能技术生成

对于一个arx的初学者来说,能够利用arx来完成一定的工作,需要经过一个比较漫长的过程,通常可能会

在一到两个月的时间里感觉无从下手。

现将本人使用arx中积累的一点小经验发表在本版,起一个抛砖引玉的作用,欢迎大家讨论。

 

[预备]

掌握arx之前应具有的基本知识:

* 能够较为熟练的使用AutoCAD

* c++和面向对象编程的基本概念

* 使用过ads或autolisp等开发工具(没用过也无所谓)

 

利用arx开发的程序在autoCAD中的运行效率、与AutoCAD的协调程度,以及它的灵活深入是其他开发方法所无法比拟的。但arx的致命弱点是它很容易导致一些严重的错误而使得AutoCAD崩溃,甚至使造成严重的死机。这些都要求arx的开发人员养成一个良好的编程习惯,在arx代码中加入进行严谨的错误检查,尽量确保在发现异常后能后及时返回,避免发生严重错误。为了简单起见,在我所给出的所有示例程序中,均省略了错误检查。

对于一个已经能够熟练使用ads进行AutoCAD开发的程序员来讲,一条迅速升级的途径就是使用AdsRx进行开发。所谓的AdsRx就是利用arx(动态连接)接口,采用ads方法编程的的开发方法。这种方法可以保证程序的可靠性,并可以获得折衷的效率。

[open-close方式访问AutoCAD实体]

ObjetArx2004+VS2002前提:安装好以上两种软件创建步骤:1. 新建项目 Visual C++项目->选择ObjectARX/DBX/OMF->键入"Demo"项目名称 ->MFC Support中勾选Enxtension Dll->using MFC Shared DLL,其他取默认值2. 删除文件 在“解决方案资源管理器”中删除向导生成的acrxEntryPoint.cpp,DocData.cpp,DocData.h文件 同时可以在文件夹下彻底删除文件,后续步骤并不需要用到这3个文件3. 添加Demo.h文件 同时在Demo.h文件中加入代码 #pragma once #include"resource.h"3. 创建一个普通对话框,基于CDialog类,并生成类CDlgDemo4. 打开Demo.cpp文件,对这个文件要进行比较多的操作 ·注释掉"AFX_EXTENSION_MODULE DemoExtDLL ={ NULL, NULL };"这一句 ·添加#include "DlgDemo.h"头文件 ·添加函数DlgDemo(),具体见附件源文件代码 ·添加initApp(),unloadApp() ·注释掉DllMain中的"_hdllInstance =hInstance ;" ·在文件的末尾添加acrxEntryPoint() 这里需要提醒一下的是关于AC_IMPLEMENT_EXTENSION_MODULE(DemoDLL)的使用 涉及到了Dll资源的使用,所以DemoDLL在这里相当于一个连接AutoCAD和MFC的纽带, 保持整个Demo.cpp中,DemoDLL的一致5. 项目设置 菜单"工具"->"选项"->"项目"->"包含文件"->添加ObjectARX2004的inc目录 ->"库文件"->添加ObjectARX2004的lib目录6. 生成解决方案 一切pass,有2个警告rxapi.lib(libinit.obj) : warning LNK4099: 未发现 PDB“msvc.pdb” acedapi.lib(acedstub.obj) : warning LNK4099: 未发现 PDB“corehdr.pdb” 不用去管它,ObjectARX开发文档已经说明了这个问题的存在,不影响使用#至此为止,我们已经生成了MarkDemo.arx,在Debug目录下可以找到,下面将继续介绍如何在 AutoCAD2004菜单中自动加载Demo对话框
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值