第12章 AutoLISP语言机械设计基础.ppt
文本预览下载声明
AutoCAD机械设计与范例应用 第12章 AutoLISP语言机械设计基础 AutoLISP语言基础 AutoLISP语言中的函数 AutoLISP语言的二次开发 AutoCAD机械设计与范例应用 AutoLISP语言基础 AutoCAD机械设计与范例应用 AutoCAD 2007的主要开发语言有AutoLISP、Visual LISP、VBA和ObjectARX四种,其中最常用的是AutoLISP开发语言,它是Aultodesk公司最早发布的用于AutoCAD二次开发的程序设计语言,是以起源于20世纪50年代后期的一种表处理语言LISP(List Processing Language)演化而来的。 AutoLISP语言具有如下特点: ● 语法简单,可运行于AutoCAD各个作业平台,功能函数强大且易于学习和使用。 ● AutoLISP语言中的一切成分均以函数形式出现,即执行AutoLISP程序就是不断地执行一些函数和调用函数。 ● AutoLISP语言把数据和程序统一表达为表结构,其简称为S表达式。在AutoLISP框架中,可以把程序当作数据来处理,也可以把数据当作程序来执行。 ● AutoLISP语言中的程序运行过程即对相关函数求值的过程,也就是在对函数求值过程中实现函数的功能。 ● AutoLISP语言的主要控制结构采用递归方式,从而使得相关程序的设计简单易懂。 AutoLISP语言的二次开发 AutoLISP语言中的数据类型 AutoLISP语言基础 AutoLISP是基于LISP的语法并加入配合AutoCAD命令,而开发的一种高级程序设计语言,可以用AutoLISP执行一些重复工作,创建新的AutoCAD命令。 用户可以编写自己的AutoLISP程序,也可以使用第三方程序。AutoLISP应用程序或函数可以要求用户输入、直接执行AutoCAD命令、在图形数据库中修改或创建对象。有些标准的AutoCAD命令实际上就是AutoLISP应用程序。 基本的AutoLISP语法可以在通常的LISP中看到相同,其意义也大同小异。AutoCAD有一个内部的LISP编译器,可以允许用户在命令行直接输入AutoLISP代码,或从外部文件中加载AutoLISP代码。 AutoLISP语言作为一种嵌入在AutoCAD内部的LISP编程语言,针对AutoCAD的特点增加了许多函数,成为AutoCAD最重要的基础开发工具,使AutoCAD具有了非常好的开放性。在AutoLISP语言中,最基本的数据类型是符号表达式(Symbolic-expression)。该语言的显著特点是程序和数据都是采用符号表达式的形式,即一个LISP程序可以把另一个LISP,程序作为它的数据进行处理,因此使用LISP语言编程十分灵活。 AutoLISP语言的主要功能特色如下: ● AutoLISP语言扩充了许多适用于AutoCAD应用的特殊功能,是一种仅能以解释方式运行于AutoCAD内部的解释性程序设计语言。 ● AutoLISP语言中的一切成分均以函数形式给出,即执行AutoLISP程序就是执行一些函数,再调用其他函数,没有语句概念和其他语法结构,其程序运行过程就是对函数求值的过程。 ● AutoLISP语言把数据和程序统一表达为了表结构,因此可以把程序当作数据来处理,也可把数据当作程序来执行。 ● AutoLISP语言的主要控制结构采用递归方式,使得程序设计简单易懂。 ● AutoLISP语言几乎可以直接调用全部的AutoCAD命令,并实现直接增加或修改AutoCAD命令,可以随意扩大图形编辑功能,建立图形库和数据库并对当前图形进行直接访问和修改,以及开发具有特殊功能的CAD软件包等,既具备一般高级语言的基本结构和功能,又具有一般高级语言所没有的强大的图形处理功能。 AutoLISP应用程序或例程可与AutoCAD以各种方式进行交互,这些例程能够提示用户输入、直接访问内置的AutoCAD命令,并修改或创建图形数据库中的对象。通过创建不同的AutoLISP例程,用户可以向AutoCAD中添加专用命令(某些标准的AutoCAD命令实际上也是AutoLISP应用程序)。 因为AutoCAD能直接读取AutoLISP代码,所以无需编译。Visual LISP提供了一个集成开发环境,允许在命令提示下输入代码后立即看到结果。这使AutoLISP语言容易试验,而不管用户的编程经验如何。 AutoLISP语言的二次开发 AutoCAD机械设计与范例应用 AutoLISP语言基础 AutoLISP语言中的数据类型 5.表和点对 在AutoLISP中,表(List)是指一组在一对括号内由空格相隔的相关数值,即放在一对相匹配的左右圆括号中的,一个或多个元素的有序集合,它是保存多个
显示全部