Thanks, I'm stuck on this problem. It works only with mtext, how to make it work with text?
(defun c:foo (/ _l c d r s s2 x)
;; RJP » 2020-11-13
(defun _l (s) (vl-remove-if 'listp (mapcar 'cadr (ssnamex s))))
(if (and (setq s (ssget '((0 . "LWPOLYLINE"))))
(setq s2 (ssget "_X" '((0 . "*TEXT"))))
(setq s (_l s))
(setq s2 (mapcar '(lambda (x) (cons (cdr (assoc 10 (entget x))) x)) (_l s2)))
)
(foreach e s
(vla-getboundingbox (vlax-ename->vla-object e) 'c 'd)
(mapcar 'set '(c d) (mapcar 'vlax-safearray->list (list c d)))
(if (setq r
(cdr
(vl-some '(lambda (x)
(if (and (<= (car c) (caar x) (car d)) (<= (cadr c) (cadar x) (cadr d)))
x
)
)
s2
)
)
)
(entmod (append (entget r) (list (cons 10 (polar c (angle c d) (* 0.5 (distance c d)))))))
)
)
)
(princ)
)