第一章 ObjectARX入门

ObjectARX中的ARX表示AutoCAD运行时扩展(AutoCAD Runtime eXtension)。
1、CAD二次开发时对应的Visual C++版本

CAD版本 ObjectARX版本 VS版本 
 VS版本
 CAD R12   ARX 1 VC2  
 CAD R14   ARX 202   VC4.2  
 CAD2000/2002即R15、R15.0.7  ObjectARX 2002 VC6.0  _MSC_VER = 1200 
 CAD2004-AutoCAD2006 即R16  ObjectARX 2005 VC2002(即7.0) _MSC_VER = 1300
 CAD2007-AutoCAD2009 即R17  ObjectARX 2007   VS2005(即8.0) _MSC_VER = 1400
 CAD2010/CAD2011   Arx2010 vs2008  (即9.0) _MSC_VER = 1500

2、ARX入口点函数:
  exern "C" AcRx::AppRetCode
  AcrxEntryPoint(AcRx::AppMsgCode msg,void* pKt);
extern "C" 通知AutoCAD acrxEntryPoint是一个外部函数。
参数: AutoCAD消息:
KInitAppMsg         当应用程序加载后进行AutoCAD与应用程序之间的通信时发送。
KUnloadAppMsg    当卸载ARX应用程序时(用户卸载应用程序或者AutoCAD本身中断程序时)发送,关闭文件并完成清除操作。
KLoadDwgMsg      当打开绘图文件时发送。使应用程序的函数可以调用ADSRX函数库,只有在应用程序用acedDefun()注册为一个AutoLISP函数后才能发送消息。
返回值:
KUnloadDwgMsg  当用户退出绘图并卸载ADS函数库时发送。
enum AppRetCode{
KRetOk    =0,
KRetError =3 };

3、课程入门第一个程序:Hello Word

 1     #include "stdafx.h"  
 2     #include <aced.h>  
 3     #include <rxregsvc.h>   
 4     #include <TCHAR.h>  
 5       
 6       
 7     void initApp();  
 8     void unloadApp();   
 9     void helloWorld();  
10       
11       
12       
13     void initApp()  
14     {   
15         // register a command with the AutoCAD command mechanism  
16         acedRegCmds->addCommand(_T("HELLOWORLD_COMMANDS"),  //hello world commands
17             _T("Hello"),  
18             _T("jianglei"),  
19             ACRX_CMD_TRANSPARENT,  
20             helloWorld);  
21     }  
22       
23       
24     void unloadApp()  
25     {   
26         acedRegCmds->removeGroup(_T("HELLOWORLD_COMMANDS"));  
27     }  
28       
29       
30       
31       
32     void helloWorld()  
33     {   
34         acutPrintf(_T("\nHello World!"));  
35       
36     }  
37       
38     extern "C" AcRx::AppRetCode  
39     acrxEntryPoint(AcRx::AppMsgCode msg, void* pkt)  
40     {   switch (msg)  
41         {  
42       
43         case AcRx::kInitAppMsg:  
44             acrxDynamicLinker->unlockApplication(pkt);  
45             acrxRegisterAppMDIAware(pkt);  
46             initApp();  
47             break;  
48         case AcRx::kUnloadAppMsg:  
49             unloadApp();  
50             break;  
51         default:  
52             break;  
53       
54         }  
55       
56         return AcRx::kRetOK;  
57       
58     } 

 其中最常用的函数是: acutPrintf(_T("\nHello World!")); 相当于C语言中的printf函数。

      最重要的是: acedRegCmds->addCommand()宏,把自定义命令加入到CAD的命令列表中。

4、定制类

其中CAD大部分类都是从类AcRxObject派生出来的。所以相当于C++中的类CObject;例如从这个类派生出来的AcDbObject类,它包含了CAD数据库常驻对象,例如符号表,实体等;而cad中 所以实体都是从AcDbEntity类派生的,如AcDbLine.

