第一章 概述
1.1 ARX简介
1.1.1 ARX的库
1.1.2 AutoLISP、ADS和ARX
1.1.3 比较ADS和ARX的函数调用
1.1.4 运行类型的识别
1.2 数据库
1.2.1 AutoCAD数据库
1.2.2 基本数据库对象
1.2.3 打开和关闭ARX对象
1.3 ARX程序编译和运行环境
第二章 一个完整的ARX应用程序
2.1 ARX应用程序的结构
2.1.1 acrxEntryPoint()用法
2.1.2 AutoCAD发给ARC应用程序的消息
2.2 登记新的命令
2.2.1 命令堆栈
2.2.2 查找次序
2.2.3 全球和地区命令名
2.2.4 透明命令
2.2.5 查询命令
2.2.6 应用实例
2.3 调用一个ARX应用程序
2.4 卸载ARX应用程序
2.5 需求调用
2.5.1 AutoCAD、Windows系统注册表和ARX应用程序
2.5.2 在ARX应用程序的安装程序中修改注册表
2.5.3 需求调用系统变量
2.5.4 检测到用户对象时的需求调用
2.5.5 用户命令下的需求调用
2.5.6 AutoCAD启动时的需求调用
2.5.7 使用系统注册表来管理应用程序
2.6 ARX用户命令
2.7 错误处理
第三章 数据库操作
3.1 初始化数据库
3.2 创建和组织一个数据库
3.3 保存一个数据库
3.4 Wblock操作
3.4.1 从一个已存在的数据库中创建一个新的数据库
3.4.2 创建含实体的数据库
3.5 插入一个数据库
3.6 设置当前数据库的值
3.6.1 数据库颜色值
3.6.2 数据库线型值
3.6.3 数据库线型比例值
3.6.4 数据库层值
3.7 外部引用
3.8 数据库操作实例
第四章 数据库对象
4.1 打开和关闭对象
4.2 删除对象
4.3 对象的数据库所有权
4.4 加入对象特征数据
4.4.1 扩展数据
4.4.2 扩充词典
4.4.3 ADS的例子
4.5 擦除对象
4.6 对象归档
第五章 实体
5.1 实体定义
5.2 实体的从属关系
5.3 AutoCAD R14的实体
5.4 共有的实体属性
5.4.1 实体颜色
5.4.2 实体线型
5.4.3 实体线型比例
5.4.4 实体的可见性
5.4.5 实体的层
5.5 共有的实体函数
5.5.1 对象捕捉点
5.5.2 变换函数
5.5.3 交叉点
5.5.4 GS标记和子实体
5.5.5 炸开实体
5.6 创建AutoCAD实体实例
5.6.1 创建一个简单实体
5.6.2 创建一个简单的块表记录
5.6.3 创建一个带属性定义的块表记录
5.6.4 创建带有属性的块引用
5.6.5 遍历一个块表记录
5.7 复杂实体
5.7.1 创建一个复杂实体
5.7.2 遍历polyline的顶点
5.8 坐标系访问
5.8.1 实体坐标系
5.8.2 AcDb2dPolylineVertex
5.9 曲线函数
第六章 容器对象
6.1 符号表和词曲
6.2 符号表
6.2.1 块表
6.2.2 层表
6.3 遍历
6.3.1 词典
6.3.2 组和组词典
6.3.4 Mline样式词典
6.4 Xrecords
6.4.1 Xrecord的DXF组码
6.4.2 实例
第七章 派生一个用户ARX类
7.1 用户类的派生
7.2 运行类的声明
7.3 声明类的宏
7.4 执行类的宏
7.5 类初始化函数
第八章 从AcDbObject类派生
8.1 重载AcDbObject类的虚拟函数
8.1.1 必须进行重载的AcDbObject虚拟函数
8.1.2 通常情况下需要重载的AcDbObject虚拟函数
8.1.3 偶尔需要重载的AcDbObject虚拟函数
8.1.4 很少需要重载的AcDbObject虚拟函数
8.1.5 很少需要重载的AcRxObject虚拟函数
8.1.6 需要重载的AcDbEntity虚拟函数
8.1.7 通常都重载的AcDbEntity虚拟函数
8.1.8 很少进行重载的AcDbEntity虚拟函数
8.1.9 需要重载的AcDbCurve虚拟函数
8.2 成员函数的实现
8.3 将对象存为DWG和DXF文件
8.3.1 dwgOut()函数
8.3.2 dwgIn()函数
8.3.3 dxfOut()函数
8.3.4 dxfIn()函数
8.3.5 错误检查
8.3.6 执行DWG存储函数
8.3.7 执行DXF存储函数
8.4 对象的引用
8.5 从属关系的引用
8.5.1 从属关系的应用
8.5.2 从属关系的类型
8.5.3 建立一个从属层次
8.6 指针引用
8.6.1 硬指针
8.6.2 软指针
8.7 撤消和重复
8.7.1 自动撤消
8.7.2 部分撤消
8.7.3 恢复
8.8 SubErase,SubOpen.SubClose和subCancel函数
8.9 AcdBobject类派生实例
8.9.1 头文件
8.9.2 源文件
8.10 对象版本支持
第九章 从AcDbEntity类派生
9.1 实体的显示
9.1.1 AcDbEntity::SaveAs()函数
9.1.2 AcGi对象的有效范围
9.1.3 再生类型
9.1.4 设置实体特性
9.1.5 原语
9.1.6 镶嵌
9.1.7 导构线
9.1.8 视点
9.1.9 变形
9.2 基本实体函数
9.2.1 对象点捕捉函数的实现
9.2.2 对象点抓取函数的实现
9.2.3 对象点拉伸函数的实现
9.2.4 重载变形函数
9.2.5 重载相交函数
9.3 实体功能扩展
9.4 使用ARX的AcEdJig类
9.4.1 从AcEdJig类中派生新类
9.4.2 使用AcEdJig类的基本步骤
9.4.3 顺序拖动的参数设置
9.4.4 拖动循环
9.4.5 实现sampler()函数、update()函数和entity()函数
9.4.6 添加实体到数据库中
9.4.7 程序举例
第十章 代理对象
10.1 代理对象定义
10.2 代理对象的生命周期
10.3 用户与代理对象的关系
10.4 代理实体的显示
10.5 编辑代理实体
10.6 应用程序的卸载
第十一章 通告
11.1 什么是通告
11.1.1 反应器类
11.1.2 对象反应器的类型
11.2 使用反应器
11.2.1 AcDbobject类的数据库通告事件
11.2.2 用户自定义通告
11.2.3 使用编辑反应器
11.2.4 使用数据库反应器
11.2.5 使用对象反应器
11.3 通告使用注意事项
第十二章 交易管理
12.1 交易管理简介
12.2 交易管理器
12.3 交易的嵌套
12.4 交易的边界
12.5 交易中对象指针的获取
12.6 交易中的对象新建
12.7 交易管理中的操作恢复
12.8 交易模型与打开/关闭机制的共存
12.9 交易管理中的图形创成
12.10 交易反应器
12.11 交易嵌套实例
第十三章 深层克隆
13.1 深层克隆
13.1.1 使用函数clone()和函数deepClone()
13.1.2 克隆的基本概念
13.1.3 典型的深层克隆操作
13.1.4 克隆没所有者中的对象
13.2 在用户类中使用deepCline()
13.2.1 使用深层克隆原AutoCAD命令
13.2.2 克隆阶段
13.2.3 转换阶段
13.2.4 命名的对象字典
13.2.5 重载deepCline()函数
13.2.6 重载wblockCline()函数
13.2.7 追加方法:AcDbBlockTableRecord::appendAcDbEntity()
13.2.8 块克隆过程中AcDbEntities硬引用的处理
13.2.9 插入操作
13.2.10 编辑反应器通告函数
第十四章 协议扩展
14.1 协议扩展的定义
14.2 协议扩展的实现
14.2.1 专用明和定义协议扩展类
14.2.2 注册协议扩展类
14.2.3 协议扩展的缺省类
14.2.4 卸载应用程序
14.2.5 协议扩展机能在应用程序中的使用
14.3 “MATCH”命令的协议扩展
14.4 协议扩展应用实例
第十五章 在ARX应用程序中使用MFC
15.1 Auto中的MFC
15.1.1 动态/静态链接的MFC库
15.1.2 MFC创建无模态对话框
15.2 动态链接MFC的ARX应用程序
15.2.1 与MFC库动态链接的Visual C++工程的设置
15.2.2 使用动态MFC调试ARX应用程序
15.2.3 资源管理
15.2.4 ARX应用程序的升级
15.3 与MFC的ARX应用程序
15.3.1 与MFC库动态链接的Visual C++工程的设置
15.3.2 MFC的初始化
15.3.3 使用程序对象
15.3.4 使用AutoCAD中的框架和视图窗口句柄
15.3.5 静态MFC链接的ARX应用程序举例
15.3.6 静态链接MFC库的应用程序的升级
第十六章 ActiveX自动化
16.1 ActiveX自动化的定义
16.2 创建ActiveX自动化ARX应用程序的基本步骤
16.3 ARX对自动操作的支持
16.4 自动操作应用实例
16.4.1 ODL文件
16.4.2 类描述头文件
16.4.3 文件注册
16.4.4 实始化ActiveX
16.4.5 IDispatch接口
16.4.6 IAcadBaseObject接口
16.4.7 类代理坊
16.4.8 析构器
16.4.9 发布ActiveX
16.4.10鞋 kOleUnloadAppMsg消息响应
16.5 创建自定义实全的应用程序窗口
16.6 ARX应用程序与AutoCAD的运行期兼容性
16.7 ARX应用程序的自动化方案
16.8 使用Visual Basic编程
第十七章 移植ADS程序到ARX
17.1 为什么要移植ARX
17.1.1 ARX入口acrxEntryPoint
17.1.2 移植ARX应用程序必须包含的ARX头文件
17.2 在ARX环境下加载应用程序
17.3 在ARX编程环境下创建应用程序
17.4 应用程序实例
第十八章 ObjcectARX的几何类库
18.1 几保类库简介
18.1.1 A cGe类库的继承关系
18.1.2 A cGe类库
18.1.3 几何类型中公差的处理
18.2 使用基本的几何类型
18.2.1 点和向蛳的操作
18.2.2 矩阵的操作
18.3 使用line和Plane类
18.4 参数化曲线
18.4.1 参数化曲线
18.4.2 参数化求值类
18.5 持续化的 A cGe实体
18.6
第十九章 使用边界表述类库
19.1 使用AcBr库
19.2 拓朴和几何
19.3 用户程序中的基本元素
19.4 使用横断面
19.5 使用边界元素类
19.5.1 AcBrBrep类
19.5.2 AcBrFace类
19.5.3 AcBrlLoop类
19.5.4 AcBrEdge类
19.5.5 AcBrVertex类
19.6 横断面类
19.6.1 AcBrBrepFaceTraverser类
19.6.2 AcBrFaceLoopTraverser类
19.6.3 AcBrLoopEdgeTraverser类
19.6.4 AcBrLoopVertexTraverser类
19.6.5 AcBrEdgeLoopTraverser类
19.7 错误返回码
19.8 应用实例
19.8.1 形体模型中拓朴元素和几何元素的数据访问
19.8.2 三维模型空间边界块的计算
19.8.3 创建AutoCAD/ObjectARX/ADS的应用程序接口