AutoCAD高级培训第五讲_第1页
AutoCAD高级培训第五讲_第2页
AutoCAD高级培训第五讲_第3页
AutoCAD高级培训第五讲_第4页
AutoCAD高级培训第五讲_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、AutoCAD 高级培训 第五讲之二AutoCAD 二次开发(Visual LISP 集成开发环境简介)一、Visual LISP 概述Visual LISP简称VLISP,是为加速AutoLISP程序开发而设计的 软件工具,它提供了一个完整的集成开发环境,包括编译器、调试器 和其他工具,它可以显著地提高自定义AutoCAD的效率。VLISP提供的主要工具有:文本编辑器、格式编排器、语法检查 器、源代码调试器、检验和监视工具、文件编译器、工程管理系统、 上下文相关帮助与自动匹配功能和智能化控制台等。二、启动和退出Visual LISP集成开发环境启动步骤:(菜单方式)(1)启动 AutoCAD

2、(2)工具AutoLispVisual LISP编辑器若使用键盘命令,则:命令:vlisp 或 vlide退出文件退出三、Visual LISP 集成开发环境介绍包含以下几个部分:菜单栏工具栏:标准、调试、工具、搜索、视图(共5 个)控制台窗口可输入 AutoLisp 命令,代替菜单和工具栏命令状态栏屏幕底部显示Visual LISP的状态信息跟踪窗口启动时包含:关于Visual LISP当前版本的信息、启动VisualLISP遇到错误时的一些信息。文本编辑器打开或新建一个Visual LISP源程序,就可以看到文本编辑器的 全貌。其他Visual LISP窗口(必要时才打开)(一)Visua

3、l LISP菜单介绍菜单的内容:随着激活窗口的不同菜单内容将会不同文件:打开、新建、保存编辑:复制、粘贴、括号匹配搜索:查找、替换文本、设置书签视图:查找、替换变量及符号值等工程:应用程序的工程功能管理项目、编译程序等调试:提供程序调试功能设置和删除断点、单步执行、 检查变量状态、检查表达式结果等工具:设置Visual LISP选项文本格式、环境选项变量,如 窗口和工具栏的位置窗口:提供窗口管理功能帮助:提供帮助功能,包括显示在线帮助(二)工具栏介绍工具栏包括一系列功能的Vlisp命令组标准:新建、打开、保存、打印输出、剪切、复制、粘贴、 取消、恢复、完成词语功能工具:加载整个活动窗口代码、加

4、载指定部分代码、语法检查(全部、指定部分)、对窗口代码格式化(整个活动窗口、 指定代码)、设置注释代码、取消整块注释块、在线帮助搜索:查找、替换、查找并替换、设置或取消书签、下一个 书签、上一个书签视图:切换到AutoCAD窗口、选择窗口、Visual LISP控制台、打开检验窗口、堆栈跟踪、符号服务、自动匹配、显示 监视窗口调试:下一层嵌套表达式、下一个表达式、跳出表达式、继续执行、退出、重置、设置或取消断点切换、添加监视、显 示上一个断点(三)控制台操作控制台的功能这里是用命令操作的地方(Visual LISP命令、AutoLISP命令),并能看到结果,类似于AutoCAD的命令行窗口如:

