不客气,皮兹姆斯
使用ymg mod
- (defun c:test (/ ENT ENT1 HND ITM MN MX NUM P1 P2 P3 SS SS1 STR)
- (if (setq ss (ssget "_:L" '((0 . "TEXT") (1 . "#*`[##`/##"))))
- (progn
- (setq itm 0
- num (sslength ss)
- )
- (while (< itm num)
- (setq hnd (ssname ss itm)
- ent (entget hnd)
- )
- (vla-getboundingbox (vlax-ename->vla-object hnd) 'mn 'mx)
- (setq p1 (vlax-safearray->list mn)
- p2 (vlax-safearray->list mx)
- )
- (setq
- p3 (list (+ (- (car p2) (car p1)) (car p2)) (cadr p1) (caddr p2))
- )
- (if (setq ss1 (ssget "_C" p2 p3 '((0 . "TEXT") (1 . "@=#*"))))
- (progn
- (setq ent1 (entget (ssname ss1 0))
- str (strcat (cdr (assoc 1 ent)) " " (cdr (assoc 1 ent1)))
- ent (subst (cons 1 str) (assoc 1 ent) ent)
- ent (subst (cons 8 "JOINED") (assoc 8 ent) ent)
- )
- (entmakex ent)
- )
- )
- (setq itm (1+ itm))
- )
- )
- )
- (princ)
- )
HTH公司
亨里克 |