第一图书网

AutoLISP语言程序设计

郭秀娟//于全通//范小鸥 化学工业
出版时间:

2008-8  

出版社:

化学工业  

作者:

郭秀娟//于全通//范小鸥  

页数:

218  

Tag标签:

无  

前言

本书主要介绍了AutoCAD内部的编程语言AutoLISP,系统而详细地介绍了AutoLISP的各类函数和语法规则。从AutoLISP的数据类型和程序结构入手,循序渐进地介绍了AutoLISP的基本函数、AutoLISP绘图功能、AutoLISP建筑设计制图程序范例等内容。 本书列举了丰富的程序实例,图文并茂,清晰易懂。 本书可作为高等院校建筑学及相关专业的教材,也可供其他从事设计绘图工作、学习AutoLISP语言的有关人员参考,还可作为AutoLISP培训学习的教材。 在工程设计领域中,AutoCAD得到了普遍应用,有许多人在研究使用AutoCAD,并画出了很多工程图纸。然而,人们总会感到作图效率还不够高,这是因为AutoCAD是一个通用绘图软件,不具备专业特色。AutoCAD开放的结构为不同的使用者留出了广阔的空间,提供了许多二次开发工具,AutoLISP是其中最强的一个,可以利用AutoLISP开发出具有专业特点的高效率的应用软件。鉴于此,人们希望了解AutoLISP的程序结构,掌握AutoLISP程序设计方法,进而开发出适合本专业特点的应用CAD系统。一些高等院校的工程设计相关专业也开设了AutoLISP语言课程。然而,各类现行出版的AutoLISP参考手册,除了屈指可数的几个例子之外,剩下的就是按字典顺序排列起来的函数功能简介,使人望之却步,看后却不得要领,无法实现深度学习及开发设想和愿望。 编者通过查阅有关资料,阅读现存的参考手册,在计算机上慢慢摸索研究,历经多年,对AutoLISP语言有了较为深入的理解,积累了一些难得的实践资料,已成功应用于教学实践之中。同时,和从事CAD工作的同志切磋交流,开发了相关的CAD应用软件,在工程设计领域得到了应用。 本书共11章,前9章系统而详细地介绍了AutoLISP的各类函数和语法规则,提供了大量的AutoLISP程序,使读者从例子中深化对概念的理解,领悟程序设计方法;第10章提供了若干个建筑设计制图AutoLISP程序范例,便于建筑专业学生作课程设计或工程设计人员对AutoCAD二次开发。第11章介绍了Auto CAD的基本命令。书中每章后面附有练习题,以供读者练习。 本书第1章至第5章由郭秀娟编写,第6章由王祥瑞编写,第7章、第11章和附录部分由范小欧编写,第8章至第10章由于全通老师编写,全书的图形部分由孙东和林娜撰稿,程序实例验证由崔星华和吉林省经济管理干部学院的张树彬共同完成。最后,全书由郭秀娟老师统稿,于全通老师排版设计。

