大家好,曾在明经网上找到一个这样的程序,文字各旋转180度,但不批批量选择,或上一次选择
那位高人给改进一下,就是能批量选择,让所选择的文字各自都转一个角度,比如"A"是35度 "B"是87度 "C"是130度 "D"是150度 "E"是220度
选择A,B,C,D,E,转入30度,然后A,B,C,D,E,各自转了30度,这样A就是65度,B是107度"C"是160度 "D"是180度 "E"是250度
那位高手看一下能否改一下
(defun C:zz() (setq oldosmode (getvar "osmode")) (setvar "osmode" 0) (princ "\n请选择要旋转的单行文字!!!") (setq en (car (entsel))) (setvar "cmdecho" 0) (setq en1 (entget en)) (setq tym (cdr (assoc 0 en1))) (if ( = tym "TEXT") (progn (setq dd (cdr (assoc 10 en1))) (setq jd (cdr (assoc 50 en1))) (setq ysjd1 (cdr (textbox en1))) (setq ysjd (car ysjd1)) (setq x (car ysjd)) (setq y (cadr ysjd)) (setq a (atan (/ y x))) (setq jd1 (+ jd a)) (setq jl (/ (sqrt (+ (* x x) (* y y))) 2)) (setq xy (polar dd jd1 jl)) (command "rotate" en "" xy "180" ); 180 即需要旋转的角度,可以进行修改。 ) ) (if (/= tym "TEXT") (progn (princ "\n选择的不是单行文字!!!") (setvar "osmode" oldosmode) (setvar "cmdecho" 1) (princ) (exit) ) ) (setvar "osmode" oldosmode) (setvar "cmdecho" 1) (princ) ) |