《AutoCAD 2000开发工具 ObjectARX开发工具与应用实例》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:江思敏等主编
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:1999
  • ISBN:7115082421
  • 页数:421 页
图书介绍:

第1章 概要 1

1.1 ObjectARX编程环境 1

1.1.1 访问AutoCAD数据库 1

1.1.2 与AutoCAD编辑器交互作用 1

1.1.3 使用MFC创建用户界面 2

1.1.4 支持多文档界面(MDI) 2

1.1.5 创建自定义类 2

1.1.6 建立复杂的应用程序 2

1.1.7 与其它编程环境交互作用 2

1.2 ObjectARX类库 2

1.2.1 AcRx库 3

1.2.2 AcEd库 4

1.2.3 AcDb库 4

1.2.4 AcGi库 5

1.2.5 AcGe库 5

1.3 初步知识 7

1.3.1 系统要求 7

1.3.2 安装ObjectARX 7

第2章 数据库入门 8

2.1 AutoCAD数据库概述 8

2.1.2 Obtaining Object Ids 9

2.2 基本的数据库对象 9

2.1.1 多个数据库 9

2.3 在AutoCAD中创建对象 10

2.4 创建ObjectARX对象 12

2.4.1 创建实体 12

2.4.2 创建一个新层 13

2.4.3 打开与关闭ObjectARX对象 13

2.4.4 向组字典添加一个组 14

第3章 ObjectARX应用程序基础 16

3.1 创建一个ObjectARX应用程序 16

3.1.1 创建自定义类 16

3.1.2 响应AutoCAD消息 16

3.1.4 为AutoCAD执行一个入口点 20

3.1.3 ObjectARX应用程序的事件顺序 20

3.1.5 初始化一个ObjectARX应用程序 21

3.1.6 准备卸载 22

3.2 实例应用程序 22

3.3 注册新命令 23

3.3.1 命令堆栈 23

3.3.2 查找顺序 25

3.3.3 全局与本地化命令名比较 25

3.3.4 透明命令和模态命令 25

3.4 装载一个ObjectARX应用程序 25

3.5 卸载一个ObjectARX应用程序 26

3.4.1 库搜索路径 26

3.4.2 列出已装载的ObjectARX应用程序 26

3.6 请求装载 27

3.6.1 AutoCAD、Windows系统注册和ObjectARX应用程序 27

3.6.2 ARX应用程序安装时的注册修正 28

3.6.3 DEMANDLOAD系统变量 30

3.6.4 关于客户对象检测的请求装载 30

3.6.5 关于命令的请求装载 31

3.6.6 关于AutoCAD启动的请求装载 32

3.6.7 使用系统注册管理应用程序 32

3.7 ARX命令 33

3.8 从AutoLISP运行ObjectARX应用程序 34

3.9 错误处理 34

第4章 数据库操作 39

4.1 初始化数据库 39

4.2 创建和删除一个数据库 39

4.3 保存一个数据库 40

4.3.1 设定默认文件格式 40

4.3.2 全局保存函数 41

4.4 wblock操作 41

4.4.2 使用实体生成一个新数据库 42

4.5 插入一个数据库 42

4.4.1 从一个存在的数据库生成一个新的数据库 42

4.6 设定当前数据库的值 43

4.6.1 数据库颜色值 43

4.6.2 数据库线型值 43

4.6.3 数据库线型比例值 43

4.6.4 数据库层值 44

4.7 数据库操作实例 44

4.8 长事务处理 46

4.8.1 类和函数概要 46

4.8.2 长事务处理实例 48

4.9 外部引用 51

4.9.1 外部引用的前后处理 52

4.9.2 锁住文件及一致性检查 53

4.10 索引和过滤器 53

4.11 图形摘要信息 54

4.12 最近被Autodesk软件所保存 55

第5章 数据库对象 56

5.1 打开和关闭数据库对象 56

5.2 删除对象 58

5.3 对象的数据库所有权 59

5.4 添加特定对象的数据 59

5.4.1 扩展数据 59

5.4.2 扩展字典 62

5.5 擦除对象 68

5.6 对象归档 69

第6章 实体对象 70

6.1 实体的基本知识 70

6.1.1 实体说明 70

6.1.2 实体所有关系 71

6.1.3 AutoCAD R12实体 71

6.2 实体的公共特性 72

6.2.1 实体颜色 72

6.2.2 线型 73

6.2.3 实体线型比例 73

6.2.5 实体图层 74

6.2.4 实体的可见性 74

6.3 实体公共函数 75

6.3.1 对象捕捉点 75

6.3.2 几何变换函数 76

6.3.3 交点 77

6.3.4 GS标记和子实体 78

6.3.5 实体炸开 94

6.4 创建AutoCAD实体实例 95

6.4.1 创建一个简单实体 95

6.4.2 创建一个简单的块表记录 96

6.4.3 创建一个具有属性定义的块表记录 97

6.4.4 创建一个具有属性的块引用 99

6.4.5 浏览一个块表记录 103

6.5 创建AutoCAD实体实例 105

