ObjectARX类库简介

转载自:http://www.cnblogs.com/jianglei-tz/archive/2012/11/05/2755124.html

ObjectARX简介

ObjectARX应用程序是一个动态链接库(DLL),它共享AutoCAD的地址空间并直接调用AutoCAD的函数。我们可以利用ObjectARX直接访问AutoCAD的数据库结构、图形系统以及AutoCAD几何构造核心。我们可以向ObjectARX编程环境添加新类,并将其输出以供其他程序调用。我们创建的自定义实体与AutoCAD内部实体没有任何区别。我们也可以在运行时通过向既有的AutoCAD类添加函数来扩充ObjectARX协议。由ObjectARX定义的外部命令与AutoCAD内部命令的执行机制是一样的。

ObjectARX应用程序的本质是Windows的DLL程序,而AutoCAD本身则是一个典型的Windows程序,ObjectARX应用程序与AutoCAD、Windows之间均采用Windows消息传递机制直接进行通信。

ObjectARX应用程序与AutoCAD在同一地址空间内运行并能直接利用AutoCAD核心数据库结构和代码。由ObjectARX应用程序定义的外部命令通过acedRegCmds()宏注册。这些外部命令与AutoCAD本身固有命令一样由AutoCAD本身执行。

ObjectARX应用程序以VisualC++语言为开发基础,具有面向对象编程方式的数据可封装性、可继承性及多态性等特点。由它开发的工程CAD软件具有模块性好、独立性强、连接简单、使用方便、内部功能高效实用以及代码可重用性强等优点,而且支持微软的MFC类库,能简洁高效的实现很多复杂的功能。

ObjectARX类库

ObjectARX环境包含下列几组类和函数:

AcRx 用于绑定应用程序及运行时类的注册和标识的类。AutoCAD Registration Extension;

AcEd 注册本地AutoCAD命令和AutoACD事件通知的类。AutoCAD Envent Directory;

AcDb AutoCAD数据库类。AutoCAD DataBase ;

AcGi 显示AutoACD实体的图形类。 AutoCAD Graph Interface;

AcGe 公用线性数学和几何学对象应用类。 AutoCAD Geometry Entity;

AcRx库提供了一些系统级类,用于DLL的初始化和链接及运行时类的注册和标识。该库的基类是AcRxObject,它提供如下功能:对象运行时 类标识和继承分析、运行时向既有类添加新协议、对象比较测试、对象复制。运行时类型标识是AcRxObject的每个子类都有一个相关的类描述者对象 (AcRxClass类型),用于运行时类型的标识。最常用函数:
AcRxObject::isA(); 用于类识别,被识别的类必须能够测试其类型。
AcRxObject::isKindOf(); 也是用于类识别,但这里的类能够被测试其类型,或者测试其派生类的类型。
AcRxObject::desc(); 返回类名。
AcRxObject::cast(); 试图将一个基类转换成更高级的类。如果转换成功,基类对象的指针将是转换后类型的指针。

该库也可以对应用程序进行加锁或解锁。使用函数::acrxUnlockApplication()可以使应用程序不可卸载。

AcEd库提供定义和注册新的AutoCAD命令的类,新命令的操作性能与AutoCAD内部命令是完全一样的。我们定义的新命令被当作本地命令是 因为它们与AutoACD内部命令具有相同的内部结构(AcEdCommandStack)。AcEd库还提供编辑器反应器和一套与AutoCAD通信的全局函数。注:该库中一个重要的类是 AcEditorReactor,它监视AutoCAD编辑器的状态,并当指定事件发生时(如形开始、终止和删除命令)通知应用程序。

AcDb库提供了组成AutoCAD数据库的类。AutoCAD数据库用于存储所有的图形对象和非对象;图形对象称为实体,组成AutoCAD图; 非图形对象(如层、线型和字型)也是图形的一部分。同时我们可以使用AcDb库查询和管理AutoCAD实体的实体对象,也可以创建新的数据库对象实例。 AutoCAD数据库包含如下主要元素:九个符号表,每个表都拥有唯一的命令符号表条目对象,这些对象表示各种常用的AcDbDatabase对象和数据 成员;命名的对象词典(类AcDbDictionary),提供AutoCAD图的目录表。对于新图来说,该目录表包含四个AutoCAD使用的其他词典 ID,同时我们的应用程序可以任意向该词典添加其他的对象;一套固定的环境变量,大约200个环境变量,其值上由AutoCAD设置的。

AcGi库提供了用于绘制AutoCAD实体的图形界面,AcDbEntity成员函数worldDraw()、viewportDraw()和saveAs(),及所有标准实体协议部件都使用AcGi库。

AcGe库提供了应用类,如向量和矩阵,用来完成二维和三维几何操作,它还提供基本的几何对象,如点、曲线和表面。AcGe还包含两个主要子集:二维和三维几何类,主要抽象基类分别为AcGeEntity2d和AcGeEntity3d。它提供了几何计算和数学计算函数,如矢量、点、矩阵的的运算等。在cad中每一个实体都有一个相对应的等价几何形状,他有助于在创建对应的真实感实体时进行数学计算。该库提供用于2D和3D计算的几何函数。例如,如果一条直线通过一个圆的附近,且需要求出直线到圆上的最近点,那么用库中的几何函数就可以求出所需要的点。

ObjectARX目录结构

├─arxlabs 目录存放AutoCAD ARX使用指南。

├─classmap 目录存放AutoCAD图形形式的ObjectARX类层次结构图。

