《ObjectARX实用指南 AutoCAD二次开发》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:宋延杭等编著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:1999
  • ISBN:7115079900
  • 页数:430 页
图书介绍:

第一章 概述 1

1.1 ARX简介 1

1.1.1 ARX的库 1

1.1.2 AutoLISP、ADS和 ARX 1

1.1.3 比较ADS和ARX的函数调用 3

1.1.4 运行类型的识别 4

1.2 数据库 5

1.2.1 AutoCAD数据库 5

1.2.2 基本数据库对象 8

1.2.3 打开和关闭ARX对象 12

1.3 ARX程序编译和运行环境 12

第二章 一个完整的ARX应用程序 17

2.1 ARX应用程序的结构 17

2.1.1 acrxEntrypoint( ) 的用法 17

2.1.2 AutoCAD发给ARX应用程序的消息 18

2.2 登记新的命令 19

2.2.1 命令栈 19

2.2.3 全球和地区命令名 20

2.2.2 查找次序 20

2.2.4 透明命令 21

2.2.5 查询命令 22

2.2.6 应用实例 22

2.3 调用一个ARX应用程序 23

2.4 卸载ARX应用程序 23

2.5 需求调用 24

2.5.1 AutoCAD、Windows系统注册表和ARX应用程序 25

2.5.2 在ARX应用程序的安装程序中修改注册表 25

2.5.3 需求调用系统变量 27

2.5.4 检测到用户对象时的需求调用 28

2.5.5 用户命令下的需求调用 29

2.5.6 AutoCAD启动时的需求调用 29

2.5.7 使用系统注册表来管理应用程序 30

2.6 ARX用户命令 30

2.7 错误处理 31

第三章 数据库操作 37

3.1 初始化数据库 37

3.2 创建和组织一个数据库 37

3.4.2 创建含实体的数据库 38

3.4.1 从一个已存在的数据库中创建一个新的数据库 38

3.3 保存一个数据库 38

3.4 Wblock操作 38

3.5 插入一个数据库 39

3.6 设置当前数据库的值 40

3.6.1 数据库颜色值 40

3.6.2 数据库线型值 40

3.6.3 数据库线型比例值 40

3.7 外部引用 41

3.8 数据库操作实例 41

3.6.4 数据库层值 41

第四章 数据库对象 44

4.1 打开和关闭对象 44

4.2 删除对象 46

4.3 对象的数据库所有权 46

4.4 加入对象特征数据 47

4.4.1 扩展数据 47

4.4.2 扩充词典 50

4.4.3 ADS的例子 52

4.5 擦除对象 56

4.6 对象归档 57

第五章 实体 58

5.1 实体定义 58

5.2 实体的从属关系 58

5.3 AutoCAD R14的实体 60

5.4 共有的实体属性 62

5.4.1 实体颜色 62

5.4.2 实体线型 63

5.4.5 实体的层 64

5.4.3 实体线型比例 64

5.4.4 实体的可见性 64

5.5 共有的实体函数 65

5.5.1 对象捕捉点 66

5.5.2 变换函数 66

5.5.3 交叉点 67

5.5.4 GS标记和子实体 68

5.6 创建AutoCAD实体实例 85

5.6.1 创建一个简单实体 85

5.5.5 炸开实体 85

5.6.2 创建一个简单的块表记录 86

5.6.3 创建一个带属性定义的块表记录 87

5.6.4 创建带有属性的块引用 90

5.6.5 遍历一个块表记录 94

5.7 复杂实体 96

5.7.1 创建一个复杂实体 96

5.7.2 遍因polyline的顶点 97

5.8.1 实体坐标系 98

5.8 坐标系访问 98

5.8.2 AcDb2dPolylineVertex 99

5.9 曲线函数 99

第六章 容器对象 101

6.1 符号表和词典的比较 101

6.2 符号表 103

6.2.1 块表 105

6.2.2 层表 105

6.2.3 遍历 108

6.3 词典 109

6.3.1 组和组词典 110

6.3.3 创建一个词典 112

6.3.2 Mline样式词典 112

6.3.4 遍历词典 114

6.4 Xrecords 115

6.4.1 Xrecord的DXF组码 116

6.4.2 实例 116

第七章 派生一个用户ARX类 121

7.1 用户类的派生 121

7.2 运行类的声明 122

7.4 执行类的宏 123

7.3 声明类的宏 123

7.5 类初始化函数 125

第八章 从AcDbObject类派生 126

8.1 重载AcDbObject类的虚拟函数 126