5、 (setq a “hello,The world!”)查看 a 的值时在控制台窗口用:a(表示回车)AutoCAD 命令:! aJVisual LISP控制台窗口中的独特特性可以在新的一行上输入上一行没有完成的Aut oLISP表达式可在前输入多个表达式,并在Visual LISP给控制台返回一 个值之前将为每一个表达式求值光标在任意位置均可用移至提示符所在行上,如果选中的有文本,则同时移至提示符所在行(此功能可以复制)使用Tab键可获得以前输入的文本,每按一次即可将上一次的 文本显示,循环执行。Shift+Tab与Tab类似,只是方向相反使用Tab键可以实现关联查找,如输入“(+Tab”会

6、在以前输 入的文本中查找以“(+”开头的文本Esc 键清除提示符下的所有字符, shift+Esc 则离开当前行上的文本,并在新的提示符下准备接受用户的输入系统控制台的快捷菜单单击右键*小技巧:可在控制台窗口与AutoCAD命令行窗口之间复制和粘 贴文本。(四)文本编辑器概述主要功能:彩色代码显示文本格式化括号匹配执行AutoLISP表达式(不离开文本编辑器)在多文件间进行查找语法检查(五)加载和运行Aut oLISP程序在 AutoCAD 窗口操作(略)在VLISP环境下操作可加载完整的和部分的Aut oLISP程序文件加载完整的AutoLISP程序:文件打开文件选择文件 内容工具加载编辑器

7、中的文字加载部分的AutoLISP程序:选择部分文件内容工具 加载选定代码四、文本编辑器主要功能及其实现文件/编辑/保存操作有关操作与Windows环境下的应用软件(如Word等)类似,这 里从略。代码分色器和在控制台窗口中相同,一旦在文本编辑器中输入文本后,Visual LISP会判断所输入的文本是否是一个AutoLISP内部函数、 数字、字符串或者其它的已知元素,并用每一种元素自己的颜色显示 这些文本。默认的Aut oLISP语言代码配色方案Auto LISP 元素颜色内部函数和被保护的符号蓝色字符串粉色整数绿色实数浅蓝色注释粉色,背景为灰色括号红色其他(如用户变量名等)黑色Visual

8、LISP可以按照一些语言的种类确定代码颜色,方法是:工具窗口属性按语法着色用户可以自定义颜色配置,方法是: 工具窗口属性配置当前窗口打开“窗口属性”对话 框进行配置文本格式化(1)设置Auto LISP代码格式的对话框工具环境选项 isual LISP格式选项(2)AutoLISP 代码格式的总体式样有普通、宽行、窄行和分栏四种式样。语法检查(1)括号匹配向前匹配将插入点(光标位置)移到和开括号相匹配的闭括号之后向后匹配将插入点(光标位置)移到和闭括号相匹配的开括 号之后向前选择插入点的移动和“向前匹配”相同,同时选中文本 向后选择插入点的移动和“向后匹配”相同,同时选中文本(2)检査语法错误

9、应用彩色代码功能检查语法错误用语法检查功能检查语法错误主要检查的语法错误为:圆括号不匹配函数的参数数目不正确函数的参数类型不正确某些特殊函数的语法不正确方法:工具“检测编辑器中的文字” 如果检测到错误,就会在“编译输出”窗口看到错误信息。五、调试程序VLISP 提供的调试程序工具有: 监视窗口:在程序执行过程中查看变量的值 检验窗口:在“检验”对话框中显示指定对象的详细信息 “符号服务”对话框:符号可以是变量或函数名。通过符号 服务对话框可以查看变量的当前值、函数的定义和设置变量及 函数的一些特性断点循环模式:在程序内部设置断点,中断程序的执行,并允许用户在中断时查看和修改对象值六、编辑和调试

10、程序时的常见问题及排除方法序号问题类型原因排除方法1内部函数名输入错误源程序代码编辑不 仔细根据“代码分色”进行判断、修改2语法检查时提示:输入的列表有缺陷括号不匹配用“代码格式化” 或“括号匹配”检查、修改3语法检查时提示:XXXX中参数 太少,(XXXX XX XX。引用内部函数时参 数数量不足双击该错误提示, 回到文本编辑器进 行检查、修改4程序运行时提示:no function definition:XXXXXXX (没有函 数定义)内部函数名错;没 有定义外部函数; 元素间缺少空格等检査“ XXXXXXX”, 分析原因、加以修 改5程序运仃时提示:参数类型错 误:numberp: n

11、il (参数类型 为空)变量没有赋值;变 量名错误检查函数调用中的 变量是否赋值,或 变量名是否正确, 加以修改6程序运仃时提示:参数类型错 误:symbolp nil函数调用时,其参 数的数据类型不 对,或内部函数名 写错检查内部函数名或 其参数的数据类型 是否正确,进行修 改7程序运行时提示:进入无限循 环(出现死循环)循环结构中循环条 件表达式错误分析循环结构,加以修改8执行结果不正确算法错误(各种各 样)设置断点、监视变 量、单步执行,分 析错误加以修改常见错误:缺少后圆括号,变量名、函数名输入错误,表中兀素间缺少空格(至少有一个),输入程序代码有遗漏(整行或错行)下面再看几个用Aut

12、 oLISP语言编程画图的例子:1. 绘制太极图案程序源代码:(defun yinyang(/ origin radius i-radius half-r origin-x origin-y os);参见辅导材料 P43-44(setq os (getvar OSMODE) ;参见辅导材料 P51(setvar OSMODE 0);参见辅导材料 P51(setq origin (getpoint n 图案的中心:)(setq radius (getdist n 图案的半径: origin)(setq i-radius (getdist n 内部圆的半径: origin)(if ( i-radi

13、us radius) (setq i-radius (/ radius 4);参见辅导材料P41(setq half-r (/ radius 2)(setq origin-x (car origin)(setq origin-y (cadr origin)(command CIRCLE origin radius)(command ARC(list origin-x (+ origin-y half-r)(list origin-x (+ origin-y radius) origin)(command ARC(list origin-x (- origin-y half-r)(list or

14、igin-x (- origin-y radius)origin)(command CIRCLE(list origin-x (+ origin-y half-r)i-radius)(command CIRCLE(list origin-x (- origin-y half-r)i-radius)(setvar OSMODE os)(princ) ;参见辅导材料 P49)2.绘制正弦函数曲线:Y二ASin(X+ );给定坐标原点、周期数、振幅和初相角,绘制正弦曲线,自变量以 “弧度”为单位(defun c:drawsin (/ lp lpx lpy n x step) ;见辅导材料 P43-4

15、4(initget 1);见辅导材料 P47(setq lp (getpoint n 输入坐标原点:) ;见辅导材料 P46 lpx (car lp)lpy (cadr lp)(initget 7);见辅导材料 P47(setq n (getint n 周期数:) ;见辅导材料 P45(setq a (getreal n 振幅:)(initget 1)(setq w (getreal n 初相角(弧度):)(setq x 0step 0.02)(command pline);见辅导材料 P49(while (= (if (= x (* 2 pi); 参见辅导材料 P41(command 3,0ucs (command 3,0ucs w(progn (se

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论