没有合适的资源?快使用搜索试试~ 我知道了~
首页AutoLisp语言学习课件 Lisp AutoCAD
AutoCAD软件包中包含大多数用于产生图形的命令,但仍有某些命令末被提供。例如,AutoCAD中没有在图形文本对象内绘制矩形及作全局改变的命令。通过AutoLISP,你可以使用AutoLISP程序语言编制能够在图形文本对象内绘制矩形或作全局选择性改变的程序。事实上,可以用AutoLISP编制任何程序,或把它嵌入到菜单中,这样定制你的系统会取得更高的效率。
资源详情
资源评论
资源推荐

数字测图原理与应用
——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 语言是一种解释型语言,它的特点如下:
1. 解释型语言
编程语言有两种基本类型:解释型和编译型。AutoLISP 属于解释型语言。
在解释型语言中,用户编写的源程序直接由解释器解释并执行。而在编译型的
语言中,源代码首先要编译为一种中间格式(目标文件),然后再与所需的库
文件链接,生成机器码可执行文件。AutoCAD 本身是用编译型语言写成的。
解释型语言的主要优点是在执行这种语言编写的程序之前不需要中间步骤
用户可以交互、独立于其它部分来试验或验证程序段或程序语句,而不需像编
译型语言那样,每当试验程序时,要全部地编译和链接整个程序。
2. 平台和操作系统独立
AutoLISP 语言的另一个优点是可移植性。AutoLISP 程序可以在运行于多
种支持平台(如 Windows、DOS、UNIX 和 Macintosh 等)上的 AutoCAD 中执
行而与 CPU 或操作系统无关。
3. AutoCAD 的版本独立
AutoLISP 程序除平台和操作系统独立外,AutoLISP 的设计还考虑了向下
的兼容。这样,任一版本 AutoCAD 编写的 AutoLISP 程序一般不加修改就可以
在以后版本的 AutoCAD 中运行。
4. 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
科学计数表示法:6.1E5(610000),-0.12E2(-12),-0.45E-2(-
0.0045)
字符串
字符串(字符串常数)由一对双引号(”)括起来的字符序列组成。这对双
引号是字符串的定界符。
字符串常数最大长度为 132 个字符,但表示字符串的符号名所约束的值可
以是任意长度,因而可以利用“STRCAT(字符串拼接)函数无限制地增加其
长度。
字符串中,同一字母的大小写认为是不同的字符,空格是一个有意义的字
符。
字符串的长度是指字符串一对双引号之间的字符个数(不包括一对双引号)。
如果字符串的定界符之间无任何字符(即””)称为空串,其长度为零。
字符串中可以包含 ASCII 码中任一字符,通用的表示形式为“\nnn,nnn
为八进制形式的 ASCII 码。例如:“\101\102 \103表示“ABC,两者的作用完
全相同。由于反斜杠“\已作为字符串中的前导转义符,因而当字符串中要使用
反斜杠时,必须加转义符,即用双反斜杠“\\表示字符串中一个反斜杠“\,也
可以用反斜杠的 ASCII 码表示(即“\114)。同样,由于双引号已作为字符串
的定界符使用,因而字符串中的双引号可以用“\”或“\042表示。对于一些常用
的控制字符,其 ASCII 代码见下表。
剩余26页未读,继续阅读















安全验证
文档复制为VIP权益,开通VIP直接复制

评论0