
- (defun c:tt ()
- (setq ss(ssget '((0 . "*TEXT"))))
- (setq en-list(try-ss2EnList ss))
- (foreach n en-list (try-set-dxf n 1 (sut(try-get-dxf n 1))))
- )
- (defun sut (str)
- (substr str 1 (1+ (vl-string-search ")" str)))
- )
- (defun try-ss2EnList(ss / a en lst)
- (if ss(progn(setq a -1)
- (while(setq en(ssname ss(setq a(1+ a))))
- (setq lst(cons en lst)))))
- lst)
- (defun try-set-dxf (ename code val / ent x y i s1);注:原创为:xpy院长
- (cond ((= (type ename) 'ENAME)
- (setq ent (entget ename))
- (if (and (= (type code) 'LIST) (= (type val) 'LIST))
- (mapcar '(lambda (x y) (try-set-dxf ename x y)) code val)
- (progn
- (if (try-get-dxf ename code)
- (entmod (subst (cons code val) (assoc code ent) ent))
- (entmod (append ent (list (cons code val))))
- )
- (entupd ename)
- )
- )
- )
- ((= (type ename) 'PICKSET)
- (setq i -1)
- (while (setq s1 (ssname ename (setq i (1+ i))))
- (try-set-dxf s1 code val)
- )
- )
- ((= (type ename) 'LIST)
- (foreach s1 ename (try-set-dxf s1 code val))
- )
- )
- ename
- )
- (defun try-get-dxf (en code )
- (cond ((= (type en) 'ENAME)
- (cdr (assoc code (entget en))))
- ((= (type en) 'list)
- (mapcar '(lambda(x)(try-get-dxf x code)) en))
- ((= (type en) 'PICKSET)
- (try-get-dxf (try-ss2EnList en)code))
- )
- )
|