Visual LISP程序设计课件

上传人:我*** 文档编号:143667804 上传时间:2020-09-01 格式:PPT 页数:84 大小:1.79MB
返回 下载 相关 举报
Visual LISP程序设计课件_第1页
第1页 / 共84页
Visual LISP程序设计课件_第2页
第2页 / 共84页
Visual LISP程序设计课件_第3页
第3页 / 共84页
Visual LISP程序设计课件_第4页
第4页 / 共84页
Visual LISP程序设计课件_第5页
第5页 / 共84页
点击查看更多>>
资源描述

《Visual LISP程序设计课件》由会员分享,可在线阅读,更多相关《Visual LISP程序设计课件(84页珍藏版)》请在金锄头文库上搜索。

1、第5章 Visual LISP程序设计,CAD二次开发技术及其工程应用,多媒体课件,本章内容:,5.1 Visual LISP概述 5.2 AutoLISP基础 5.3 AutoLISP内部函数 5.4 AutoLISP应用程序开发实例,5.1 Visual LISP概述,5.1.1 AutoLISP和Visual LISP的关系,1 AutoLISP和Visual LISP的关系 AutoLISP是解释性语言, Visual LISP 可以编译成二进制文件; Visual LISP (VLISP) 是为加速 AutoLISP 程序开发而设计的软件工具; VLISP 还提供了工具,用于发布用

2、AutoLISP 编写的独立应用程序。,2 Visual LISP具有以下主要新的功能 (1)强大语法检查功能,识别AutoLISP的语法错误和函数 的非法参数输入。 (2)强有力的符号名查找和自动匹配功能。 (3)具有功能完善源程序调试器,提高程序调试灵活性。 (4)具有语言格式化器,规范程序结构提高程序可读性。 (5)支持LISP和DCL语言文本格式的彩色代码显示功能, 提高程序的清晰度。 (6)具有综合检验器和监视跟踪功能 (7)完整的文件编译器,改善程序的运行速度和安全性。 (8)具有项目管理系统,方便地维护多文件的应用程序。 (9)可以进行编译文件的打包,形成一个ARX和VLX模块。

3、,5.1.2 Visual LISP 的启动,启动VLISP集成开发环境有两种方法: (1)利用菜单启动 使用下拉菜单启动VLISP 打开“工具”下拉菜单,选择“AutoLISP”菜单项。 选择“VLISP编辑器”菜单项,弹出用户界面。,(2) 使用命令关键字:在命令提示处输入如下命令: 命令:Vlisp (回车),(2) 使用命令关键字:命令:vlisp (回车) 菜单 如果点亮菜单上的某一个菜单项,屏幕底部的 状态栏上将显示相关命令功能的简介。 工具栏 可快速发出 VLISP 命令。,控制台窗口 控制台窗口是 VLISP 主窗口中的一个独立的可滚动窗口。 状态栏 状态栏中将显示的动态信息。

4、,5.1.3 Visual LISP集成化环境,1 Visual LISP 菜单项,(1)文件菜单项:创建新的 AutoLISP 程序文件以供编辑; (2)编辑菜单项:复制和粘贴文本等编辑操作; (3)搜索菜单项:查找和替换文本字符串,设置书签等; (4)视图菜单项:查找和显示AutoLISP代码变量和符号值; (5)工程菜单项:使用工程和生成程序; (6)调试菜单项:设置和删除程序断点,检查变量状态等; (7)工具菜单项:设置VLISP文本格式化和环境选项等; (8)窗口菜单项:组织当前VLISP对话中显示的窗口等;。 (9)帮助菜单项:显示在线帮助。,2 工具栏 VLISP提供了五个工具栏

5、:标准、视图、搜索、工具和调试,各自代表不同功能的VLISP命令组。 通过点击工具栏上图标按钮可执行对应的VLISP命令。如果将鼠标指针指到工具栏某按钮上并停留几秒钟,VLISP 将显示工具提示信息,以说明该按钮的功能,同时在屏幕底部的状态栏上显示更详细的描述。,3 控制台窗口 主要功能: (1)对 AutoLISP 表达式进行求值,并显示表达式的返回值; (2)将 AutoLISP 表达式分多行输入; (3)同时对多个表达式求值; (4)在控制台和文本编辑窗口之间复制和传递文本; (5)在控制台中按 TAB 键可以回溯到以前输入的命令; (6)在控制台中按 TAB 键实现对输入历史的关联搜索

