 - (defun c:bzzb()
- (setq oldzin (getvar "DIMZIN"))
- (setvar "DIMZIN" 0)
- (if (= hzt nil) (setq hzt 1))
- (setq thzt hzt)
- (setq thzt (getdist (strcat "\n 文字高度<" (rtos thzt) ">:")))
- (if thzt (setq hzt thzt))
- (command "style" "standard" "黑体" hzt 1 "" "" "")
- (initget 1 "A B ")
- (setq gclx (getkword "\n 绝对坐标(A) / 相对于某点的坐标(B) <A>:"))
- (if (= gclx "B")
- (setq pt0 (getpoint "\n 点取基准坐标点位置: "))
- (setq pt0 (list 0 0))
- )
- (setq os (getvar "osmode"))
- (while (and (setq pt (getpoint "\n点取标注点位置: "))
- (setq pt1 (getpoint pt "\n文字点: ")))
- (setq p1 (polar pt1 0 hzt))
- (setq p2 (polar pt1 pi hzt))
- (command "point" pt)
- (setvar "osmode" 0)
- (setq pt1 (mapcar '- pt pt0))
- (setq xpt (rtos (cadr pt1) 2 3) ypt (rtos (car pt1) 2 3))
- (setq l (* hzt (max (strlen xpt) (strlen ypt))))
- (setq pt2 (polar pt1 (/ pi 2) l))
- (command "_.PLINE" pt pt1 pt2 "")
- (command "_.TEXT" "ML" p2 90 (strcat "x=" xpt))
- (command "_.TEXT" "ML" p1 90 (strcat "y=" ypt))
- (setvar "osmode" os)
- )
- (setvar "DIMZIN" oldzin)
- );defun
|