(defun c:tt (/ l i s p e r a d o )
(setq r 2.0 ) ; 设定字体比列参数 1:2
(if (and (setq e (car (entsel "\n拾取多义线。。 ")))
(progn (redraw e 3)
(princ "\n选取邻近 RQ#文字。。 ")
(setq s (ssget '((0 . "TEXT") (1 . "*RQ*"))))
)
)
(setq l (mapcar 'cdr
(vl-remove nil
(vl-sort (mapcar '(lambda (x)
(setq o (vlax-ename->vla-object x)
p (vlax-get o 'InsertionPoint)
a (vlax-curve-getclosestpointto e p)
d (distance p a)
)
(if (<= d (* (vla-get-Height o) r))
(cons (vlax-curve-getdistatpoint e a) (vlax-get o 'TextString))
)
)
(vl-remove-if 'listp (mapcar 'cadr (ssnamex s)))
)
'(lambda (a b) (< (car a) (car b)))
)
)
)
)
)
(textscr)
l
)