《AutoCAD二次开发实用教程》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:郭秀娟,徐勇,郑馨,李力东,于全通,张朝编
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2014
  • ISBN:9787111447955
  • 页数:288 页
图书介绍:本书是讨论基于Visual LISP的AutoCAD二次开发程序设计技术的教程,旨在帮助用户进行专业辅助设计程序的制作和使用,达到精通Visual LISP程序设计,使AutoCAD真正成为自己的专业设计软件。本书详细讨论了Visual LISP程序设计的基本方法和应用技巧,AutoLISP语言的基本函数及利用AutoLISP语言进行AutoCAD二次开发的方法,同时结合多年的教学经验提供了大量的例题和范例,侧重于专业应用的方法、实际应用中的难点和解决方案的讨论。本书既可以作为高等院校的有关教材、高级应用培训教材,也适合作为专业程序设计用户的参考用书。

第1章Visual LISP语言概述 1

1.1 LISP语言 1

1.2 AutoLISP语言 1

1.3 Visual LISP语言 2

1.4 Visual LISP的编程环境 4

1.4.1 Visual LISP集成开发环境的界面 4

1.4.2输入和修改程序代码 6

习题 8

第2章 数据类型、表 9

2.1数据类型 9

2.1.1原子 9

2.1.2表和点对 11

2.1.3其他类型 12

2.1.4 AutoLISP的程序结构 13

2.2变量 18

2.2.1符号 18

2.2.2变量的数据类型 18

2.2.3变量赋值 19

2.2.4显示变量的值 20

2.2.5在交互方式下将变量的值传递给AutoCAD 20

2.2.6 AutoCAD的系统变量 20

习题 21

第3章AutoLISP基本函数 23

3.1数值函数 23

3.1.1计算函数 23

3.1.2布尔运算函数 27

3.1.3三角函数 28

3.1.4数值函数举例 29

3.2表处理函数 30

3.2.1提取表中数据的函数 30

3.2.2构造和修改表的函数 32

3.2.3提取并修改表中数据的函数 33

3.2.4表循环处理函数 35

3.2.5其他表处理函数 36

3.2.6表处理函数举例 36

习题 38

第4章 程序流程控制 40

4.1顺序结构 40

4.1.1 GET族输入函数 40

4.1.2图形处理函数 45

4.1.3显示控制函数 49

4.1.4举例 51

4.2分支结构 52

4.2.1判断函数 52

4.2.2条件函数 53

4.3循环函数 56

4.4函数递归定义 59

4.4.1递归的概念 59

4.4.2递归模型 59

4.4.3递归算法的程序设计 60

4.5综合举例 61

习题 75

第5章AutoLISP文件 77

5.1 AutoLISP文件的特点 77

5.2程序中的注释 78

5.3在AutoCAD环境下加载AutoLISP文件 78

5.4搜索、获得文件的函数 80

5.5打开、关闭文件的函数 81

5.6用于文件的输入输出函数 84

5.7综合举例 86

习题 87

第6章 实体和设备访问函数 89

6.1基本概念 89

6.2选择集操作函数 92

6.3实体名操作函数 97

6.4实体数据函数 99

6.5符号表的访问 108

6.6图形屏幕和输入设备的访问 110

6.7综合举例 113

6.7.1实体名和选择集在开发AutoCAD程序中的应用 113

6.7.2生成局部放大视图的简便方法 114

6.7.3求圆或圆弧中心线 117

习题 122

第7章AutoLISP实训 123

7.1设置作图环境 123

7.2设置图层、颜色、线型和线宽 126

7.3 AutoLISP程序设计的6个步骤 127

7.4 AutoLISP程序实例 127

习题 136

第8章Visual LISP基本操作 137

8.1进入和退出Visual LISP 137

8.2 Visual LISP的用户界面 137

8.3 Visual LISP的控制台操作 141

8.4 Visual LISP的文件操作 142

8.5退出Visual LISP 144

习题 144

第9章 编辑源程序代码 145

9.1文本编辑工具 145

9.2文本操作 147

9.3设置代码格式 150

9.4检查语法错误 152

习题 156

第10章 调试程序 157

