 - ;;;;-----------------轴线号----------------
- (defun c:zxh (/ ap lp ku p1 p2 p3 txt)
- ;;保存系统变量设置
- (setq old_os (getvar "osmode")
- old_cmd (getvar "cmdecho")
- )
- (setq cl (getvar "clayer"))
- (setvar "cmdecho" 0)
- (setvar "osmode" 33)
- (if (not (tblsearch "layer" "轴线"))
- (command "-layer" "m" "轴线" "c" "7" "" "")
- )
- (while (setq ap (getpoint "\n 第一点<退出>: "))
- (setvar "orthomode" 1);_开
- (initget 1)
- (setq lp (getpoint ap " 第二点: "))
- (setvar "clayer" "轴线")
- (setvar "osmode" 0)
- (setq ku (angle ap lp))
- (setq p1 (polar lp ku 500))
- ;;圆心
- (setq p2 (polar p1 (* 1.2 pi) 300))
- ;;文字起点
- (setq p3 (polar p1 (* 1.8 pi) 300))
- ;;文字终点
- (command "._line" ap lp "")
- (command "._circle" p1 500)
- (setq txt (strcase (getstring "\n 输入文字<A>: ")))
- (if (= txt "")
- (setq txt "A")
- )
- (if (not (tblsearch "style" "hz"))
- (command "_style" "hz" "romanc.shx,hztxt.shx "
- "0.0" "1" "" ""
- "" ""
- )
- )
- (command "._text" "j" "f" p2 p3 500 txt)
- (setvar "osmode" 33)
- )
- ;;恢复系统变量设置
- (setvar "cmdecho" old_cmd)
- (setvar "osmode" old_os)
- (setvar "clayer" cl)
- (setq *error* olderr)
- (princ)
图1是上面这个程序画的,有高手可以再搞个图2这样的程序吗
|