 - (defun c:tt ()
- (setvar "CMDECHO" 0)
- (setq txt (getstring "\n标注内容: "))
- (while (and (setq pt1 (getpoint "\n起点: "))
- (setq pt2 (getpoint pt1 "\n终点: ")))
- (setq dis (distance pt1 pt2)
- ang (angle pt1 pt2)
- ang2 (angle pt2 pt1)
- ll (/ dis 4)
- dd (/ dis 10)
- ptm (mapcar '(lambda(a b) (/ (+ a b) 2)) pt1 pt2))
- (setq ang1 (if (< (/ (* pi 2) 3) ang (/ (* pi 5) 3)) pi 0))
- (setq an (+ ang (/ pi 2) ang1))
- (command "_.PLINE" pt1 (polar pt2 ang2 ll) "W" dd 0 pt2 "")
- (if (/= txt "")
- (command "_.TEXT" "TC" (polar ptm an ll) dd (/ (* (- an (/ pi 2)) 180) pi) txt)
- )
- )
- (setvar "CMDECHO" 1)
- (princ)
- )
|