669423907 发表于 2020-8-23 21:20:45

关于 “判断程序是否生成对象” 有更好的方法吗?

关于 “判断程序是否生成对象” 有更好的方法吗?
由于在各种小程序里要用到 “判断程序是否生成对象” 的功能,所以写了以下,写的不对的地方,还望各位大师多多指教
(defun sad-x(/ sadx) ;判断程序是否生成对象
(defun *error*(msg)(setq sadx nil sad1 nil)) ;出错处理
(setq sadx nil)
(if (not sad1)
(if (ssget "x") (setq sad1 (ssadd (entlast) (ssadd))) (setq sad1 0) )
(if (= sad1 0)
(if (ssget "x") (setq sadx 1) )
(progn
(vl-cmdf "select" sad1 (ssadd (entlast) (ssadd)) "")
(if (>(sslength (ssget"p"))1)
(setq sadx 1 sad1 nil)
(setq sadx nil sad1 nil)
)
)
)
)
sadx
)


(defun c:13(/ p1 p2 x *error*)
(setq j nil *error* nil)
(sad-x)
(if (and (setq p1 (getpoint "\n 指定第一点:")) (setq p2 (getpoint p1 "\n 指定第二点:")) )
(vl-cmdf "line" "non" p1 p2 "" )
)
(setq x (sad-x))
(if x (princ "\n 生成了一个对象") )
(princ))

669423907 发表于 2020-8-27 19:14:53

(defun X新对象() (sslength (ssget "x")))

(defun c: (/ x)
(setq x (X新对象))
……
(setq x (-(X新对象)x))
(if (/= x 0) (progn
……
) )
(princ))
页: [1]
查看完整版本: 关于 “判断程序是否生成对象” 有更好的方法吗?