字符串处理稍微熟悉一点,自己写了一个,看看能不能满足你的要求。。。
 - (defun c:tjwb(/ LST1 N E S WB SS lst2 lst_new shuz lst lst11 lst12 height p1 WBJULI)
- (setq ss(ssget '((0 . "TEXT")))N 0)
- (REPEAT (SSLENGTH SS)
- (SETQ E(SSNAME SS N)
- S(ENTGET E)
- WB(CDR(ASSOC 1 S))
- height (CDR(ASSOC 40 s))
- LST1 (CONS WB LST1)
- )
- (SETQ N (1+ N))
- )
- (while (>(LENGTH LST1)0)
- (IF (NOT(MEMBER (NTH 0 LST1)LST2))
- (progn
- (SETQ LST2 (append LST2 (list(strcat(NTH 0 LST1) "=")))
- lst_new(vl-remove (NTH 0 LST1) LST1)
- shuz (itoa(-(LENGTH LST1)(length lst_new)))
- lst2 (append lst2 (list shuz))
- lst1 lst_new)
- )
- )
- (setq lst (cons lst2 lst)lst2 nil)
- )
- (mapcar '(lambda(x) (setq lst11(cons(strcat (car x)(cadr x))lst11))) lst)
- (setq lst11(acad_strlsort lst11))
- (setq WBJULI (* height 1.4))
- (setq p1 (getpoint "\n请指定插入点:"))
- (setq n 0)
- (foreach x lst11
- (command "text" p1 height "" x)
- (command )
- (setq p1 (list (car p1)(- (cadr p1) WBJULI) (caddr p1)))
- (setq n(1+ n))
- )
- (princ)
- )
-
-
-
|