namezg 发表于 2013-8-28 23:00:58

函数的批量定义的两种方法

;方法一
(defun c:ZG_SnapAng (/ cmdlst ang)
(setq cmdlst '(0 15 30 45 60 75))
(foreach x cmdlst
(setq ang (* x (/ pi 180)))
(eval
   (read
    (strcat
   "(defun c:" (rtos x) " ()
      (setvar \"snapang\" " (rtos ang) ")
      (princ)
   )"
    )
   )
)
)
(princ)
)

;方法二
(defun c:ZG_SnapAng (/ cmdlst ang)
(setq cmdlst '(0 15 30 45 60 75))
(foreach x cmdlst
(setq ang (* x (/ pi 180)))
(eval
   (list 'defun (read (strcat "C:" (rtos x))) '()
    (list 'setvar "snapang" ang)
    (list 'princ)
   )
)
)
(princ)
)

vlisp2012 发表于 2013-8-29 07:49:25

多谢分享了!

yoyoho 发表于 2013-8-29 08:26:53

不错喔!感谢楼主分享学习!

xiaoyuzj-503 发表于 2013-8-29 09:50:14

学习学习。感谢楼主分享

自贡黄明儒 发表于 2013-8-29 09:52:10

http://www.xdcad.net/forum/thread-670421-1-1.html
这里还有一种方法

我爱lisp 发表于 2015-6-16 15:03:11

什么意思?有什么用?

wayne_myles 发表于 2015-7-10 14:08:45

我爱lisp 发表于 2015-6-16 15:03 static/image/common/back.gif
什么意思?有什么用?

应该是让命令循环执行吧!
页: [1]
查看完整版本: 函数的批量定义的两种方法