6、; (7)按 ESC 键清除控制台提示符后的文字; (8)设置控制台提示符的显示方式; (9)设置控制台中VLISP命令和选项的显示方式。,4 文本编辑器 (1)文件语法着色:可把程序不同部分指定各自的颜色; (2)设置文本格式:设置程序代码格式使代码易读; (3)括号匹配:帮助用户检测括号匹配错误; (4)执行AutoLISP表达式:在不离开文本编辑器的环境 下,测试表达式或几行程序代码的运行结果。 (5)多文件查找:用单个命令就可以在多个文件中查找某 个词或表达式。 (6)AutoLISP代码语法检查:可对AutoLISP代码进行求值 并亮显其语法错误。,5 加载和运行AutoLISP应用

7、程序 (1)首先确认包含程序的文本编辑窗口是活动窗口。如果不能肯定 该窗口是否是活动的,可以在窗口的任何地方单击它,使它成 为活动窗口; (2)从“工具”工具栏中选择 按钮,或从“工具”下拉菜单 中选择“加载编辑器中的文字”菜单项; (3)在控制台提示下输入括号和函数名并按回车键; (4)在图形窗口或命令行中指定点以响应提示。当用户 响应提示后,重返回到 VLISP窗口; (5)CAD和VLISP的转换可使用“激活 AutoCAD”菜单项或按 按钮。,6 退出Visual LISP环境 选择“文件”下拉菜单的“退出”菜单项 或单击 Windows 的“关闭”按钮来关闭程序。 AutoCAD并没

8、有完全卸载VLISP,只把所有的VLISP 窗口关闭。 如果用户修改某个VLISP 文本编辑窗口中的代码而没有保存这些修改,在退出系统时,自动询问是否想保存这些修改。如果想保存所有的修改,请选择“是”,若选择“否”将不保存任何修改。 VLISP 保存退出时的状态。在下一次启动时,将自动打开上次退出时打开的文件和窗口。,5.2 AutoLISP基础,5.2.1 AutoLISP语言的特点,1. 特点 AutoLISP语言是一个嵌入在AutoCAD内部的LISP编程语言, 是LISP语言和AutoCAD的有机结合的产物。 语言既具备一般高级语言的基本结构和功能,又具有一般高级语言所没有的强大的图形

9、功能,是一种比较流行的CAD二次开发语言工具。 AutoLISP语言是AutoCAD系统提供给用户的第一代开发工具,利用AutoLISP语言可直接实现增加和修改AutoCAD命令,扩大图形的编辑功能,直接访问和处理AutoCAD的图形数据库,开发CAD的应用软件系统。 每个LISP程序的核心是一个求值器,当该求值器读入用户输入的程序行(一个表达式),对其进行计算,然后返回计算结果。,2. AutoLISP的求值过程 简单的数据,如整数、实数等把它的自身值作为求值结果。 符号和变量,把它的约束值作为求值结果。 用运算符和数据组成表达式,根据第一个元素的类型进行。 3. AutoLISP编程语言程

10、序特点 变量没有明确的类型说明,而是动态确定类型; AutoLISP数据的存放和处理全部使用表结构; AutoLISP语言的程序没有程序语句、关键字和运算符; 程序的层次结构完全用“()”分割符来完成, AutoLISP语言是解释性语言,采用ASCII文件格式,不编译。,5.2.2 AutoLISP的数据类型,1 整型数(INT) 整形数是由09数字、+、-字符组成,不允许出现其它字符。“”号可以省略,“-”必不可少。 例如:+123,435,-190,0都是有效整数。 2 实型数(REAL) 实型数是带有小数点的数,用双精度的浮点数表示,并且至少有14位的有效精度。 实型数两种表示方法,即十

