36.1.1VisualLISP与AutoLISP
LISP是ListPRocessor(表处理程序)的缩写,主要用于人工智能(AI)领域。AutoLISP是人工智能语言CommonLISP的简化版本,作为通用LISP语言的一个小子集,AutoLISP严格遵循其语法和惯例,但又添加了许多针对AutoCAD的功能。Autodesk公司在AutoCAD2.1版引入AutoCAD作为应用程序编程接口(API),用于扩展和自定义AutoCAD功能。借助AutoLISP,用户可以用适合编写图形应用程序的强大的高级语言来编写宏程序和函数,并开发各种软件包。AutoLISP易于使用,并且非常灵活,多年来一直是自定义AutoCAD的标准。
从AutoCADR14开始,VisualLISP被引入到AutoCAD中,它增强并扩展了AutoLISP语言,可以通过MicrosoftActiveXAutomation接口与对象交互,并扩展了AutoLISP响应事件的能力。作为开发工具,VisualLISP提供了一个完整的集成开发环境(IDE),包括编译器、调试器和其他工具,可以提高自定义AutoCAD的效率。另外,VisualLISP提供了发布用AutoLISP编写的独立应用程序的工具。VisualLISP没有任何特殊的硬件需求,能运行AutoCAD系统即可运行VisualLISP。
36.1.2VisualLISP与AutoCAD
VisualLISP作为一个完整的集成开发环境(IDE),具有自己的窗口和菜单,但它并不能独立于AutoCAD运行。当用户从VisualLISPIDE中运行AutoLISP程序时,经常需要与AutoCAD图形交互或在命令窗口响应程序提示。
如果VisualLISP把控制传给AutoCAD时AutoCAD已被最小化,用户必须手动恢复并激活AutoCAD才可继续,VisualLISP不会自动恢复AutoCAD窗口。相反,VisualLISP窗口中会出现并保持一个VisualLISP符号,直到激活AutoCAD并响应了在AutoCAD命令提示处的提示。
36.1.3VisualLISPIDE简介
VisualLISPIDE的主要组成部分和功能为:
(1)语法检查器:可识别AutoLISP语法错误和调用内置函数时的参数错误。
(2)文件编译器:改善了程序的执行速度,并提供了安全高效的程序发布平台。
(3)源代码调试器:专为AutoLISP设计,利用它可以在窗口中单步调试AutoLISP源代码,同时还在AutoCAD图形窗口显示代码运行结果。
(4)文字编辑器:可采用AutoLISP和DCL语法着色,并提供其他AutoLISP语法支持功能。
(5)AutoLISP格式编排程序:用于调整程序格式,改善其可读性。
(6)全面的检验和监视功能:用户可以方便地访问变量和表达式的值,以便浏览和修改数据结构。这些功能还可用来浏览AutoLISP数据和AutoCAD图形的图元。
(7)上下文相关帮助:提供AutoLISP函数的信息。强大的自动匹配功能方便了符号名查找等操作。
(8)工程管理系统:维护多文件应用程序更加容易。
(9)打包功能:可将编译后的AutoLISP文件打包成单个模块。
(10)桌面保存和恢复能力:可保存和重用任意VLISP任务的窗口环境。
(11)智能化控制台窗口:它给AutoLISP用户提供了极大的方便,从而大大提高了用户的工作效率。控制台的基本功能与AutoCAD文本屏幕类似,还提供了许多交互功能,例如历史记录功能和完整的行编辑功能等。
36.1.4VisualLISP的启动和界面
由于VisualLISP集成于AutoCAD系统内部,因此用户必须先启动AutoCAD,然后才能进入VisualLISPIDE环境。启动VisualLISP的方式为:
菜单:【Tools(工具)】→【AutoLISP】→【VisualLISPEditor(VisualLISP编辑器)】
命令行:vlide(或vlisp)
启动VisualLISP后,其主要界面如图36-1所示。
各组成部分的说明如下:
(1)菜单栏:通过选取各菜单项来发出VisualLISP命令。
(2)工具栏:提供了对常用VisualLISP命令的快速调用。VisualLISP共提供了五个工具栏:“Standard(标准)”、“Search(搜索)”、“View(视图)”、“Debug(调试)”和“Tools(工具)”,如图36-2所示,每个工具栏各自代表不同功能的命令组。
(3)编辑窗口:用于编辑LISP文件代码。如果用户同时编辑多个文件,则VisualLISP使用多个编辑窗口来分别显示文件。
(4)控制台窗口:类似于AutoCAD的命令窗口,可在其中输入AutoLISP命令,也可以不使用菜单或工具栏而直接在控制台窗口中调用VisualLISP命令。
(5)跟踪窗口:在启动VisualLISP,该窗口将显示VisualLISP当前版本的信息。而如果VisualLISP在启动时遇到错误,它还会包含相应的错误信息。
(6)状态栏:显示提示信息。比如,当菜单上的某一个菜单项被亮显,则状态栏上将显示相关命令功能的简介;当鼠标指针在工具栏某按钮上停留几秒钟后,VisualLISP将显示工具提示说明按钮功能,并同时在状态栏上显示更详细的描述;当VisualLISP在编辑窗口中打开文件时,状态栏上将显示文件名名称及其路径。
(7)其他窗口:有些VisualLISP函数将创建它们自己的窗口来显示结果。用户不能在这些输出窗口中输入文本,但可以从中复制,并将其粘贴到编辑器或控制台窗口中。
36.1.5退出VisualLISP
用户可选择菜单【File(文件)】→【Exit(退出)】或单击窗口右上角的按钮来退出VisualLISP环境并返回AutoCAD系统窗口。VisualLISP将保存您退出时的状态,并在下一次启动VisualLISP时自动打开上次退出时打开的文件和窗口。