请尝试以下操作:
- (defun c:test ( / i l n s )
- (if (setq s (ssget "_:L" '((0 . "TEXT"))))
- (progn
- (repeat (setq i (sslength s))
- (setq l (cons (entget (ssname s (setq i (1- i)))) l))
- )
- (setq n 0)
- (foreach x (vl-sort l '(lambda ( a b ) (< (cadr (assoc 10 a)) (cadr (assoc 10 b)))))
- (entmod
- (subst
- (cons 1
- (strcat (itoa (setq n (1+ n)))
- (vl-list->string
- (vl-member-if-not
- '(lambda ( x ) (< 47 x 58))
- (vl-string->list (cdr (assoc 1 x)))
- )
- )
- )
- )
- (assoc 1 x) x
- )
- )
- )
- )
- )
- (princ)
- )
|