《CAD程序设计课程第一次作业.pdf》由会员分享,可在线阅读,更多相关《CAD程序设计课程第一次作业.pdf(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1/8 第一作业 Visual LISP 练习 一、目的要求 1、了解如何启动 Visual LISP,熟悉 VLISP 编程界面。2、在 Visual LISP 环境下编辑并运行程序。3、Visual LISP 环境下查找 VLISP 程序错误。4、了解 VLISP 赋值与求值函数及主要计算函数的功能、格式及应用。二、作业内容 1、按下列步骤试运行程序 1)启动 Visual LISP 启动 AutoCAD 后,可采用以下任一种方法进入 VLISP:Command:VLISP 或者 VLIDE 菜单ToolsAutoLISPVisual LISP Editor 2)在文本编辑区键入以下程序
2、2/8 该程序的功能是定义一个画矩形的函数,此函数有四个形参:x、y、p1 及 lw 分别代表矩形的长、宽、基点和线宽,用户调用该函数时用实际的数值赋予该四个形参即可画出任意尺寸的矩形。注:程序中可能存在错误请自行查找 3)保存文件:下拉菜单 保存该文件,取名为:box.lsp 4)文件装入内存 command:(load“box”)程序如无语法错误,将返回函数名 box;如有语法错误,将返回错误提示用户需回到 VLISP编辑器中,修改程序。注意:如果用 load 函数加载,后面的文件需要标明盘符/文件夹等 5)运行应用程序 在 AutoCAD 图形窗口中:Command:(box 80 60
3、(40 40)0.4)并回车,程序执行结果自动画出,基点在 40,40 点,宽 80,高 60,线粗 0.4 的矩形。3/8 2、用 VLISP 表达式计算下列各式 1).7154.2 程序段:(setq x(expt 2.154(/1.0 7)结果:1.11585 2).44.7856.3445.1133.1877.1655.23 程序段:(setq x(/(-(*23.55 16.77)(*18.33 11.45)(*34.56 78.44)结果:0.0682636 3).323299.855.278.634.355.4 程序段:(setq x(expt(+(expt 4.55 2)(/(
4、*3.34(expt 6.78 3)(+(expt 2.55 2)(expt 8.99 3)0.5)结果:4.70346 4)Log521 程序段:(setq x(log(expt 5 21)结果:20.9849 5).tag45 4/8 程序段:(setq x(/(sin(*0.017453 45)(cos(*0.017453 45)0.999974 结果:0.999974 6).arcsin0.4 程序段:(setq x(*(/(atan(expt(-(/1(-1(expt 0.4 2)1)0.5)pi)180)结果:23.5782 3、求下列表达式的返回值 程序段:_$(setq LLL
5、(1 A)(2 B)(3 C)(4 D)(1 A)(2 B)(3 C)(4 D)_$(assoc 2 LLL)(2 B)_$(car LLL)(1 A)_$(cadr LLL)(2 B)_$(nth 3 LLL)(4 D)_$(length LLL)4 _$(cadr(assoc 3 LLL)C 4、设(setq La(A B)(C)(D E)从 La 表中取出元素 A、B、C、D、E 5/8 程序段:_$(setq La(A B)(C)(D E)(A B)(C)(D E)_$(car(car(car La)A _$(last(car(car La)B _$(car(cadr(car La)C
6、 _$(car(car(cdr La)D_ _$(last(cadr La)E 5、比较 LIST、APPEND、CONS 用法的区别(LIST(a b c)(x y z))(APPEND(a b c)(x y z))(CONS(a b c)(x y z))程序段:_$(list(a b c)(x y z)(A B C)(X Y Z)_$(append(a b c)(x y z)(A B C X Y Z)_$(cons(a b c)(x y z)(A B C)X Y Z)6、实践练习:输入下面程序,查看结果:6/8 输出:本程序的功能是什么?答:本程序用于绘制直角三角形,三角形的直角顶点是 p
7、a 点,两条底边长分别为 ww、hh,斜边长为 kk.PB 夹角=53.1301 度,PC 夹角=36.8699度.三、思考题 7/8 1、运行一个自定义的 VLISP 程序需要那几个步骤?1.进入 AutoCAD。2.Command:VLISP 进入 VLISP 编程环境。3.下拉菜单FileNew File 创建一个新文件。4.在文本编辑区键入自定义程序。5.下拉菜单Load File Save,保存该文件。6.下拉菜单ToolsLoad Text in Editor,加载当前编辑窗口的文件。7.运行应用程序。2、如何利用 VLISP 的分色功能、括号匹配和设置断点检查程序的错误?分色功能
8、:VLISP 编程环境具有按照语法分色的功能,系统内的标准函数(如 setq、defun、getpoint 等)被显示为蓝色;而 VLISP 不能识别的内容将显示为黑色,如用户定义的变量;字符串用粉红色。如果应当是系统函数而没有呈蓝色显示,就一定是函数名拼写错误。如果字符串中的文字不为粉红色,一定是在当前程序的后方少了引号。括号匹配:将光标放在检查的起始位置上之后,按下相关的快捷键:Ctrl+:向程序前方匹配括号 Ctrl+:向程序后方匹配括号 设置断点:先在编辑器中选定需要检查的若干行程序片段,然后执行以下操作:菜单ToolsCheck Selection(检查编辑器中选定的程序)。如果有错
9、误,就在编译输出窗口中双击这个错误信息,VLISP 就会激活编辑窗口,并将光标放在出错的程序行的头部,并亮显相关表达式。3、VLISP 程序结构有什么特点?1.AutoLISP 程序是一个由许多子表组成的一个大表。所谓表,就是由圆括号括起来的,用空格分隔的若干元素形成的数据结构形式,如表(A B C),表中有三个元素,表的长度为 3.表的结构8/8 可层层嵌套,如(A(B C)(D),该表有三个元素,即一个原子 A,两个子表(B C)和(D)。表是有序的,如(A B)不等于(B A)。若表中无元素,称为空表,可写作()。2.表中的两个元素之间至少有一个空格,多个空格的作用与一个空格的作用相同。3.一段完整的 LISP 程序,左右括号数必须相同,即括号匹配的原则。4.AutoLISP 语言采用前缀表示法,即运算符放在操作数之前。5.可在程序的任何地方对程序进行注释,以分号标志开始到行末的全部内容为注释,AutoLISP 对注释内容不解释也不执行。6.除字符串外,AutoLISP 程序中的字母可随意大小写。7.程序中“”号表示回车。8.AutoLISP 调用 AutoCAD绘图命令的编程顺序与键入绘图过程对应。