6.5.1 创建一个复杂实体 105

6.5.2 浏览一条多义线的顶点 106

6.6 坐标系统访问 107

6.6.1 实体坐标系统 107

6.6.2 AcDb2dPolylineVertex类 108

6.7 曲线函数 108

6.8 与实体实现超链接 109

6.8.1 AcDbHyperlink类 109

6.8.4 超链接实例 110

6.8.2 AcDbHyperlinkCollection类 110

6.8.3 AcDbEntityHyperlinkPE类 110

第7章 容器对象 113

7.1 符号表和字典的比较 113

7.2 符号表 115

7.2.1 块表 116

7.2.2 层表 116

7.2.3 迭代器 119

7.3 字典 120

7.3.1 组和组字典 120

7.3.3 布局字典 123

7.3.2 复合线样式字典 123

7.3.4 创建字典 124

7.3.5 列举字典条目 125

7.4 布局 126

7.5 扩展记录 127

7.5.1 扩展记录的DXF组码 128

7.5.2 示例 128

第8章 全局函数 131

8.1 ObjectARX中定义的变量、类型和值 131

8.1.1 一般类型及定义 131

8.1.2 有用的值 132

8.1.3 ObjectARX函数返回码 136

8.1.4 用户输入控制码 137

8.2 普通特征的ObjectARX库函数 137

8.2.1 ObjectARX全局函数调用与AutoLISP调用比较 137

8.2.2 函数返回值 138

8.2.3 外部函数 139

8.2.4 出错处理 140

8.2.5 应用程序间通讯 140

8.2.6 外部应用程序处理 144

8.3 表与其它动态分配的数据 145

8.4 结果缓冲区内存管理 147

8.4.1 链表的建立和删除 148

8.4.2 AutoLISP表 149

8.4.3 带DXF码的实体链表 151

8.4.4 命令和函数调用表 151

8.5 命令和查询函数 152

8.5.1 acedCommand()和acedCmd()函数 152

8.5.2 系统变量函数 154

8.5.3 AutoLISP符号函数 155

8.5.4 文件搜索函数 156

8.5.5 对象捕捉函数 157

8.5.6 视口描述符函数 157

8.5.7 几何功能函数 158

8.5.8 文本框功能函数 159

8.6 获取用户输入函数 161

8.6.1 用户输入函数 161

8.6.2 控制用户输入函数条件 162

8.6.3 选择集图形拖动函数 164

8.6.4 用户中断 164

8.6.5 返回值给AutoLISP函数 165

8.7 变换函数 166

8.7.1 字符串转换函数 166

8.7.2 单位转换函数 167

8.8 坐标系变换 168

8.7.3 字符类型处理函数 168

8.9 显示控制函数 169

8.9.1 交互输出Interactive Output 169

8.9.2 图形和文本屏幕控制 170

8.9.3 低层图形和用户输入控制 170

8.10 字符匹配 171

第9章 选择集、实体和符号表函数 172

9.1 选择集名和实体名 172

9.2 选择集的操作 172

9.2.1 选择集的过滤器列表 175

9.2.2 选择集操作 180

9.2.3 选择集变换 182

9.3 实体名和实体数据函数 185

9.3.1 实体名函数 185

9.3.2 实体数据函数 193

9.3.3 实体数据函数和图形屏幕 202

9.3.4 扩展数据的标记 203

9.4 访问符号表 209

第10章 派生自定义类 212

10.1 派生自定义类 212

10.2 运行时类识别 213

10.3 类声明宏 214

10.4 类执行宏 215

10.5 类初始化函数 216

11.1 对象的引用 217

第11章 派生AcDbObject类 217

11.2 所有关系引用 218

11.2.1 所有关系的使用 219

11.2.2 所有关系类型 219

11.2.3 建立所有关系体系 219

11.3 指针引用 229

11.3.1 紧密关联指针 229

11.3.2 松散关联指针 229

11.4 自定义类的长期处理问题 230

11.6.1 自动撤销操作 232

11.5 删除对象 232

11.6 撤消和重复操作 232

11.6.2 部分撤销操作 233

11.6.3 重复操作 235

11.7 subErase,subOpen,subClose和subCancel函数 235

11.8 编程实例 248

11.8.1 头文件 248

11.8.2 源文件 249

11.9 对象版本支持 255

11.9.1 类版本 255

11.9.3 类数据或扩展数据的版本号 258

11.9.2 类的重命名 258

第12章 派生AcDbEntity类 260

12.1 派生自定义实体 260

12.1.1 必须重载的AcDbEntity函数 260

12.1.2 通常需要重载的AcDbEntity函数 260

12.1.3 很少重载的AcDbEntity函数 262

12.2 重载实体的公共函数 262

12.2.1 重载worldDraw()和viewportDraw()函数 262

12.2.2 重载saveAs()函数 263

12.2.3 执行对象捕捉点函数 264

12.2.4 执行夹点函数 266

12.2.5 拉伸点函数 269

12.2.6 变换函数 270

12.2.7 与其它实体相交 271