├─docs 目录存放ObjectARX开发者的在线帮助文件,

├─inc ObjectARX头文件。

├─lib ObjectARX库文件。

├─redistrib ObjectARX应用程序运行所需要的DLL文件。

├─samples ObjectARX例子目录。

└─utils ObjectARX的扩展和开发小工具。如用于边界表达的brep和ObjectARX向导ObjARXWiz。

AcRx: acad.lib, rxapi.lib, acdb16.lib
AcEd: acad.lib, rxapi.lib, acedapi.lib, acdb16.lib
AcDb: acad.lib, rxapi.lib, acdb16.lib
AcGi: acad.lib, rxapi.lib, acdb16.lib
AcGe: acad.lib, rxapi.lib, acgeapi.lib, acdb16.lib

  • 3
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。
### 回答1: ObjectARX 是由 Autodesk 公司开发的一种用于 AutoCAD 平台的二次开发工具,可以用来创建自定义的应用程序和插件。ObjectARX 培训资料是针对开发人员提供的为学习和了解 ObjectARX 开发的材料和资源。 ObjectARX 培训资料通常会包括以下内容: 1. ObjectARX 概述:介绍 ObjectARX 的基本概念、架构和工作原理,帮助开发人员理解 ObjectARX 的核心概念和基本原则。 2. 开发环境设置:包括如何配置开发环境,安装和配置必要的软件和工具,以便于开始使用 ObjectARX 进行开发工作。 3. API 文档:提供 ObjectARX 的详细 API 文档,包括类、方法、属性等的描述和用法说明,开发人员可以根据需求查阅文档以快速正确地使用 ObjectARX 进行开发。 4. 示例和案例:提供一些实际的示例代码和案例,帮助开发人员了解如何使用 ObjectARX 进行常见的任务和功能开发。 5. 教程和培训课程:提供一些教程和培训课程,通过实际操作和指导,帮助开发人员逐步学习和掌握 ObjectARX 的开发方法和技巧。 6. 常见问题和解答:收集和整理一些常见的问题和解答,帮助开发人员解决在使用 ObjectARX 进行开发过程中遇到的问题。 通过学习和使用 ObjectARX 培训资料,开发人员可以掌握 ObjectARX 的基本原理和开发方法,进而可以使用 ObjectARX 开发出高效、个性化的 AutoCAD 应用程序和插件。这将有助于提升开发人员的技术水平和工作效率,满足用户的个性化需求。 ### 回答2: ObjectARX是由Autodesk公司开发的一套用于扩展AutoCAD功能的编程接口。它为开发者提供了丰富的类库和工具,可以用于创建自定义的AutoCAD应用程序。ObjectARX培训资料正是为了帮助开发者掌握ObjectARX编程技术而准备的学习资料。 ObjectARX培训资料通常包括以下内容: 1. 基础知识:介绍ObjectARX的概念、架构和基本原理,帮助开发者了解ObjectARX的基本工作原理和编程思想。 2. API文档:提供详细的ObjectARX类库和函数的介绍,包括类的成员函数、属性和事件等信息,方便开发者查阅和使用。 3. 示例代码:提供一些常用的示例代码,用于演示如何使用ObjectARX进行开发。这些示例代码可以帮助开发者理解ObjectARX的使用方法和编程技巧。 4. 实战项目:通过一些实际项目的案例,帮助开发者将ObjectARX应用于实际开发中。这些实战项目可以帮助开发者将理论知识转化为实际操作能力。 5. 常见问题解答:整理一些开发者常见的问题和解决方法,帮助开发者更好地理解和使用ObjectARX。 通过ObjectARX培训资料的学习,开发者可以逐步掌握ObjectARX的编程技术,提高开发效率,定制化AutoCAD功能,满足特定需求。此外,ObjectARX培训资料也提供了丰富的学习资源和技术支持,开发者可以通过学习资料和论坛等途径与其他开发者交流经验,互相学习。总之,ObjectARX培训资料是帮助开发者深入学习ObjectARX编程技术的重要工具。 ### 回答3: ObjectARX(Autodesk Runtime Extension)是由Autodesk开发的可扩展应用程序编程接口(API),专门用于AutoCAD和其他Autodesk软件的开发。ObjectARX使开发者能够创建定制化的插件、应用程序和功能,以满足特定的设计和工程需求。 ObjectARX培训资料主要包括以下内容: 1. 开发环境介绍:介绍ObjectARX开发所需的软件和工具,例如开发IDE(集成开发环境)、编译器、调试器等。 2. 基本概念讲解:解释ObjectARX的核心概念,如对象模型、实体、块、图层、数据链接等,以便开发者能够更好地理解ObjectARX编程。 3. 编程语言:ObjectARX支持多种编程语言,如C++、C#和VB.NET等。培训资料将介绍如何使用这些编程语言来开发ObjectARX应用程序。 4. 开发工作流程:详细描述了开发ObjectARX应用程序的整个工作流程,包括从项目创建、界面设计、代码编写、调试和部署等。 5. API文档和示例:提供了ObjectARX API的详尽文档和示例,开发者可以参考这些文档来了解ObjectARX的各种功能和用法。 6. 实战项目:通过实例项目,让开发者实际操作和实践ObjectARX编程技术,以加深对API的理解和应用。 ObjectARX培训资料对于想要深入学习和应用ObjectARX开发的人员非常重要,能够帮助他们掌握开发所需的基本知识和技巧,提高自己的编程水平,从而更好地开发出符合用户需求的定制化应用和功能。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值