;;text文字头尾除空格,文字位置保持不动
(defun c:tt (/ LLPT SC P1 P2 DOC E)
(defun llpt (E / ENX B R L N M P)
(setq enx (entget e))
(setq b (cdr (assoc 10 enx))
r (cdr (assoc 50 enx))
l (textbox enx)
n (cdr (assoc 210 enx))
m (list
(list (cos r) (sin (- r)) 0.0)
(list (sin r) (cos r) 0.0)
'(0.0 0.0 1.0)
)
)
(setq p (mapcar '+
(mapcar '(lambda (r) (apply '+ (mapcar '* r (car l)))) m)
b
)
p (trans p n 0)
)
)
(setq doc (vla-get-ActiveDocument (vlax-get-acad-object)))
(while (ssget '((0 . "text")))
(vlax-for obj (vla-get-ActiveSelectionSet doc)
(setq sc (vla-get-ScaleFactor obj))
(setq p1 (llpt (setq e (vlax-vla-object->ename obj))))
(vla-put-TextString obj (vl-string-trim " " (vla-get-TextString obj)))
(vla-put-Alignment obj acAlignmentMiddleCenter)
(vla-put-ScaleFactor obj sc)
(setq p2 (llpt E))
(vla-move obj (vlax-3d-point p2) (vlax-3d-point p1))
)
)
(princ)
)