谢谢李。随着代码的变化,lisp可以完美地工作。换了第一行,什么也没发生。附上更改后的代码。
- (defun c:delpoints ( / e i l p s x )
- (if (setq s (ssget "_X" (list '(0 . "INSERT,POINT") '(2 . "TK414S3") (if (= 1 (getvar 'cvport)) (cons 410 (getvar 'ctab)) '(410 . "Model")))))
- (progn
- (repeat (setq i (sslength s))
- (setq e (ssname s (setq i (1- i)))
- x (entget e)
- )
- (if (= "INSERT" (cdr (assoc 0 x)))
- (setq l (cons (trans (cdr (assoc 10 x)) e 0) l))
- (setq p (cons (cons (cdr (assoc 10 x)) e) p))
- )
- )
- (foreach x p
- (if (vl-some '(lambda ( y ) (equal (car x) y 1e-4)) l)
- (entdel (cdr x))
- )
- )
- )
- )
- (princ)
- )
|