AutoLisp语言的学习和使用(1).docxVIP

  • 9
  • 0
  • 约7.17千字
  • 约 12页
  • 2021-01-10 发布于天津
  • 举报
第七节 AutoLISP 语言及其程序设计 LISP(List Process in g)是一种计算机的表处理语言。 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 语言的基本知识 AutoLISP 语言的特性 AutoLISP 语言是一种解释型语言,它的特点如下: 1. 解释型语言 编程语言有两种基本类型:解释型和编译型。 AutoLISP 属于解释型语言。在解释型语 言中, 用户编写的源程序直接由解释器解释并执行。 而在编译型的语言中, 源代码首先要编 译为一种中间格式(目标文件) ,然后再与所需的库文件链接,生成机器码可执行文件。 AutoCAD 本身是用编译型语言写成的。 解释型语言的的主要优点是在执行这种语言编写的程序之前不需要中间步骤,用户可 以交互、 独立于其它部分来试验或验证程序段或程序语句, 而不需像编译型语言那样, 每当 试验程序时,要全部地编译和链接整个程序。 2. 平台和操作系统独立 AutoLISP语言的另一个优点是可移植性。 AutoLISP程序可以在运行于多种支持平台 (如 Windows、DOS、UNIX 和Macintosh等)上的 AutoCAD中执行而与 CPU或操作系统无关。 AutoCAD的版本独立 AutoLISP程序除平台和操作系统独立外,AutoLISP的设计还考虑了向下的兼容。这样, 任一版本AutoCAD编写的AutoLISP程序一般不加修改就可以在以后版本的 AutoCAD中运 行。 AutoLISP与主流编程语言的比较 AutoLISP与目前使用比较多的编程语言(如 C/C++ , BASIC等)之间有一些明显的差 别。具体可体现在下述几个方面: AutoLISP与其它大多数语言之间最重要的差别是它用表 (List)存放数据。AutoLISP 没有数组、联合、结构及记录,所有复杂的数据集均由表来表示和处理。 AutoLISP的变量没有明确的类型。 LISP变量的类型是在赋值时动态确定的。 AutoLISP不需要预先声明变量或函数。 与C/C++ , BASIC等语言不一样,LISP没有语句、关键词及运算符。它是函数定 位的语言,其所有运算都是由函数调用完成。 特点 AutoLISP C/C++ VB 声明 无 有 无 数组 无 有 有 可变变量类型 有 无 有 结构类型 无 有 有 用户类型 无 有 有 解释型 是 否 否 1.1.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)

1亿VIP精品文档

相关文档