11、进制表示法和科学记数法表示法。 当实数绝对值小于时,必须加前导0,不能以小数点开头,否则计算机认为点对出错。 例如:有效实数:0.456,-12.4567,+12.567,-0.12364E3等 无效实数:.456,-112.361E2。,3 字符串(STRING) 字符串是由一对双引号( )引起来的字符序列组成的。 双引号是字符串的定界符,不是字符串的内容。 字符串中的大小写字母和空格字符都是有意义的。 字符串最大长度为132个字符,若超过132个,则后面无效。 如果字符串中没有任何字符,则称为空串,空串长度为0。 字符串可以包含ASCII码表中的任何字符,也可采用汉字。 控制字符的特定表示

12、形式: e 表示escape(ESC)码并等价于033 n 表示换行LF码并等价于012 r 表示回车CR码并等价于015 t 表示回车tab 其中e,n,r,t字符必须是小写。 例如:“adfA12”,“c:fff.lsp”都是有效字符串。,4 表型数据(LIST) 表是放在括号内的一个或多个数据元素的有序组合,数据元素由任意数量的整数、实数、字符串,甚至其它表组成。 例:(12 25 10),(10“a”12.2)、(12“er”12.3 (23 23 14) 表提供了在一个符号中存储大量相关数值的有效方法,是AutoLISP的基本数据结构。 表有两种类型: 一种是供求值用,表中第一个元素

13、是函数关键字或运算符。 例如:求值表达式:(+ 12 45)。 另一种是作为数据的容器,表中的第一个元素不是函数关键字或运算符。 例如:表示一个空间点坐标的点表(12.3 34.5 25)。 此外,还有一种特殊的表,该表中没有元素,称之为空表。,5 符号原子(SYMBOL) 符号原子(简称符号)用于存储数据,符号名可以包含除下列字符以外的任何可以打印的字符: “(”和“)” 括号用作表的定义。 “.” 该字符用作点对结构。 “” 该字符用于求值,是函数QUOTE的简写。 “;” 分号字符用作程序行的注释标志。 “” 字符串的分界符。 例如: C24,C!23,67tf 正确;B.C,(NBA)

14、,N;45 错误。 在程序中符号名不区分大小写,其长度不受限制。 符号存储采用结点方式,一个结点只保存位的符号原子,若超过,将开辟新存储区,原结点则包含指向该存储区的指针,定义符号长度不超过位。 两个特殊的字符,即T和Nil,其值由系统预先设定,T 的值为真,而Nil的值为空或不存在。,6 文件描述符(FILE) 文件描述符是AutoLISP赋予其打开文件的字符系列标号,它的值由系统自动确定,当AutoLISP需要访问一个文件时(读或写),该文件的标号首先被引用,然后才能进行文件的读写操作。 5 内部函数(SUB) AutoLISP一般通过定义内部函数来实现具体的操作功能,或者为AutoCAD

15、增加命令, 内部函数的定义是靠AutoLISP提供的函数“Defun”来定义的。 8 实体名(ENAME) 实体名是AutoLISP赋予绘图中实体的符号识别标号。实际上它是AutoCAD数据库文件内部的一个指针。 9 选择集(PICKSET) 选择集是一个或多个实体的集合。,5.2.3 AutoLISP变量,1 变量的名称 除系统的保留字、函数符号和产生歧意的字符之外的所有字符。系统约定变量名的第一个字符是字母。 保留字:内部函数名、专用字符和AutoCAD 已定义的变量。 专用字符:如小圆点(.)、双引号(“”)、单引号()、圆括号()、空格,函数符号有、*、等, 产生歧意的字符:如显示操作

16、符(?)、控制符号()等。,2 类型说明 变量没有类型说明函数,值类型取决于赋值函数或表达式的返回值类型。 在程序设计时,对于同一个变量可以设定为不同类型的数据类型,变量的类型根据所赋值的类型自动确定。 例如:(setq num 123) ;变量num的类型是整型 (setq num “aaa”);变量num的类型是字符串 (setq num (12 23 14 0) ;变量num的类型是表 变量可在系统命令行显示,在变量名前加上字符“!”即可。 例如: !num 显示: (12 23 14 0),3 常用变量 AutoCAD已经定义了四个常用变量,用户可以直接调用,也可以用“setq”函数改变其值(建议不要改变)。 四个常用变量如下: (1) PAUSE变量 带有反斜杠()的字符串,用于在命令函数中等待用户输入。 (2) PI变量 常数的值,该值为3.1415926。 (3) Nil变量 表示该变量的值不存在。 (4) T变量 常量,用

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号