内容概要

  本书主要介绍了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 其他符号处理函数 4.2 函数处理函数 4.3 综合举例 练习题 第5章 AutoCAD函数 5.1 GET类输入函数 5.2 图形处理函数 5.2.1 (POLAR ) 5.2.2 (DISTANCE ) 5.2.3 (ANGLE ) 5.2.4 (INTERS []) 5.2.5 目标捕捉函数OSNAP 5.3 COMMAND函数 5.4 坐标系转换及单位变换函数 5.4.1 (TRANS FROM TO [位移量]) 5.4.2 (CVUNIT VALUE FROM-UINT TO-UNIT) 5.5 查询和设置系统状态的函数 5.5.1 (SETVAR ) 5.5.2 (GETVAR ) 5.5.3 (GETENV ) 5.5.4 (SETCFG CFGNAME EFGVALUE) 5.5.5 (GETCFG CFGNAME) 5.5.6 (ACAD_COLORDLG colornum [flag]) 5.5.7 (VER) 5.6 显示控制函数 5.6.1 (GRAPHSCR) 5.6.2 (TEXTSER) 5.6.3 (TEXTPAGE) 5.6.4 (PRIN1 [ []]) 5.6.5 (PRINT [ []]) 5.6.6 (PRINC [ []]) 5.6.7 (TERPRI) 5.6.8 (MENUCMD ) 5.6.9 (GRVECS VLIST [TRANS]) 5.6.10 (VPORTS) 5.7 综合举例 练习题 第6章 字符串处理函数 6.1 字符与ASCII码互换函数 6.1.1 (ASCII ) 6.1.2 (CHR ) 6.2 数串互换函数 6.2.1 (ITOA ) 6.2.2 (ATOI ) 6.2.3 (ATOF ) 6.2.4 (RTOS [ []]) 6.2.5 (DISTOF [模式]) 6.2.6 (ANGTOS [模式 [精度]]) 6.2.7 (ANGTOF [模式]) 6.3 字符串处理函数 6.3.1 (STRCAT …) 6.3.2 (SUBSTR ) 6.3.3 (STRCASE []) 6.3.4 (STRLEN [字符串]…) 6.3.5 (WCMATCH ) 6.4 尺寸标注方式 6.5 综合举例 练习题 第7章 判断函数 7.1 相等验证函数 7.1.1 关系运算函数 7.1.2 逻辑运算函数 7.2 条件函数 7.2.1 (IF是—— []) 7.2.2 (PROGN…)(该函数也称顺序执行函数) 7.2.3 (COND( ) 7.3 循环函数 7.3.1 (WHILE […]) 7.3.2 (REPEAT …) 7.4 函数递归定义 7.4.1 递归的概念 7.4.2 递归模型 7.4.3 递归算法的设计 7.5 综合举例 练习题 第8章 文件处理函数 8.1 搜索、获得文件的函数 8.1.1 (FINDFILE ) 8.1.2 (GETFILED $quot$对话框标题$quot$ $quot$文件名$quot$ $quot$扩展名$quot$ 标志值) 8.2 打开、关闭文件的函数 8.2.1 (OPEN ) 8.2.2 (CLOSE ) 8.3 用于文件的输入输出函数 8.3.1 (READ [符串]) 8.3.2 (READ-LINE ) 8.3.3 (WRITE-LINE ) 8.3.4 (READ-CHAR ) 8.3.5 (WRITE-CHAR ) 8.4 综合举例 练习题 第9章 实体和设备访问函数 9.1 基本概念 9.1.1 实体 9.1.2 实体名 9.1.3 选择集 9.2 选择集操作函数 9.2.1 (SSGET str Ptl Pt2) 9.2.2 (SSGET $quot$x$quot$ []) 9.2.3 (SSLENGTH s) 9.2.4 (SSNAME n) n=0,1,2,… 9.2.5 (SSADD ) 9.2.6 (SSDEL ) 9.3 实体名操作函数 9.3.1 (ENTNEXT ) 9.3.2 (ENTLAST) 9.3.3 (SSNAME ) 9.3.4 (NAMED OBJEICT) 9.3.5 (HANDENT HANDLE) 9.3.6 (ENTSEL []) 9.4 实体数据函数 9.4.1 获得实体定义数据函数ENTGET 9.4.2 (ENTMOD ) 9.4.3 (ENTUPD ) 9.4.4 (ENTMAKE ) 9.5 对符号表的访问 9.5.1 (TBLNEXT []) 9.5.2 (TBLSEARCH ) 9.6 对图形屏幕和输入设备的访问 9.6.1 (GRCLEAR) 9.6.2 (GRTEXT [ ]) 9.6.3 (GRREAD [track] [allkeys [curtype]]) 9.7 综合举例 9.7.1 实体名和选择集在开发CAD程序中的实际应用 9.7.2 生成局部放大视图的简便方法 9.7.3 求圆或圆弧中心线 练习题 第10章 建筑设计制图的AutoLISP程序范例 10.1 常用建筑设计AutoLISP程序 10.1.1 建筑符号设计AutoLISP程序 10.1.2 双线墙插门窗AutoLISP程序 10.2 墙体设计AutoLISP程序 10.2.1 单线墙AutoLISP程序 10.2.2 双线墙AutoLISP程序 10.3 楼梯设计AutoLISP程序 10.3.1 绘制平面楼梯AutoLISP程序 10.3.2 剖面楼梯AutoLISP程序 练习题 第11章 AutoCAD基本命令 11.1 基本图形的绘制 11.1.1 绘制直线 11.1.2 构造线 11.1.3 多线 11.1.4 多段线 11.1.5 矩形 11.1.6 正多边形 11.1.7 圆 11.1.8 弧线 11.1.9 椭圆 11.1.10 圆环 11.2 基本图形的编辑 11.2.1 复制图形 11.2.2 移动图形 11.2.3 偏移图形 11.2.4 旋转图形 11.2.5 比例缩放图样 11.2.6 图形镜像 11.2.7 阵列图形 11.2.8 修剪图形 11.2.9 延伸和拉伸 11.2.10 倒角和圆角 11.2.11 分解图块 附录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)文件创建自己的对话框。