8.1.1 必须进行重载的AcDbObject虚拟函数 126

8.1.2 通常情况下需要重载的AcDbObject虚拟函数 126

8.1.3 偶尔需要重载的AcDbObject虚拟函数 127

8.1.4 很少需要重载的AcDbObject虚拟函数 127

8.1.6 需要重载的AcDbEntity虚拟函数 129

8.1.5 很少需要重载的AcRXObject虚拟函数 129

8.1.7 通常都重载的AcDbEntity虚拟函数 130

8.1.8 很少进行重载的AcDbEntity虚拟函数 132

8.1.9 需要重载的AcDbCurve虚拟函数 133

8.2 成员函数的实现 135

8.3 将对象存为DWG和DXF文件 136

8.3.1 dwgOut( )函数 137

8.3.2 dwgIn函数( ) 137

8.3.5 错误检查 138

8.3.6 执行DWG存储函数 138

8.3.4 dxfIn( ) 函数 138

8.3.3 dxfOut( ) 函数 138

8.3.7 执行DXF存储函数 140

8.4 对象的引用 146

8.5 从属关系的引用 147

8.5.1 从属关系的应用 147

8.5.2 从属关系的类型 148

8.5.3 建立一个从属层次 148

8.6.2 软指针 159

8.6.1 硬指针 159

8.6 指针引用 159

8.7 撤消和重复 160

8.7.1 自动撤消 160

8.7.2 部分撤消 160

8.7.3 恢复 162

8.8 SubErase,subOpen,subClose 和subCancel函数 163

8.9 AcDbObject类派生实例 176

8.9.1 头文件 176

8.9.2 源文件 177

8.10 对象版本支持 183

第九章 从AcDbEntity类派生 186

9.1 实体的显示 186

9.1.1 AcDbEntity:: saveAs( )函数的重载 188

9.1.2 AcGi对象的有效范围 189

9.1.3 再生类型 189

9.1.4 设置实体特性 189

9.1.5 原语 195

9.1.8 视点 207

9.1.6 镶嵌 207

9.1.7 异构线 207

9.1.9 变形 208

9.2 基本实体函数 218

9.2 .1 对象点捕捉函数的实现 219

9.2.2 对象点抓取函数的实现 221

9.2.3 对象点拉伸函数的实现 224

9.2.4 重载变形函数 226

9.2.5 重载相交函数 227

9.4 使用ARX的AcEdJig类 234

9.3 实体功能扩展 234

9.4.1 从AcEdJig中派生新类 235

9.4.2 使用AcEdJig类的基本步骤 235

9.4.3 顺序拖动的参数设置 235

9.4.4 拖动循环 235

9.4.5 实现sampler( )函数、update( )函数和 cntity( )函数 236

9.4.6 添加实体到数据库中 239

9.4.7 程序举例 239

10.2 代理对象的生命周期 246

10.1 代理对象定义 246

第十章 代理对象 246

10.3 用户与代理对象的关系 247

10.4 代理实体的显示 248

10.5 编辑代理实体 248

10.6 应用程序的卸载 249

第十一章 通告 250

11.1 什么是通告 250

11.1.1 反应器类 250

11.2 使用反应器 251

11.1.2 对象反应器的类型 251

112.1 AcDbobject类和数据库通告事件 252

11.2.2 用户自定义通告 253

11.2.3 使用编辑反应器 253

11.2.4 使用数据库反应器 253

11.2.5 使用对象反应器 258

11.3 通告使用注意事项 268

第十二章 交易管理 270

12.1 交易管理简介 270

12.3 交易的嵌套 271

12.2 交易管理器 271

12.5 交易中对象指针的获取 272

12.4 交易的边界 272

12.6 交易中的对象新建 273

12.7 交易管理中的操作恢复 273

12.8 交易模型与打开/关闭机制的共存 274

12.9 交易管理中的图形创成 274

12.10 交易反应器 274

12.11 交易嵌套实例 275

13.1.1 使用函数clone( )和函数deepClone( ) 289

第十三章 深层克隆 289

13.1 深层克隆概述 289

13.1.2 克隆的基本概念 290

13.1.3 典型的深层克隆操作 291

13.1.4 克隆不同所有者中的对象 293

13.2 在用户类中使用deepClone( ) 297

13.2.1使用深层克隆的 AutoCAD命令 297

13.2.2 克隆阶段 298

13.2.3 转换阶段 298

13.2.4 命名的对象字典 300

13.2.5 重载deepClone ( )函数 305

13.2.6 重载wblockClone( )函数 309

