找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 567|回复: 0

[LISP程序]:发一个程序请大家评评

[复制链接]
发表于 2005-10-14 22:42:18 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×

  1. (DEFUN C:tkj (/ a0 a1 a2 a3 a4 a3jc panduan tkd a0pt a1pt a2pt a3pt a3jcpt a4pth a4pt)
  2.   (setq lls (getvar "cmdecho"))
  3.   (setvar "cmdecho" 0)
  4.   (graphscr)
  5.   (initget "a0 a1 a2 A3 a4h a4s a3jc")
  6.   (setq panduan (GETKWORD "\n插入图框[(A0)■(A1)■(A2)■(A3)■A4横(A4H)■A4竖(A4S)■A3加长(A3JC)]<默认A3图框[回车指定点插入]>:"))
  7.   
  8.   (progn   
  9.   ;(setq d (GETPOINT "\n请拾取图框插入点或选择图框类型[A0/A1/A2/A3/A4/A3jc]<a3>:"))
  10.   (cond
  11.     ;;插入A0
  12.     ((= Panduan "a0") (progn
  13.                         (setq a0 (findfile "A0图框.dwg"))
  14.                         (if (not a0) (VL-EXIT-WITH-ERROR (alert "\n没有找到 “A0” 图框!! \n纸边尺寸:1189×841 (长×宽)\n打印区域:1154×821 (长×宽)\n自己做一个图块吧!!做好后放在 ◇BLOCK◇ 目录中就OK了!")))
  15.                         )
  16.      (progn (setq tkd (getpoint "\n请拾取图框插入点:"))
  17.   (if (not tkd)
  18.   (VL-EXIT-WITH-ERROR (princ "\n您没有拾取图框插入点,程序退出!")) ;如果没有拾取点,静默退出
  19. (setq a0pt (polar tkd 0.61562 1456.36602542))
  20.     ))
  21.      (vl-cmdf "_.insert" "A0图框" "s" "1" tkd "0") (vl-cmdf "EXPLODE" "l")(vl-cmdf "_.zoom" "w" tkd a0pt))
  22.    ;;;=======================
  23.     ;;插入A1
  24.     ((= Panduan "a1") (progn
  25.                         (setq a1 (findfile "A1图框.dwg"))
  26.                         (if (not a1) (VL-EXIT-WITH-ERROR (alert "\n没有找到 “A1图框.dwg”!! \n纸边尺寸:841×594 (长×宽)\n打印区域:806×574 (长×宽)\n自己做一个图块吧!!做好后放在  ◇BLOCK◇  目录中就OK了!")))
  27.                         )
  28.      (progn (setq tkd (getpoint "\n请拾取图框插入点:"))
  29.        (if (not tkd)
  30.   (VL-EXIT-WITH-ERROR (princ "\n您没有拾取图框插入点,程序退出!")) ;如果没有拾取点,静默退出
  31. (setq a1pt (polar tkd 0.614943 1029.61983275))
  32.     ))
  33.      (vl-cmdf "_.insert" "A1图框" "s" "1" tkd "0" ) (vl-cmdf "EXPLODE" "l")(vl-cmdf "_.zoom" "w" tkd a1pt))
  34.     ;;;============================
  35.     ;;插入A2
  36.     ((= Panduan "a2") (progn
  37.                         (setq a2 (findfile "A2图框.dwg"))
  38.                         (if (not a2) (VL-EXIT-WITH-ERROR (alert "\n没有找到 “A2图框.dwg”!! \n纸边尺寸:594×420 (长×宽)\n打印区域:559×400 (长×宽)\n自己做一个图块吧!!做好后放在  ◇BLOCK◇  目录中就OK了!")))
  39.                         )
  40.      (progn (setq tkd (getpoint "\n请拾取图框插入点:"))
  41.   (if (not tkd)
  42.   (VL-EXIT-WITH-ERROR (princ "\n您没有拾取图框插入点,程序退出!"));如果没有拾取点,静默退出
  43.     (setq a2pt (polar tkd 0.615456 727.48608234))
  44.     ))
  45.      (vl-cmdf "_.insert" "A2图框" "s" "1" tkd "0" ) (vl-cmdf "EXPLODE" "l")(vl-cmdf "_.zoom" "w" tkd a2pt))
  46.     ;;;============================
  47.     ;;插入A4图框横
  48.     ((= Panduan "a4h") (progn
  49.                         (setq a4 (findfile "A4图框横.dwg"))
  50.                         (if (not a4) (VL-EXIT-WITH-ERROR (alert "\n没有找到 “A4图框横.dwg” !! \n纸边尺寸:297×210 (长×宽)\n打印区域:267×200 (长×宽)\n自己做一个图块吧!!做好后放在  ◇BLOCK◇  目录中就OK了!")))
  51.                         )
  52.      (progn (setq tkd (getpoint "\n请拾取图框插入点:"))
  53.   (if (not tkd)
  54.   (VL-EXIT-WITH-ERROR (princ "\n您没有拾取图框插入点,程序退出!")) ;如果没有拾取点,静默退出
  55. (setq a4pth (polar tkd 0.615456 363.74304117))
  56.     ))
  57.      (vl-cmdf "_.insert" "A4图框横" "s" "1" tkd "0") (vl-cmdf "EXPLODE" "l")(vl-cmdf "_.zoom" "w" tkd a4pth))
  58.     ;=======================
  59.     ;;插入A4图框竖
  60.     ;((= Panduan "a3") (vl-cmdf "_.insert" "A3图框" "s" "1" tkd "0") (vl-cmdf "EXPLODE" "l")(vl-cmdf "_.zoom" "w" tkd a3pt))
  61.     ((= Panduan "a4s") (progn
  62.                         (setq a4 (findfile "A4图框竖.dwg"))
  63.                         (if (not a4) (VL-EXIT-WITH-ERROR (alert "\n没有找到 “A4图框竖.dwg” !! \n纸边尺寸:210×297 (长×宽)\n打印区域:180×287 (长×宽)\n自己做一个图块吧!!做好后放在  ◇BLOCK◇  目录中就OK了!")))
  64.                         )
  65.      (progn (setq tkd (getpoint "\n请拾取图框插入点:"))
  66.   (if (not tkd)
  67.   (VL-EXIT-WITH-ERROR (princ "\n您没有拾取图框插入点,程序退出!")) ;如果没有拾取点,静默退出
  68. (setq a4pt (polar tkd 0.955341 363.74304117))
  69.     ))
  70.      (vl-cmdf "_.insert" "A4图框竖" "s" "1" tkd "0") (vl-cmdf "EXPLODE" "l")(vl-cmdf "_.zoom" "w" tkd a4pt))
  71.     ;;============================
  72.     ;;;插入A3
  73.     ((= Panduan "A3") (progn
  74.                         (setq a3 (findfile "A3图框.dwg"))
  75.                         (if (not a3) (VL-EXIT-WITH-ERROR (alert "\n没有找到 “A3图框.dwg” !! \n纸边尺寸:420×297 (长×宽)\n打印区域:390×287 (长×宽)\n自己做一个图块吧!!做好后放在  ◇BLOCK◇  目录中就OK了!")))
  76.                         )
  77.      (progn (setq tkd (getpoint "\n请拾取图框插入点:"))
  78.   (if (not tkd)
  79.   (VL-EXIT-WITH-ERROR (princ "\n您没有拾取图框插入点,程序退出!")) ;如果没有拾取点,静默退出
  80. (setq a3pt (polar tkd 0.615504 514.40159409))
  81.     ))
  82.      (vl-cmdf "_.insert" "A3图框" "s" "1" tkd "0") (vl-cmdf "EXPLODE" "l")(vl-cmdf "_.zoom" "w" tkd a3pt))
  83.     ;;==========
  84.     ;;;插入A3加长图框
  85.     ((= Panduan "a3jc") (progn
  86.                           (setq a3jc (findfile "A3加长.dwg"))
  87.                           (if (not a3jc) (VL-EXIT-WITH-ERROR (alert "\n没有找到 “A3加长.dwg” !! \n纸边尺寸:841×297 (长×宽)\n打印区域:811×287 (长×宽)\n自己做一个图块吧!!做好后放在  ◇BLOCK◇  目录中就OK了!")))
  88.                           )
  89.      (progn (setq tkd (getpoint "\n请拾取图框插入点:"))
  90.   (if (not tkd)
  91.   (VL-EXIT-WITH-ERROR (princ "\n您没有拾取图框插入点,程序退出!")) ;如果没有拾取点,静默退出
  92.     (setq a3jcpt (polar tkd 0.339479 891.90246103))))
  93.      (vl-cmdf "_.insert" "A3加长" "s" "1" tkd "0") (vl-cmdf "EXPLODE" "l")(vl-cmdf "_.zoom" "w" tkd a3jcpt))
  94.     ;;===============================
  95.     ;;插入A3图框
  96.     (t (progn  (progn
  97.                  (setq a3 (findfile "A3图框.dwg"))
  98.                  (if (not a3) (VL-EXIT-WITH-ERROR (alert "\n没有找到 “A3图框.dwg” !! \n纸边尺寸:420×297 (长×宽)\n打印区域:390×287 (长×宽)\n自己做一个图块吧!!做好后放在  ◇BLOCK◇  目录中就OK了!")))
  99.                  )
  100.          (progn (setq tkd (getpoint "\n请拾取图框插入点:"))
  101.   (if (not tkd)
  102.   (VL-EXIT-WITH-ERROR (princ "\n您没有拾取图框插入点,程序退出!")) ;如果没有拾取点,静默退出
  103.     (setq a3pt (polar tkd 0.615504 514.40159409))))
  104.          (vl-cmdf "_.insert" "A3图框" "s" "1" tkd "0" )
  105.        (vl-cmdf "EXPLODE" "l")
  106.          (vl-cmdf "_.zoom" "w" tkd a3pt)         
  107.     ))
  108.     ;;;;END functinon
  109.    )       
  110.   )
  111.   (setvar "cmdecho" lls)
  112.   (princ)
  113.   )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2025-9-28 17:05 , Processed in 0.328540 second(s), 32 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表