12.2.8 与其它自定义实体相交 277

12.2.9 分解实体 277

12.3 扩展实体功能 278

12.4 使用AcEdJig类 278

12.4.1 由AcEdJig派生新类 278

12.4.2 使用AcEdJig类的一般步骤 278

12.4.3 设置拖动关联提示 279

12.4.4 拖动循环 279

12.4.5 sampler()、update()和entity()函数的实现 280

12.4.6 添加实体到数据库 282

12.4.7 实例 282

第13章 代理对象 289

13.1 定义代理对象 289

13.2 代理对象生命周期 289

13.3 处理代理对象 290

13.4 显示代理实体 290

13.5 编辑代理实体 290

13.6 卸载应用程序 291

14.1.1 响应类 292

14.1 通知概述 292

第14章 通知处理 292

14.1.2 响应对象类型 293

14.2 使用响应 293

14.2.1 AcDbObject和数据库通知事件 294

14.2.2 自定义通知 294

14.2.3 使用编辑响应 295

14.2.4 使用数据库响应 295

14.2.5 使用对象响应 299

14.3 通知使用原则 310

15.2 事务管理器 312

15.1 事务管理概述 312

第15章 事务管理 312

15.3 事务嵌套 313

15.4 事务边界 313

15.5 在事务中获取对象指针 314

15.6 事务与新建对象 314

15.7 提交时间原则 315

15.8 事务与取消 315

15.9 事务模型与打开和关闭机制的混合使用 315

15.10 事务与图形生成 315

15.12 事务管理实例 316

15.11 事务响应 316

第16章 协议扩展 333

16.1 定义协议扩展 333

16.2 实现协议扩展 333

16.2.1 声明并定义协议扩展类 333

16.2.2 注册协议扩展类 334

16.2.3 协议扩展缺省类 335

16.2.4 卸载应用程序 335

16.2.5 使用协议扩展函数 335

16.3 MATCH命令的协议扩展 336

16.4 协议扩展实例 336

17.1.1 创建并注册一个自定义对象捕捉模式 342

第17章 输入点处理 342

17.1 自定义对象捕捉模式 342

17.1.2 创建协议扩展类 343

17.1.3 创建自定义符号 344

17.1.4 实例 344

17.2 输入点管理 353

17.2.1 输入点管理器 353

17.2.2 输入上下文事件 354

17.2.3 输入点过滤器和监控器 360

18.2 在ObjectARX应用程序中使用动态链接MFC库 374

18.2.1 VC++工程中动态链接MFC库的设置 374

18.1 在ObjectARX应用程序中使用MFC 374

第18章 使用MFC类库 374

18.2.2 调试应用程序 375

18.2.3 资源管理 375

18.3 建立MFC用户界面支持 376

18.3.1 类层次结构 377

18.3.2 AdUi消息 377

18.3.3 AdUi提示窗口 377

18.3.4 AdUi对话框类 378

18.3.6 可扩充标签类 379

18.3.7 AdUi和AcUi编辑控件 379

18.3.5 AcUi Dialog类 379

18.3.8 AdUi和AcUi组合框控件 380

18.3.9 AcUi MRU组合框 381

18.3.10 AdUi按钮类 381

18.3.11 AcUi按钮类 381

18.3.12 对话框数据驻留 382

18.3.13 使用并扩充AdUi标签对话框系统 382

18.3.14 创建可扩充的自定义标签对话框 382

18.3.15 扩充AutoCAD内部标签对话框 383

18.4.1 创建ObjectARX MFC应用程序框架 385

18.4 在VC++AppWizard中使用AdUi和AcUi 385

18.4.2 使用App Studio创建MFC对话框 387

18.4.3 创建类和控件 387

18.4.4 创建对话框处理 388

18.4.5 为处理函数增加代码 389

第19章 多文档界面 398

19.1 简介 398

19.1.1 文档执行上下文 398

19.1.2 数据实例 398

19.1.3 文档锁定 398

19.1.4 文档处理类 399

19.2 术语 399

19.3 SDI系统变量 401

19.4.1 SDI-Only级别 402

19.4.2 MDI-Aware级别 402

19.4 兼容级别 402

19.4.3 MDI-Capable级别 404

19.4.4 MDI-Enhanced级别 405

19.5 与多文档交互作用 405

19.5.1 访问当前文档及其相关对象 405

19.5.2 访问与非重入文档关联的数据库 405

19.5.3 设置未激活的当前文档 406

19.6 文档事件通知 406

19.7 应用程序特殊文档对象 406

19.8.2 非重入的AutoCAD命令 407

19.8 非重入命令 407

19.8.1 生成非重入命令 407

19.9 多文档命令 408

19.10 关闭文档切换 409

19.11 应用程序执行上下文 409

19.11.1 应用程序执行上下文中的代码调用 409

19.11.2 代码区别 410

19.11.3 其它应用程序执行上下文 410

19.12 数据库的Undo和事务管理功能 411

19.13 独立的文档数据库 411

19.14 一个MDI-Aware型例程 412