autolisp代码如下:(defun c:tes ( / #os1 &k2 &kw1 &kw2 &kw5 &ss1 &tr1 x)
(setq #os1 (getvar "osmode"))
(princ "\n请选择参考文字")
(if (and (setq &kw1 (ssget ":S" '((0 . "TEXT"))))
(princ "\n请选择多段线")
(setq &kw2 (ssget '((0 . "LWPOLYLINE") (-4 . ""))))
)
(progn
(setvar "osmode" 0)
(setq &tr1 (assoc 1 (entget (ssname &kw1 0))) &kw5 (ssadd))
(while (setq &k2 (ssname &kw2 0))
(setq &kw2 (ssdel &k2 &kw2))
(setq &ss1 (mapcar 'cdr (vl-remove-if '(lambda (X) (/= 10 (car x))) (entget &k2))))
(if (setq &kw1 (ssget "WP" &ss1 (list '(0 . "TEXT,MTEXT") &tr1)))
(setq &kw5 (ssadd &k2 &kw5))
)
);while
(setvar "osmode" #os1)
(if (ssname &kw5 0) (sssetfirst nil &kw5) )
)
)
(princ)
)