几个lisp程序_第1页
几个lisp程序_第2页
几个lisp程序_第3页
几个lisp程序_第4页
几个lisp程序_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

1、AutoCAD在测绘中的应用2021-10-151 程序的调试过程就是程序运行中反复发现错误和修改错误,程序的调试过程就是程序运行中反复发现错误和修改错误,直到满足设计要求的过程。其中最主要的是如何发现错误发生直到满足设计要求的过程。其中最主要的是如何发现错误发生的位置及其性质。的位置及其性质。AutoLISP程序是以解释方式执行的,运行出程序是以解释方式执行的,运行出错时,一般先终止程序运行,并显示出错信息。错时,一般先终止程序运行,并显示出错信息。 (1)AutoLISP语言调试的一般方法语言调试的一般方法 (2)设置断点打印变量值的方法)设置断点打印变量值的方法 (3)分段调试法)分段调

2、试法 (4)单步执行调试法)单步执行调试法AutoCAD在测绘中的应用2021-10-152 像这样的定义函数,在用像这样的定义函数,在用loadload函数装载函数装载(load hzfx)(load hzfx)后,就可以在后,就可以在CommandCommand:提示行只输入函数名的:提示行只输入函数名的“hzfx”hzfx”部分。部分。(defun C:hzfx(/ pt1 pt2 pt3 pt4 len) (defun C:hzfx(/ pt1 pt2 pt3 pt4 len) (setq pt1(getpoint Lower left corner (setq pt1(getpoin

3、t Lower left corner:) (setq len(getdist Length of one side (setq len(getdist Length of one side:) (setq pt2(polar pt1 0.0 len) (setq pt2(polar pt1 0.0 len) (setq pt3(polar pt2(/ pi 2.0)len) (setq pt3(polar pt2(/ pi 2.0)len) (setq pt4(polar pt3 pi len) (setq pt4(polar pt3 pi len) (command pline pt1 p

4、t2 pt3 pt4 C) (command pline pt1 pt2 pt3 pt4 C) ) ) AutoCAD在测绘中的应用2021-10-153(defun C:hld(/ dwd r ) ;画路灯符号画路灯符号 (setq dwd(getpoint inter dingweidian:) (setq r 0.5 ) (setq pt1(polar dwd (/ pi 2.0) 0.5) (setq pt2(polar pt1(/ pi 2.0)3.0) (setq pt3(polar pt2 0.0 1) (setq pt4(polar pt2 pi 1) (setq pt5(po

5、lar pt4 (-(/ pi 2) 0.5) (setq pt6(polar pt5 (-(/ pi 2) 0.5) (setq pt7(polar pt3 (-(/ pi 2) 0.5) (setq pt8(polar pt7 (-(/ pi 2) 0.5) (command circle dwd r ) (command circle pt6 r ) (command circle pt8 r ) (command line pt1 pt2 pt3 pt7 ) (command line pt2 pt4 pt5 ) 2 . 0I - 1 68 4 . 4 61 . 52 . 04 . 0

6、1 . 02 . 01 . 04 . 0AutoCAD在测绘中的应用2021-10-154(defun C:tu ( / pc1 pc2 pc3 r ) (setq pc1 (list 50.0 50.0) (setq r 20 ) (setq pc2 (polar pc1 (/ pi 2) (* r 2) (setq pc3 (polar pc2 pi (* r 2) (command circle pc1 r ) (command circle pc2 r ) (command circle pc3 r ) (command line pc1 pc2 pc3 c ) (princ pc1)

7、 (princ pc2) (princ pc3) (princ r)练习练习1:写出在写出在AotuCAD编辑状态中运行函数编辑状态中运行函数tu时,在时,在屏幕图形区和文本区的显示结果。屏幕图形区和文本区的显示结果。 文本区:文本区:(50.0 50.0) (50.0 90.0) (10.0 90.0) 20 pc1pc2pc3AutoCAD在测绘中的应用2021-10-155(defun c:hzjx (/ p1 p2 p3 p4) (setq p1(getpoint n输入矩形的一个角点:输入矩形的一个角点:) (setq p3(getpoint n输入矩形的另一个角点:输入矩形的另一个

8、角点:) (setq p2(list (car p3)(cadr p1) (setq p4(list (car p1)(cadr p3) (command pline p1 p2 p3 p4 c) )练习练习2:定义输入矩形的对角点绘制矩形的命令函数。定义输入矩形的对角点绘制矩形的命令函数。 p4p1p3p2AutoCAD在测绘中的应用2021-10-156练习练习3:用:用AutoLISP语言编写一个名为语言编写一个名为“tuxing”的自定义命的自定义命令函数。要求执行此函数时使用键盘输入一个圆的圆心坐标令函数。要求执行此函数时使用键盘输入一个圆的圆心坐标和半径值,然后自动绘出该圆、两条中

9、心线和与该圆同心的和半径值,然后自动绘出该圆、两条中心线和与该圆同心的正方形(边长等于圆的直径)。正方形(边长等于圆的直径)。pcp2p1p3p4p5p6p7p8AutoCAD在测绘中的应用2021-10-157(defun c:tuxing ( / pc r p1 p2 p3 p4 xc yc) (setq pc (getpoint n 输入圆心坐标点输入圆心坐标点:) (setq r (getreal n 输入圆的半径输入圆的半径:) (setq p1 (polar pc pi (+ r 3) (setq p2 (polar pc 0 (+ r 3) (setq p3 (polar pc

10、(/ pi 2)(+ r 3) (setq p4 (polar pc (/ (* pi 3) 2) (+ r 3) (command circle pc r) (command line p1 p2 ) (command line p3 p4 ) (setq xc (car pc) yc (cadr pc) (setq p5 (list (- xc r) (- yc r) (setq p6 (list (+ xc r) (- yc r) (setq p7 (list (+ xc r) (+ yc r) (setq p8 (list (- xc r) (+ yc r) (command line

11、 p5 p6 p7 p8 C)pcp2p1p3p4p5p6p7p8AutoCAD在测绘中的应用2021-10-158 练习练习4:4:自定义一个函数(自定义一个函数(htht),完成新建图层为),完成新建图层为“zy”zy”,图层颜色为红色,在该,图层颜色为红色,在该图层绘制符合下图尺寸和相关要图层绘制符合下图尺寸和相关要 求的图形(见红色部分)求的图形(见红色部分)要求执行此函数时使要求执行此函数时使用键盘输入第用键盘输入第1 1个圆的圆心坐标。个圆的圆心坐标。(defun c:ht( ) (setvar cmdecho 0);在命令行不显示在命令行不显示ht提示提示 (setq pt1(g

12、etpoint frist dian) (setq r 10 len 20) (setq pt2(polar pt1 (/ pi 4) (+ r len r) (setq pt3(polar pt1 (/ pi 4) r) ) (setq pt4(polar pt3 (/ pi 4) len) ) (command layer n zy ) ;新建作业层新建作业层 (command layer c 1 zy );定义作业层颜色定义作业层颜色 (command layer s zy ) ;将作业层设为当前层将作业层设为当前层 (setvar osmode 0);关闭对象捕捉关闭对象捕捉 (com

13、mand circle pt1 r ) (command circle pt2 r ) (command line pt3 pt4 ) )第1个圆第2个圆AutoCAD在测绘中的应用2021-10-159(defun c:qh( )(defun c:qh( ) (setvar cmdecho 0); (setvar cmdecho 0);关闭中间结果显示关闭中间结果显示 (setq n(getint (setq n(getint 请输入一个正整数请输入一个正整数:):) (setq s 1) (setq s 1) (setq j 1) (setq j 1) (while( j n) (whil

14、e( j n) (setq s(+ s( (setq s(+ s(* *(+ j 1)(+ j 1)(+ j 1)(+ j 1) (setq j(1+ j) (setq j(1+ j) ) ) (print s) (print s) ) )练习练习5:5:自定义一个求和函数(自定义一个求和函数(qhqh),), S=1S=12 2+2+22 2+3+32 2+n+n2 2AutoCAD在测绘中的应用2021-10-1510实验编码:实验编码:G1201009 G1201009 实验名称:实验名称: 1 1、熟悉和了解、熟悉和了解AutoLISPAutoLISP的结构特点;的结构特点; 2 2、熟悉和了解、熟悉和了解AutoLISPAutoLISP语言各种函数;语言各种函数; 3 3

温馨提示

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

评论

0/150

提交评论