转载于:https://www.cnblogs.com/jianglei-tz/archive/2012/09/02/objectARX_one.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: ObjectARX(Autodesk Runtime Extension)是Autodesk公司开发的一种用于编写AutoCAD和AutoCAD衍生软件的应用程序编程接口(API)。它允许开发人员通过使用C++编程语言和AutoCAD提供的功能来创建自定义的功能和工具。 ObjectARX提供了广泛的功能,使开发人员可以轻松地访问和操作AutoCAD文件中的对象和数据。开发人员可以创建自定义的命令和功能,通过菜单、工具栏或命令行调用并与AutoCAD进行交互。还可以使用ObjectARX创建自定义的对象和实体,并对它们进行编辑和修改。 通过ObjectARX,开发人员还可以访问AutoCAD的各种功能和服务,包括图形显示、图层管理、块定义、属性和数据提取等。这使得开发人员可以构建功能强大的应用程序,扩展AutoCAD的功能并提高设计和绘图效率。 ObjectARX电子书是一种电子书籍,用于指导开发人员如何使用ObjectARX进行AutoCAD开发。这些电子书通常包含有关ObjectARX的详细信息和示例代码,以帮助开发人员掌握ObjectARX编程技巧和最佳实践。开发人员可以通过阅读这些电子书,了解ObjectARX的概念和用法,并学习如何应用它来创建自定义的AutoCAD应用程序。 总之,ObjectARX是一种用于编写AutoCAD和AutoCAD衍生软件的API,它提供了丰富的功能和服务,可以通过编程方式访问和操作AutoCAD文件中的对象和数据。ObjectARX电子书则是提供给开发人员的辅助材料,以帮助他们学习和应用ObjectARX编程。 ### 回答2: ObjectARX是为AutoCAD软件开发插件和自定义应用程序的一种编程接口。它允许开发者使用C++语言来创建诸如工具栏、菜单、命令、实体、绘图对象等功能,从而扩展和增强AutoCAD的功能和性能。ObjectARX是基于面向对象的编程理念构建的,它提供了广泛的类库和函数,以及丰富的开发文档和示例。同时,ObjectARX可以与其他Autodesk产品(如AutoCAD Mechanical、AutoCAD Civil 3D等)进行集成开发,实现跨软件平台的应用程序。 ObjectARX电子书是一种提供关于ObjectARX编程接口的电子书籍。它通常包含了ObjectARX的入门介绍、编程指导、开发技巧、实例代码等内容。ObjectARX电子书可以帮助开发者快速了解和掌握ObjectARX的使用方法和技术,并且可以作为参考资料在实际开发过程中查询和学习。 通过阅读ObjectARX电子书,开发者可以学习如何利用ObjectARX接口进行自定义应用程序的开发,从而实现更加强大和个性化的AutoCAD软件功能。ObjectARX电子书提供了丰富的示例代码,可以帮助开发者快速上手,并且了解和掌握ObjectARX的核心概念和编程技术。 总之,ObjectARX电子书是一种便捷的学习工具,可以帮助开发者深入学习和应用ObjectARX编程接口,以实现更加高效和创新的AutoCAD自定义应用程序。 ### 回答3: ObjectARX是由AutoCAD提供的一个编程接口,用于开发AutoCAD的定制应用程序。它是一种强大的工具,可以允许开发人员通过编写ObjectARX代码来扩展和定制AutoCAD的功能。它提供了与AutoCAD内部对象交互的能力,可以创建和修改图形元素、添加自定义命令、实现自定义绘图功能等。 ObjectARX电子书是为了帮助开发者更好地学习和应用ObjectARX而创建的一种资源。它通常包含有关ObjectARX编程的理论知识、实用技巧和示例代码等内容。 ObjectARX电子书可以帮助开发者了解ObjectARX的核心概念和基本用法,通过详细的讲解和示例代码,开发者可以学习如何使用ObjectARX来创建自定义的AutoCAD应用程序。它可以覆盖ObjectARX的各个方面,包括对象操作、图元绘制、用户界面开发、数据交互等。 通过学习ObjectARX电子书,开发者可以掌握使用ObjectARX进行AutoCAD应用程序开发的技能,从而能够根据实际需求对AutoCAD进行定制和扩展。ObjectARX电子书还可以帮助开发者解决实际开发过程中遇到的问题,提高开发效率和质量。 总之,ObjectARX电子书是一种有助于开发者学习和应用ObjectARX编程接口的资源,通过学习它可以帮助开发者掌握AutoCAD应用程序的开发技能,并且能够进行定制和扩展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值