freeok 发表于 2015-10-31 00:16 
我只会画画瓢改个颜色啥的,这个不简单了,大师再次出下手吧,拜托了!
 - (defun c:A (/ A ANG B DD DST EN ENT OS P1 P2 PL PP SEL STR X10 X11)
- (setvar "cmdecho" 0)
- (setq os (getvar "osmode"))
- (setvar "osmode" 0)
- (princ "\n文字加外圈")
- (if (setq sel (entsel "\n选择平行直线 <退出>:"))
- (progn
- (setq dd (getdist "\n输入圆直径:"))
- (setq x10 (cdr (assoc 10 (entget (car sel))))
- x11 (cdr (assoc 11 (entget (car sel))))
- ang (angle x10 x11)
- PL (polar (cadr sel) (+ (/ pi 2) ang) dd)
- )
- (vl-cmdf "_ucsicon" "off")
- (setq str (getstring "\n输入文字:")
- dst (* dd 1.2))
- (entmake (list '(0 . "TEXT") (cons 1 str) (cons 10 pL) (cons 40 dst) (cons 50 ang)))
- (setq en (entlast))
- (vl-cmdf "ucs" "OB" en)
- (setq ent (entget en)
- pp (textbox ent)
- p1 (car pp)
- p2 (cadr pp)
- pp (mapcar '(lambda (a b) (/ (+ a b) 2)) p1 p2))
- (vl-cmdf "circle" pp DD)
- (vl-cmdf "ucs" "w")
- (vl-cmdf "_ucsicon" "on")
- (setvar "osmode" os)
- )
- )
- (princ)
- )
|