13.2.7 追加方法:AcDbBlockTableRecord::appendAcDbEntity( ) 316

13.2.8 块克隆过程中AcDbEntities硬引用的处理 317

13.2.9 插入操作 319

13.2.10 编辑反应器通告函数 319

14.2.1 声明和定义协议护展类 324

14.2 协议扩展的实现 324

14.1 协议扩展的定义 324

第十四章 协议扩展 324

14.2.2 注册协议扩展类 325

14.2.3 协议扩展的缺省类 326

14.2.4 卸载应用程序 327

14.2.5 协议扩展机能在应用程序中的使用 327

14.3 “MATCH”命令的协议扩展 327

14.4 协议扩展应用实例 327

15.1.2 MFC创建无模态对话框 334

15.1.1 动态/静态链接的MFC库 334

15.1 AutoCAD中的MFC 334

第十五章 在ARX应用程序中使用MFC 334

15.2 动态链接MFC的ARX应用程序 335

15.2.1与MFC库动态链接的visualC++工程的设置 335

15.2.2 使用动态MFC调试ARX应用程序 335

15.2.3 资源管理 336

15.2.4 ARX应用程序的升级 339

15.3.1 与MFC 库动态链接的Visual C ++工程的设置 340

15.3.2 MFC的初始化 340

15.3 静态链接MFC的ARX应用程序 340

15.3.3 应用程序对象 341

15.3.4 使用AutoCAD中的框架和视图窗口句柄 341

15.3.5 静态MFC链接的ARX应用程序举例 341

15.3.6 静态链接MFC 库的应用程序的升级 347

第十六章 ActiveX自动化 349

16.1 ActiveX自动化的定义 349

16.2 创建ActiveX自动化ARX应用程序的基本步骤 349

16.4 自动操作应用实例 350

16.4.1 ODL文件(第二步) 350

16.3 ARX对自动操作的支持 350

16.4.2 类描述头文件(第三步) 352

16.4.3 文件注册(第四步) 356

16.4.4 初始化ActiveX(第五步) 356

16.4.5 IDispatch接口(第六步) 357

16.4.6 IAcadBaseObject接口(第七步) 360

16.4.7 类代理坊(第八步) 362

16.4.8 析构器(第九步) 366

16.4.10 kOleUnoadAppMsg消息响应(第十一步) 367

16.4.9 发布ActiveX(第十步) 367

16.5 创建自定义实体的应用程序接口 369

16.6 ARX应用程序与AutoCAD的运行期兼容性 371

16.7 ARX应用程序的自动化方案 371

16.8 使用Visual Basic编程 371

第十七章 移植ADS程序到ARX 373

17.1 为什么要移植到ARX 373

17.1.1 ARX入口函数acrxEntryPoint 373

17.1.2 移植ADS应用程序必须包含的ARX头文件 374

17.2 在ARX环境下加载应用程序 374

17.4 应用程序实例 375

17.3 在ARX编程环境下创建应用程序 375

第十八章 ObjectARX的几何类库 383

18.1 几何类库简介 383

18.1.1 AcGe类库的断承关系 383

18.1.2 AcGe类库中的全局函数 386

18.1.3 几何类库中公差的处理 386

18.2 使用基本的几何类型 387

18.2.1 点和向量的操作 387

18.3 使用Line 和Plane类 388

18.2.2 矩阵的操作 388

18.4 参数化几何类 390

18.4.1 参数化曲线 390

18.4.2 参数化表面 392

18.5 特殊的求值类 393

18.6 持续化的AcGe实体 398

第十九章 使用边界表述类库 404

19.1 使用AcBr库 404

19.2 拓扑和几何 405

19.4 使用横断面 406

19.3 用户程序中的基元素 406

19.5.1 AcBrBrep类 407

19.5 使用边界元素类 407

19.5.2 AcBrFace类 408

19.5.3 AcBrLoop类 408

19.5.4 AcBrEdge类 408

19.5.5 AcBrVertex类 409

19.6 横断面类 409

19.6.1 AcBrBrepFaceTraverser类 409

19.6.4 AcBrLoopVertexTraverser类 410

19.6.2 AcBrFaceLoopTraverser类 410

19.6.3 AcBrLoopEdgeTraverser类 410

19.6.5 AcBrEdgeLoopTraverser类 411

19.7 错误返回码 411

19.8 应用实例 412

19.8.1 形体模型中拓扑元素和几何元素的数据访问 413

19.8.2 三维模型空间边界块的计算 418

19.8.3 创建AutoCAD/ObjectARX/ADS的应用程序接口 421