(defun c:xxb ()
(setvar "osmode" 0)
(setvar "cmdecho" 0)
(setq en1 (car (setq ent (entsel "\n选择要写文字的线:"))))
(setq en (entget en1))
(setq pe (cadr ent))
(setq pt (osnap pe "near"))
(setq ab1 (getpoint "\n选择文字的方向:"))
(setq ang1 (angle pt ab1))
(setq pt10 (cdr (assoc 10 en)))
(setq pt11 (cdr (assoc 11 en)))
;;提取x,y
(setq a0 (car pt10))
(setq b0 (cadr pt10))
(setq a1 (car pt11))
(setq b1 (cadr pt11))
(setq aa (- a1 a0))
(setq bb (- b1 b0))
(if (/= aa 0)
(progn
(setq ba (/ bb aa))
(setq ang (atan ba))
)
(progn
(setq ang (/ pi 2))
)
)
(setq r1 (getvar "userr1"))
(setq rr (* 250 (/ r1 100)))
(setq bb (* 2 r1))
(if(and (> ang1 -0.79) (< ang1 1.05))
;(if (>(- ang1 ang) (+ pi ang))
(setq pt1 (polar pt (+ (* pi 1.5) ang) bb))
(setq pt1 (polar pt (+ (/ pi 2) ang) bb))
)
(setq st (getstring "\n输入文字内容<200x400>:"))
(if (= st "")
(setq st "200x400")
)
(command "text" "j" "mc" pt1 rr (* (/ ang pi) 180) st)
(prin1)
)
页:
1
[2]