(defun c:tt()
;第一节
(setq pt1(getpoint))
(ZML-GRREADLST pt1 )
(setq ob1(entlast) pt3 pt2)
;第二节
(ZML-GRREADLST pt2 )(setq ob2(entlast) pt4 pt2)
;写文字
(entmake
(list
(cons 0 "TEXT")
(cons 1 "123" )
(cons 10 pt2 )
(cons 40 (getvar "textsize"))
(cons 41 1)
(cons 50 0)
(cons 62 3)
)
)
(setq ob3(entlast))
;| (entmake
(list
(cons 0 "TEXT")
(cons 1 "123" )
(cons 10 (list (car pt2) (-(cadr pt2)(getvar "textsize"))))
(cons 40 (getvar "textsize"))
(cons 41 1)
(cons 50 0)
(cons 62 3)
)
) |;
;移动第二节到合适地方
(command "stretch" (ssget "C" pt4 pt3) "" "non"pt4 )
( while (> (getvar 'CmdActive) 0) (command pause) )
;调节第二节文字引出的位置
(command "lengthen" "dy" (list ob2 pt4) )
( while (> (getvar 'CmdActive) 0)
(command pause)
( setq TEST t )
( while TEST
( setq TMP ( grread t 7 0 )
MODE ( car TMP )
dyncpt ( cadr TMP )
)
(entmod ( subst (cons 10 dyncpt) (assoc 10 (entget ob3) ) (entget ob3) ) )
(if ( = mode 3 ) ( setq TEST nil ) )
)
)
)
( defun ZML-GRREADLST ( 3pt /)
( setq TEST t )
( while TEST
( setq TMP ( grread t 7 0 )
MODE ( car TMP )
dyncpt ( cadr TMP )
)
( redraw )
( grdraw 3pt dyncpt 1 )
(if ( = mode 3 )
(progn
( setq TEST nil )
( setq pt2 dyncpt )
(entmake
(list
(cons 0 "LINE")
(cons 10 3pt )
(cons 11 pt2 )
(cons 62 1 )
(cons 8 "tmp" )
)
)
)
)
)
)