AutoLISP语言程序设计(郭秀娟)
分類: 图书,计算机/网络,程序设计,其他,
作者: 郭秀娟,于全通,范小鸥主编
出 版 社:
出版时间: 2008-8-1字数: 359000版次: 1页数: 218印刷时间: 2008/08/01开本: 16开印次: 1纸张: 胶版纸I S B N : 9787122032362包装: 平装内容简介
本书主要介绍了AutoCAD内部的编程语言AutoLISP,系统而详细地介绍了AutoLISP的各类函数和语法规则。从AutoLISP的数据类型和程序结构入手,循序渐进地介绍了AutoLISP的基本函数、AutoLISP绘图功能、AutoLISP建筑设计制图程序范例等内容。
本书列举了丰富的程序实例,图文并茂,清晰易懂。
本书可作为高等院校建筑学及相关专业的教材,也可供其他从事设计绘图工作、学习AutoLISP语言的有关人员参考,还可作为AutoLISP培训学习的教材。
目录
第1章 AutoLISP语言概述
1.1 AutoLISP语言简介
1.1.1 开发AutoCAD的重要工具
1.1.2 AutoLISP的特点
1.2 AutoLISP数据类型
1.2.1 原子(ATOM)
1.2.2 表和点对
1.3 AutoLISP的程序结构
1.4 AutoLISP的运行环境
1.5 AutoLISP的内存分配
1.6 AutoLISP程序的执行过程
练习题
第2章 数值函数
2.1 计算函数
2.1.1 (+…)
2.1.2 (–…)
2.1.3 (1+)和(1–)
2.1.4 (*…)
2.1.5 (/…)
2.1.6 (REM…)
2.1.7 (GCD)
2.1.8 (MAX…) (MIN…)
2.1.9 (EXP)
2.1.10 (EXPT)
2.1.11 (LOG)
2.1.12 (SQRT)
2.1.13 (ABS)
2.1.14 (MINUSP)
2.1.15 (ZEROP)
2.1.16 (NUMBERP)
2.1.17 (FLOAT)
2.1.18 (FIX)
2.2 布尔运算函数
2.2.1 (LOGAND…)
2.2.2 (LOGIOR…)
2.2.3 (LSH)
2.3 三角函数
2.3.1 (SIN)
2.3.2 (COS)
2.3.3 (ATAN[])
2.4 综合举例
练习题
第3章 表处理函数
3.1 提取表中数据的函数
3.1.1 (CAR)
3.1.2 (CDR)
3.1.3 (LAST)
3.1.4 (NTH) N=0, 1,2,…
3.1.5 (LENGTH)
3.2 构造和修改表的函数
3.2.1 (LIST…)
3.2.2 (APPEND…)
3.2.3 (CONS)
3.2.4 (REVERSE)
3.3 提取并修改表中数据的函数
3.3.1 (ASSOC)
3.3.2 (SUBST)
3.4 表的循环处理函数
3.4.1 (FOREACH…)
3.4.2 (MAPCAR…)
3.5 其他表处理函数
3.5.1 (MEMBER)
3.5.2 (LISTP)
3.6 综合举例
练习题
第4章 符号和函数处理函数
4.1 符号处理函数
4.1.1 赋值函数
4.1.2 禁止求值函数与再求值函数
4.1.3 其他符号处理函数
……
第5章 AutoCAD函数
第6章 字符串处理函数
第7章 判断函数
第8章 文件处理函数
第9章 实体和设备访问函数
第10章 建筑设计制图的AutoLISP程序范例
第11章 AutoCAD基本命令
附录A 图形绘制与编辑各命令中英文及简捷命令一览表
附录B 联机程序错误代码
附录C 标准ASCII码表
附录D AutoLISP函数概要
参考文献
书摘插图
第1章 AutoLISP语言概述
1.1 AutoLISP语言简介
1.1.1 开发AutoCAD的重要工具
LISP(List Processing Language)是一种计算机的表处理语言,是在人工智能学科领域广泛应用的一种程序设计语言。AutoLISP语言是嵌于AutoCAD内部的计算机语言,它是AutoCAD开放式体系结构的具体表现,它是LISP语言和AutoCAD有机结合的产物。使用AutoLISP可直接调用几乎全部的AutoCAD命令。AutoLISP语言既具备一般高级语言的基本结构和功能,又具有一般高级语言所没有的强大图形处理功能,是当今世界上CAD软件中被广泛采用的语言之一。
美国AutoDesk公司在AutoCAD内部嵌入AutoLISP的目的是让用户充分利用AutoCAD进行二次开发,实现直接增加和修改AutoCAD命令,扩大图形编辑功能,建立图形库和数据库,并对当前图形进行直接访问和修改,开发CAD软件包等。在AutoCAD为用户提供的AutoLISP、ARX、VBA等开发工具中,AutoLISP是一种简便易学的解释性语言,具有很强的数据表处理功能,是开发AutoCAD的一种重要手段。
AutoLISP语言最典型的应用之一是实现参数化绘图程序设计,包括尺寸驱动程序,鼠标拖动程序等。尺寸驱动是指通过改变实体标注的尺寸值来实现图形的自动修改;鼠标拖动即利用AutoLISP语言提供的(GRREAD[])函数,让用户直接读取AutoCAD的输入设备(如鼠标),任选项追踪光标移动存在且为真时,通过鼠标移动光标,调整所需的参数值而达到自动改变屏幕图形大小和形状。
到目前为止,大多数参数化程序都是针对二维平面图编制的。实际上,立体图同样可以实现参数化绘图,在AutoCAD中编制实体的立体图参数化程序比其平面三视图程序更简单,而且立体图生成后,可以很方便地生成三视图、剖面图和轴侧图等。
AutoLISP语言还能够利用PDB函数驱动DCL(Dialog Control Language)文件创建自己的对话框。
……