ObjectARX 类库
2019-04-21 本文已影响0人
吃柠檬的鸮
ObjectARX 环境包含下列几组类和函数:
前缀 | 描述 | 需要链接的库 |
---|---|---|
AcRx | 用于绑定应用程序及运行时类的注册和标识的类 | acad.lib rxapi.lib acrx15.lib |
AcEd | 注册本地 AutoCAD 命令和 AutoCAD 事件通知的类 | acad.lib rxapi.lib acedapi.lib acrx15.lib |
AcDb | AutoCAD 数据库类 | acad.lib rxapi.lib acdb15.lib acrx15.lib |
AcGi | 显示 AutoCAD 实体的图形类 | acad.lib rxapi.lib acgiapi.lib acrx15.lib |
AcGe | 公用线性代数学和几何学对象应用类 | acad.lib rxapi.lib acge15.lib acrx15.lib |
AcRx 库
- 提供一些系统级类,用于 DLL 的初始化和链接及运行时类的注册和标识。
基类:AcRxObject
功能:
· 对象运行时类标识和继承分析;
· 运行时向既有类添加新协议;
· 对象的比较测试;
· 对象复制。 - 提供了一套 C++ 宏,帮助创建派生于 AcRxObject 的新的 ObjectARX 类。
- 运行时类型标识
AcRxObject 的每个子类都有一个相关的类描述者对象(AcRxClass 类型),用于运行时类型的标识。 - 该库中一个重要的类 AcRxDictionary。词典提供一个文本字符串到另一个对象的一个映射。
AcRx 库类层次结构图:

AcEd 库
- 提供定义和注册新的 AutoCAD 命令的类,新命令具有与 AutoCAD 内部命令相同的内部结构(AcEdCommandStack)。
- 提供编辑器反应器和一套与 AutoCAD 通信的全局函数。
- 该库中一个重要的类 AcEditorReactor,用于监视 AutoCAD 编辑器的状态,并当指定事件发生时通知应用程序。
AcEd 库类层次结构图:

AcDb 库
- 提供组成 AutoCAD 数据库的类.
1) AutoCAD 数据库用于存储所有的图形对象(实体)和非图形对象(如层、线型和字型)
2) AutoCAD 数据库包含如下主要元素:
ⅰ) 九个符号表
每个表都拥有唯一的命名符号表条目对象,这些对象表示各种常用的 AcDbDatabase 对象和数据成员。
ⅱ) 命名的对象词典(类 AcDbDictionary)
提供 AutoCAD 图的目录表。
ⅲ) 一套固定的环境变量
大约有 200 个环境变量,其值是由 AutoCAD 设置的。
AcDb 库类层次结构图:

AcGi库
提供了用于绘制 AutoCAD 实体的图形界面
· AcDbEntity 成员函数 worldDraw()、viewportDraw() 和 saveAs(),及所有标准实体协议部件都使用 AcGi 库;
· worldDraw() 函数必须由所有自定义实体类定义;
· AcGiWorldDraw 对象提供一个 API,通过该 API AcDbEntity::worldDraw() 可以在所有视区同时生成其图形表示;
· AcGiViewportDraw 对象提供 API AcDbEntity::viewportDraw() 函数可以在每个视区生成不同的表达图形。
AcGi 库类层次结构图:

AcGe 库
- 提供了应用类(如向量和矩阵)
- 提供基本的几何对象(如点、曲线和表面)
- 提供了几个不同的坐标系统。
AcGe 库包含两主要的子集:二维和三维类,主要抽象基类分别为 AcGeEntity2d 和 AcGeEntity3d。
AcGe 库类层次结构图:
