第1章 绪言 1
1.1 AutoCAD的二次开发概述 1
1.2 C++ Builder集成开发环境 2
1.3 本书所要求的基础知识 4
1.4 本书所要求的软硬件环境 4
第2章 预备知识 6
2.1 ActiveX Automation概述 6
2.2 COM的接口类型 7
2.3 类型库 7
2.4 字符串的操作 9
2.4.1 字符编码和字符集 9
2.4.2 UnicodeString类 10
2.4.3 WideString类 15
2.4.4 AnsiString类 18
2.5 VARIANT类 20
2.6 TNoParam类 28
第3章 AutoCAD ActiveX Automation编程基础 29
3.1 一个简单程序 29
3.2 程序的源代码 33
3.3 分发应用程序 35
3.4 程序代码的分析 36
3.5 AutoCAD的对象模型 38
3.6 AutoCAD的点坐标 44
3.7 使用AutoCAD组件 46
3.7.1 创建组件 46
3.7.2 使用组件 48
第4章 AutoCAD绘图环境 51
4.1 程序环境 51
4.1.1 启动和连接程序 51
4.1.2 程序窗口的显示状态 52
4.1.3 查询程序窗口标题 54
4.1.4 查询程序运行环境 54
4.1.5 关闭程序 54
4.1.6 切换客户和服务器程序窗口 54
4.2 文档环境 55
4.2.1 设置文档窗口 55
4.2.2 创建、打开和关闭文档 56
4.2.3 视图缩放 58
4.2.4 模型空间、图纸空间和布局 62
4.2.5 多视口的管理 62
4.3 命令行提示及用户交互 67
4.3.1 Prompt方法 68
4.3.2 GetString方法 68
4.3.3 GetEntity方法 68
4.3.4 Get×××方法 70
4.3.5 InitializeUserInput方法 70
4.3.6 GetInput方法 72
4.4 查询和设置系统变量 72
4.5 访问命令行 73
4.6 AutoCAD的参数选择 73
4.7 无文档状态 75
4.8 其他类型图形文件 76
4.9 对象捕捉状态的控制 77
第5章 创建和编辑AutoCAD图形实体 80
5.1 创建容器对象 80
5.2 创建实体 81
5.2.1 创建线性对象 81
5.2.2 创建曲线对象 83
5.2.3 创建点对象 85
5.2.4 创建实心体对象 86
5.2.5 创建面域对象 87
5.2.6 创建三维实体对象 90
5.2.7 创建填充对象 94
5.2.8 创建表格 97
5.3 编辑图形实体 98
5.3.1 有名对象 98
5.3.2 选择集 99
5.3.3 复制对象 102
5.3.4 移动对象 108
5.3.5 旋转对象 109
5.3.6 删除对象 110
5.3.7 缩放对象 111
5.3.8 变换对象 112
5.3.9 延伸和剪切对象 115
5.3.10 分解对象 116
5.3.11 编辑多义线 118
5.3.12 编辑样条曲线 119
5.3.13 编辑填充对象 121
5.3.14 编辑表格 124
5.4 文本对象 125
5.4.1 文本样式 125
5.4.2 单行文本 129
5.4.3 多行文本 133
5.5 使用图层、颜色和线型 138
5.5.1 图层的概念 139
5.5.2 图层的操作 139
5.5.3 图层的颜色 143
5.5.4 图层的线型 144
5.6 图形实体对象 147
5.6.1 AcadEntity对象与图形对象的相互转换 147
5.6.2 求实体对象的交点 149
第6章 尺寸与公差 151
6.1 尺寸标注的基本概念 151
6.1.1 尺寸标注类型和尺寸标注对象 151
6.1.2 尺寸标注的组成 152
6.2 尺寸标注样式和标注系统变量 152
6.3 尺寸标注的关联性 155
6.4 创建尺寸标注对象 155
6.5 编辑尺寸标注对象 160
第7章 工具栏和菜单 166
7.1 菜单对象 166
7.2 加载菜单文件 167
7.3 创建菜单组 168
7.4 编辑菜单条 168
7.4.1 创建弹出式菜单 169
7.4.2 在菜单条上显示菜单 169
7.4.3 隐藏弹出式菜单 170
7.4.4 修改弹出式菜单的名称 171
7.4.5 重新排列下拉菜单 171
7.5 创建和编辑弹出式菜单 172
7.5.1 创建弹出式菜单项 172
7.5.2 创建菜单项分隔符 174
7.5.3 指定菜单项的快捷键 174
7.5.4 创建级联式下级菜单 174
7.5.5 从菜单中删除一个菜单项 175
7.5.6 菜单项的属性 176
7.6 创建和编辑工具栏 177
7.6.1 创建工具栏 177
7.6.2 在工具栏中添加工具按钮 178
7.6.3 添加工具按钮分隔符 180
7.6.4 定义工具栏按钮的图标 181
7.6.5 工具栏的浮动和停靠 182
7.6.6 删除工具栏按钮 184
7.6.7 工具栏按钮的属性 184
7.7 创建宏 184
7.7.1 宏字符的ASCII码值 185
7.7.2 中断宏的运行 186
7.7.3 在宏中提示用户输入数据 186
7.7.4 取消宏命令 187
7.7.5 宏的连续运行 187
7.7.6 使用单个对象选择模式 188
7.8 状态行帮助信息的使用 188
7.9 向快捷菜单中添加菜单项 189
第8章 响应事件 191
8.1 AutoCAD中的事件 191
8.1.1 3种类型的事件 191
8.1.2 AutoCAD事件列表 192
8.2 编写事件过程的几个限制 194
8.3 使用事件 195
8.3.1 在组件中使用事件 195
8.3.2 用事件接收器控制事件 196
第9章 布局与打印 201
9.1 布局、块、模型空间和图纸空间 201
9.2 创建布局对象 203
9.3 在模型空间和图纸空间布局间切换 204
9.3.1 切换到图纸空间布局 204
9.3.2 切换到模型空间布局 204
9.4 布局的页面设置 205
9.4.1 设置图纸尺寸和绘图单位 205
9.4.2 设置绘图原点 205
9.4.3 设置绘图区域 206
9.4.4 设置绘图比例 206
9.4.5 设置线重比例 206
9.4.6 设置绘图设备 207
9.5 打印输出 207
9.5.1 初始化绘图设置 207
9.5.2 在模型空间输出图形 208
9.5.3 在图纸空间输出图形 209
第10章 三维空间 210
10.1 三维坐标 210
10.2 用户坐标系统 212
10.3 坐标转换 214
10.4 创建三维实体对象 216
10.4.1 创建线框对象 217
10.4.2 创建四边形网格对象 217
10.4.3 创建多边形表面网格对象 219
10.4.4 创建三维实心体对象 220
10.5 编辑三维实体对象 220
10.5.1 三维旋转 221
10.5.2 三维阵列 222
10.5.3 三维镜像 222
10.6 编辑三维实心体 223
第11章 高级应用技术 227
11.1 AutoCAD图像处理 227
11.1.1 创建光栅图像 227
11.1.2 编辑光栅图像 228
11.2 块与属性 230
11.2.1 使用块 230
11.2.2 使用属性 233
11.3 外部引用 236
11.4 与Microsoft Office程序间的通信 237
11.4.1 将Word中的选择文本块转换成AutoCAD文本 237
11.4.2 将AutoCAD的图形信息输出到Excel表中 239
11.4.3 调用Access数据库中的数据 240
11.5 AutoCAD扩展命令编程举例 240
11.5.1 求任意点指定的封闭区域的面积 241
11.5.2 通过3个指定点画圆 242
11.5.3 画圆饼命令的实现 243
第12章 工程实例分析与程序设计 245
12.1 实例1:混凝土检测报表的自动生成器 245
12.1.1 需求分析 245
12.1.2 技术要点 245
12.1.3 界面设计 246
12.1.4 代码设计 247
12.2 实例2:在平面地形图上自动切取剖面 249
12.2.1 需求分析 249
12.2.2 技术要点 250
12.2.3 代码设计 250
12.2.4 思维扩展 251
12.3 实例3:批量修改高程数据 251
12.3.1 需求分析 251
12.3.2 技术要点 252
12.3.3 代码设计 252
12.3.4 思维扩展 252
12.4 实例4:颗粒分配曲线绘制及参数计算 253
12.4.1 需求分析 253
12.4.2 技术要点 254
12.4.3 代码设计 254
12.4.4 思维扩展 265
附录A AutoCAD ActiveX对象列表 266
附录B AutoCAD ActiveX枚举常量列表 301
参考文献 311