10.1 Visual LISP调试功能简介 157

10.2通过实例学习调试程序 158

10.3 Visual LISP调试功能 162

10.3.1开始调试任务 163

10.3.2断点循环 163

10.3.3使用断点 164

10.4使用Visual LISP数据查看工具 166

10.4.1监视程序 167

10.4.2跟踪程序 170

10.5修改变量和函数的特性 176

10.6“检验”窗口 178

10.7访问AutoCAD对象 183

习题 186

第11章 编辑及维护AutoLISP程序 188

11.1编译链接程序 188

11.1.1 Visual LISP编译器 188

11.1.2加载运行已编译程序 190

11.1.3链接函数调用 191

11.2生成应用程序 191

11.2.1创建新应用程序 191

11.2.2加载和运行Visual LISP应用程序 196

11.2.3修改应用程序选项 196

11.2.4重新编译应用程序 197

11.2.5更新应用程序 197

11.3多文档环境下的程序设计 197

11.3.1理解命名空间 198

11.3.2查看多名称空间对函数的影响步骤 199

11.3.3运行应用程序于自身的名称空间中 199

11.3.4使文档可以访问函数 201

11.3.5查看vl-doc-export在独立名称空间VLX中的作用 201

11.3.6使用其他VLX应用程序访问独立名称空间的函数 202

11.3.7引用文档名称空间中的变量 202

11.3.8在名称空间中共享数据 202

11.3.9 MDI环境下的错误处理 203

11.3.10在自身名称空间中运行的V LX的错误处理 204

11.3.11在MDI环境下对于使用AutoLISP的限制 204

习题 205

第12章 使用ActiveX 206

12.1在AutoLISP中使用ActiveX对象 207

12.2 AutoCAD对象模型 207

12.2.1对象属性 207

12.2.2对象方法 210

12.2.3对象集合 211

12.3访问AutoCAD对象 211

12.3.1访问AutoCAD应用程序 211

12.3.2应用程序对象以下的其他ActiveX对象 212

12.3.3过程总结 212

12.3.4编程技巧 213

12.3.5在Visual LISP函数中使用ActiveX 214

12.3.6确定所需的Visual LISP函数 214

12.4 ActiveX对象访问 215

12.4.1查看对象特性 216

12.4.2访问图形对象 217

12.4.3访问其他AutoCAD对象 218

12.4.4使用检验工具了解AutoCAD对象的属性 222

12.4.5通过Help功能了解AutoCAD对象 225

12.5在Visual LISP函数中使用ActiveX方法 225

12.5.1查找所需要的函数 226

12.5.2确定函数参数 227

12.5.3将Visual BASIC环境下的语句改写为AutoLISP表达式 227

12.5.4转换数据类型为ActiveX型 228

12.6 AutoCAD实体名和VLA对象之间的转换 236

12.7修改图形对象的属性 237

12.8确定方法或属性是否适用于特定对象 238

12.9确定是否可以修改对象 239

12.10使用参数带回返回值的ActiveX方法 240

12.11使用集合对象 241

12.11.1将某一个函数应用到集合中的每一个对象 241

12.11.2将一系列函数应用到集合中的每一个对象 243

12.11.3获取集合中的成员对象 244

12.11.4释放VLA对象和释放内存 245

12.11.5处理ActiveX方法返回的错误 245

12.12举例 246

习题 247

第13章 使用反应器 249

13.1反应器基础 249

13.1.1反应器的类型 249

13.1.2反应器的回调事件 250

13.1.3反应器的回调函数 252

13.2生成反应器 255

13.2.1创建对象反应器 255

13.2.2创建其他反应器 258

13.2.3将数据附着到反应器对象 259

13.2.4在多重名称空间中使用反应器 259

13.3查询、修改和控制反应器的状态 260

13.3.1查询反应器 260

13.3.2修改反应器 262

13.3.3控制反应器的状态 264

13.4临时反应器和永久反应器 265

13.5反应器的使用规则 266

13.6定义反应器实例 267

习题 271

附录 272

附录A AutoLISP函数概要 272

附录B标准ASCII码表 283

附录C联机程序错误代码 285

参考文献 288