编辑推荐

《AutoLISP语言程序设计》可作为高等院校建筑学及相关专业的教材,也可供其他从事设计绘图工作、学习AutoLISP语言的有关人员参考,还可作为AutoLISP培训学习的教材。

图书封面

图书标签Tags

广告

下载页面


AutoLISP语言程序设计 PDF格式下载



书里面都是一些很基础的概念,缺少通俗使用的例子。初学者不推荐使用,高手根本不需要看这种书。我现在有点后悔!


对于初学者来说看你的讲解是找不着北的。就连如何设置lisp和如何实现在CAD中的调用操作,这种对于初次使用LISP的人来说很重要的东西,都根本就没有讲解。完全按照帮助文档抄,而且结构性差,讲的颠三倒四——很多都是想起来讲那么一句两句,还不给解释清楚。以至于按照书上的样例直接打上去都根本无法运行——因为他根本不讲运行,更加不讲运行可能出现的异常如何解决。靠,你也太高看初学者了吧?初学者要是连这个都能看出来那还叫初学者?这书就连如何能让样例正确运行,需要怎么设置都还需要自己一步一步摸索。相比之下,无论哪本学JAVA的书都会讲设置环境变量等运行前设置呢。我想问:这样要你个教材何用?运行环境设置都不交代的?课后习题没参考答案什么的我就不说了,最起码对你自己的样例,能给我个精确的清晰的指导,好让我能运行一下成不?——我说的是你书上的样例。好歹我也算有2年码代码(JAVA)的经验了,现在用CAD二次开发是为了解决工作中出现的放样问题。若要是想勇攀高峰尝试下自己探索一门编程语言的话,根本不需要你这种捣糨糊,我自己看帮助文档慢慢摸索不就好了?你当我不知道百度还是不知道CAD论坛?我要的是你把设置和要点讲清楚!归纳的条理清晰!而不是堆彻些都不知道从哪里抄来的代码就出书了。真看不出你这本书对初学者有啥帮助。耐着性子看了4章直接扔了。跟这种东西学还不如靠帮助文档、BB...S和百度。买书本来是想靠着书籍——这种应该是集合了众多高手归纳总结出的“磨刀石”,好省点功夫少走点弯路快速解决问题的。这下好,磨刀石直接把刀刃磨成了刀背。。。只可惜亚马逊不可以打0星,没差评系统,不然我果断打~~如果有负星我给本书负3星! 阅读更多 ›


书还可以,内容简单,实例太少


编者基本是在整理AutoLISP Functions,连例子都几乎相同!


挺好的,比较详细,可以对照着学习


买了以后


业余看看,学多一门知识


现在不太用了


呃,纸质还可以


相关图书