AutoLisp程序设计教程解析.pptVIP

  • 38
  • 0
  • 约9.8千字
  • 约 58页
  • 2022-10-22 发布于浙江
  • 举报
应用实例1:画矩形 (defun c:rect1(/ p1 p2 p3 p4) (setq p1 (getpoint \n 请输入矩形的一个角点:)) (setq p3 (getcorner p1 \n 请输入矩形的另一个角点:)) (setq p2 (list (car p3) (cadr p1))) (setq p4 (list (car p1) (cadr p3))) (command pline p1 p2 p3 p4 c) ) * . 应用实例2:画旋转矩形 (defun c:rect2( ) (setq p1 (getpoint \n 请输入矩形的一个角点:)) (setq w (getdist p1 \n 请输入矩形的长:)) (setq h (getdist p1 \n 请输入矩形的宽:)) (setq alf (getangle p1 \n 请输入矩形的旋转角:)) ;交互方式输入各个参数 (setq p2 (polar p1 alf w)) (setq p3 (polar p2 (+ alf (* 0.5 pi)) h)) (setq p4 (polar p1 (+ alf (* 0.5 pi)) h)) (command pline p1 p2 p3 p4 c) ) * . 应用实例3:画棱形 (defun c:lingxing() (setq p1(getpoint 输入菱形的一个角点:)) (setq alf(getangle p1 输入菱角:)) (setq l(getdist p1 输入菱长:)) (setq p2(polar p1 (* 0.5 (- pi alf)) l) p3(polar p2 (* 0.5 (+ alf pi)) l) p4(polar p1 (* 0.5 (+ alf pi)) l) ) (command pline p1 p2 p3 p4 c) (princ) ) * . 应用实例4:画垫片 (defun c:screw () (setq p (getpoint \n输入圆角矩形的中心点P)) (setq R (getpoint \n输入圆角矩形的圆角半径R:)) (setq L1 (getdist \n输入螺钉孔的水平间距l1:)) (setq L2 (getdist \n输入圆角矩形的长度l2:)) (setq W1 (getdist \n输入螺钉孔的垂直间距w1:)) (setq W2 (getdist \n输入圆角矩形的宽w2:)) (setq d1 (getdist \n输入大圆直径d1:)) (setq d2 (getdist \n输入小圆直径d2:)) (command ucs p ) (setq a (/ L1 2) b (/ W1 2)) (setq p1 (list a b)) (command circle p (/ d1 2)) (command circle p1 (/ d2 2)) (setq a (- (car p1) l2) b (- (cadr p1) w2)) (setq p2 (list a b)) (command rectang F R p1 p2) ) * . CAD环境下加载和卸载LISP文件 加载load (1)command : (load “驱动器:\\路径\\文件名”) (2)工具菜单/加载应用程序 (3)间接自动加载:将LISP文件的文件名及路径追加到AutoCAD 2002 \support\Acad2002Doc.lsp文件的后面 2.卸载 unload (1)command : (unload “驱动器:\\路径\\文件名”) (2)工具菜单/加载应用程序 * . CAD环境下运行LISP函数 在AutoCAD环境中加载了LISP程序后就可以运行程序中定义的函数了。运行方法有两种: (1)如果LISP函数在LISP程序中 以“defun c:函数名”的格式来定义的话,加载该程序后,程序中定义的函数可以作为AutoCAD的命令来使用 (2)如果要运行的LISP函数是其LISP的内部函数或在LISP程序中以“defun 函数名”的格式来定义的话,加载该程序后,在CAD命令行提示下用括号括起来的函数名后回车才会执行该函数。 如(函数名 参数1 参数2 ……) * . 构造应用程序(1) 将LISP源代码编译为可执行程序后再加载执行,可以提高执行的速度及对源代码保密。可vlisp-compile 及“文件”菜单/“

文档评论(0)

1亿VIP精品文档

相关文档