第1章 ObjectARX入门 1
1.1 引言 1
1.2 如何选择Visual LISP、VBA或ObjectARX 2000进行AutoCAD编程 1
1.2.1 AutoLISP/Visual LISP 1
1.2.2 用于应用程序的Visual Basic 2
1.2.3 ADS 2
1.2.4 ObjectARX 2
1.3 选用哪一种Visual C++版本 2
1.4 为什么要学MFC 3
1.5 动态链接库 3
1.6 ARX入口点函数:AcrxEntryPoint() 4
1.7 创建第一个ObjectARX应用程序 6
1.7.1 创建DLL 6
1.7.2 在Visual C++工程中插入文件 7
1.7.3 修改工程设置 8
1.8 运行Hello1 ARX程序 10
1.9 ARX应用程序HELLO1的成员 13
1.10 用定制类创建一个ARX应用程序 14
1.10.1 用从AcRxObject中派生出来的类创建一个应用程序 16
1.10.2 运行Hello2 ObjectARX应用程序 19
1.10.3 ARX应用程序HELLO2的成员 20
1.11 ObjectARX 2000向导 24
1.12 辅助资源 24
第2章 ObjectARX环境与本书综述 26
2.1 ObjectARX库 26
2.2 AcRx库 26
2.3 AcEd库 27
2.4 AcDb库 27
2.5 AcGi库 28
2.6 AcGe库 28
2.7 ADSRX库(以前的ADS) 28
2.8 本书内容概述 28
3.1 ADS的历史 32
3.2 ADS中定义的变量、类型和常数值 32
第3章 ADSRX(ADS)基础 32
3.3 ADSRX中的AutoCAD命令 36
3.4 向用户发送信息 38
3.5 应用程序实例CH3_1 39
3.6 应用程序实例CH3_1要点分析 45
3.7 获取用户信息 46
3.8 在AutoCAD中选择实体 55
3.9 应用程序实例CH3_1要点的进一步分析 57
3.10 选择集 58
3.10.1 选择集的过滤 61
3.10.2 选择集的关系过滤 62
3.10.3 选择集的条件过滤 63
3.10.4 选择集的扩展实体数据过滤 64
3.10.5 转换矩阵和选择集 64
3.10.6 选择集的操作 66
3.11 数据类型转换函数 68
3.12 应用程序实例CH3_2 70
3.14 应用程序实例CH3_3 75
3.13 应用程序实例CH3_2要点分析 75
3.15 应用程序实例CH3_3要点分析 79
第4章 AutoCAD的数据库和实体结构 80
4.1 符号表 81
4.2 有名对象字典 81
4.3 数据库对象的初始状态 82
4.4 实体句柄、对象ID号和多重数据库 82
4.5 创建对象 83
4.6 用ObjectARX创建对象 84
4.7 对象的打开和关闭 87
4.8 在组字典中加进一个组 87
4.9 AutoCAD的数据库结构 88
4.10 数据库常驻对象 89
4.11 常用返回码 92
4.12 符号表函数 94
4.13 应用程序实例CH4_1 98
4.14 应用程序实例CH4_1要点分析 105
4.15.1 AcDbEntity类查询函数 107
4.15 AutoCAD的实体类 107
4.15.2 AcDbEntity类编辑函数 109
4.15.3 AcDbEntity类杂函数 111
4.15.4 AcDbCurve类 111
4.15.5 AcDbLine类 114
4.15.6 AcDbCircle类 115
4.16 应用程序实例CH4_2 116
4.17 应用程序实例CH4_2要点分析 121
4.18 应用程序实例CH4_3 122
4.19 应用程序实例CH4_3要点分析 129
4.20 ObjectARX的集合类 131
4.21 应用程序实例CH4_4 132
4.22 AutoCAD的复杂实体 135
4.23 应用程序实例CH4_5:AcDbPolyline 136
4.24 应用程序实例CH4_6:AcDbBlockReference 140
4.25 应用程序实例CH4_7:AcDbBlockReference和AcDbAttribute 143
4.26 应用程序实例CH4_8:AcDbBlockReference和AcDbAttribute 147
第5章 ObjectARX的几何类 152
5.1 几何基本类概述 152
5.1.1 AcGePoint2d 152
5.1.2 矩阵操作 154
5.2 AcGe二维实体类 156
5.2.1 AcGeEntity2d 156
5.2.2 AcGeCurve2d 157
5.2.3 AcGeLinearEnt2d 161
5.2.4 AcGeCircArc2d 163
5.2.5 AcGe三维实体类层次 165
5.3 应用程序实例CH5_1 166
第6章 DCL对话框 200
6.1 对话框的组成 200
6.1.1 预定义的活动控件 203
6.1.2 预定义控件的属性 212
6.1.3 布局和尺寸属性 214
6.1.4 功能属性 214
6.2 DCL语法 215
6.1.5 关键字属性 215
6.3 应用程序实例CH6_1 217
6.4 常用的对话框函数 222
6.5 单文档界面和部分注意事项 224
6.6 应用程序实例CH6_2 226
6.7 隐藏对话框 235
6.8 应用程序实例CH6_3 235
6.9 嵌套对话框 249
6.10 应用程序实例CH6_4 253
第7章 MFC对话框和ObjectARX的用户界面扩展 255
7.1 工程设置 255
7.2 资源 256
7.3 模式对话框函数和应用程序实例CH7_1 257
7.4 模式对话框函数和应用程序实例CH7_2 268
7.5 无模式对话框函数和应用程序实例CH7_3 285
7.6 标签式对话框和应用程序实例CH7_4 288
7.7 向导式对话框和应用程序实例CH7_5 296
7.8 通用控件和应用程序实例CH7_6 303
7.9 单一资源动态链接库和应用程序实例CH7_7 319
7.10 其他示例资料 322
第8章 定制类、实体和ObjectDBX 324
8.1 扩展实体数据和应用程序实例CH8_1 324
8.2 扩展字典和应用程序实例CH8_2 334
8.3 有名对象字典和应用程序实例CH8_3 339
8.4 派生于AcDbObject的定制类和应用程序实例CH8_4 342
8.5 ObjectDBX 355
8.6 派生于AcDbEntity的定制实体和应用程序实例CH8_5 356
8.7 其他示例资料 382
第9章 事务、反应器和通知 383
9.1 事务 383
9.2 事务和应用程序实例CH9_1UI 384
9.3 反应器和通知 397
9.4 临时反应器、通知和应用程序实例CH9_2UI 397
9.5 永久反应器、通知和应用程序实例CH9_3UI 412
9.6 其他示例资料 422
9.7 结束语 423