- 1、本文档共27页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数字测图原理与应用
——Lisp语言的学习和使用
主要内容
AutoLisp语言介绍
AutoLisp语言的基本知识
赋值与数值计算函数
自定义函数
程序分支与循环函数
逻辑运算函数
字符串与类型转换函数
表处理函数
交互数据输入函数及相关的计算函数
与文件有关的函数
实体和设备访问类函数
其它函数
AutoLisp语言介绍
LISP(List Processing)是一种计算机的表处理语言。LISP语言是人工智能领域中广泛应用的一种程序语言。
AutoLISP语言是一种运行在AutoCAD环境下的LISP编程语言,或称为AutoCAD的一种嵌入式语言。它采用了与CommandLISP(一种通用的LISP语言版本)相近的语法及习惯约定,并吸收了LISP语言的主要函数,同时增加了针对AutoCAD特点的许多功能,如:可以把AutoLISP和AutoCAD的绘图命令透明地结合起来,使设计和绘图完全融为一体。利用AutoLISP语言编程可以实现对AutoCAD当前图形数据库进行直接访问和修改。
在LISP语言中,最基本的数据类型是符号表达式。LISP语言的特点是程序和数据都采用符号表达式的形式,即一个LISP程序可以把另一个LISP程序作为它的数据进行处理。因此使用LISP语言编程十分灵活,看起来是一个一个的函数调用。支持递归定义也是Auto LISP语言的重要特性。
AutoLISP语言是提供给用户的主要二次开发工具之一。用AutoLISP语言编写应用程序,可以为AutoCAD增加新的命令或修改AutoCAD,以适应用户的特殊需要。AutoCAD软件的开发者——AutoDesk公司许诺,将保证今后AutoCAD软件对AutoLISP语言的支持。掌握使用和编制AutoLISP应用程序的方法和技术将大大提高用户的工作效率和二次开发水平,增强AutoCAD的灵活性,并将得到长期、稳定的技术支持。
二、 AutoLISP语言的基本知识
2.1 AutoLISP语言的特性
AutoLISP语言是一种解释型语言,它的特点如下:
解释型语言
编程语言有两种基本类型:解释型和编译型。AutoLISP属于解释型语言。在解释型语言中,用户编写的源程序直接由解释器解释并执行。而在编译型的语言中,源代码首先要编译为一种中间格式(目标文件),然后再与所需的库文件链接,生成机器码可执行文件。AutoCAD本身是用编译型语言写成的。
解释型语言的主要优点是在执行这种语言编写的程序之前不需要中间步骤,用户可以交互、独立于其它部分来试验或验证程序段或程序语句,而不需像编译型语言那样,每当试验程序时,要全部地编译和链接整个程序。
平台和操作系统独立
AutoLISP语言的另一个优点是可移植性。AutoLISP程序可以在运行于多种支持平台(如Windows、DOS、UNIX和Macintosh等)上的AutoCAD中执行而与CPU或操作系统无关。
AutoCAD的版本独立
AutoLISP程序除平台和操作系统独立外,AutoLISP的设计还考虑了向下的兼容。这样,任一版本AutoCAD编写的AutoLISP程序一般不加修改就可以在以后版本的AutoCAD中运行。
AutoLISP与主流编程语言的比较
AutoLISP与目前使用比较多的编程语言(如C/C++,BASIC等)之间有一些明显的差别。具体可体现在下述几个方面:
(1)AutoLISP与其它大多数语言之间最重要的差别是它用表(List)存放数据。AutoLISP没有数组、联合、结构及记录,所有复杂的数据集均由表来表示和处理。
(2)AutoLISP的变量没有明确的类型。LISP变量的类型是在赋值时动态确定的。
(3)AutoLISP不需要预先声明变量或函数。
(4)与C/C++,BASIC等语言不一样,LISP没有语句、关键词及运算符。它是函数定位的语言,其所有运算都是由函数调用完成。
特点
AutoLISP
C/C++
VB
声明
无
有
无
数组
无
有
有
可变变量类型
有
无
有
结构类型
无
有
有
用户类型
无
有
有
解释型
是
否
否
2.2 AutoLISP语言中的数据类型
AutoLISP支持下述10种数据类型:
整型数
实型数
字符串
符号
表
文件描述符
AutoCAD实体名
AutoCAD选择集
内部函数(AutoLISP子程序)
外部函数(ADS、ARX函数)
整型数
整型数是一种不带小数点的数字,它可由0,1,2……,9,+,-共12个字符组成,例如:123,-76,+322等。
实型数
实型数是带有小数点的数,它可由0,1,2……,9,+,-,E,e共14个字符组成。实数有两种表示方法,即十进制表示法和科学计数表示法。例如:
十进制表示法:12.3,-7.6,+3.22
科学计
文档评论(0)