AutoLISP与Visual_LISP教程:入门与数据类型解析

需积分: 50 19 下载量 45 浏览量 更新于2024-08-16 收藏 529KB PPT 举报
"(getkword[<提示>]-全面的AutoLISP和Visual_LISP教程" AutoLISP和VisualLISP是两种与CAD软件AutoCAD紧密相关的编程语言,旨在帮助用户进行二次开发,以实现定制化功能。AutoLISP自1980年代起就是AutoCAD平台上的主要编程语言,它基于LISP这一古老而强大的编程语言,具有简单易学的特性,并且拥有强大的图形处理功能。VisualLISP是AutoLISP的一个扩展,提供了更丰富的开发环境,如文本编辑器、语法检查器和源代码调试器,使得程序开发过程更为便捷高效。 在AutoLISP中,数据类型是编程的基础,它包括以下几种: 1. 整型(INT):32位带符号的数字,范围在-2^31到2^31-1之间,即-2147483648到2147483647。 2. 实型(REAL):双精度浮点数,至少有14位有效位数的精度,如0.5,但需要注意在VisualLISP中,小数点前的0不能省略,如".5"应写作"0.5"。 3. 字符串(STR):由双引号包围的字符序列,区分大小写,空格也有意义。字符串长度不包括双引号,空串长度为零。字符串内可以使用转义字符,如"\n"代表换行。 除了这些基本类型,AutoLISP还包括其他复杂的数据类型,如: - 表(LIST):由数据项组成的有序集合,可以包含不同类型的数据。 - 函数(FUNCTION):可以作为值传递和存储的可调用对象。 - 文件描述符:与文件操作相关的对象。 - AutoCAD选择集:用于操作一组图形对象。 - AutoCAD图元名:特定图形元素的标识。 - VLA对象:与AutoCAD对象模型交互的面向对象编程元素。 - 函数分页表:管理函数调用的结构。 - 外部函数:引用非AutoLISP的外部函数或命令。 表达式和函数是AutoLISP编程的核心。表达式可以是变量、常量、运算符或函数的组合,它们根据运算规则求值。函数则用于执行特定任务,可以接收参数并返回结果。例如,`getkword`函数就是用来获取用户输入的关键字,通过`initget`预先定义关键字集,确保用户输入的有效性。 在示例中,`(initget "Yes No")`定义了关键字集"YES"和"NO",然后`(setq yn (getkword "\nRotate objects as they are copied?<Y>:"))`提示用户输入是否旋转物体,如果用户输入的是非关键字,AutoCAD会要求重新输入。接着 `(if (= nul yn) (setq yn "Y"))` 判断用户是否输入了空值,如果是,则默认设置为"Yes"。 AutoLISP和VisualLISP结合使用,能够创建复杂的CAD应用程序,简化工作流程,提高AutoCAD用户的工作效率。学习和掌握这两种语言,对于AutoCAD的深度用户和开发者来说至关重要。