|
|

楼主 |
发表于 2012-12-3 14:37
|
显示全部楼层
自己修改了一下
1 r% v+ b' ~ a: Q; c edefun C:jx(/ ss len a o1 o2 o3 o4 p1 p2);定义参数: l" t0 {0 y5 ^! g8 @3 T! |
(setq ss (ssget));选取文本
* |" g. }: l H/ V1 ~(setq ss (ssadd));选取文本: H* `0 s; n0 A G
(setq len (sslength ss));读取文本长度
/ O- P) a2 Q, B; m' m(setq a (entget ss));将文本变成一个合集
: w. n% t& M0 X9 `9 C9 b2 |(setq o1 (+ (cadr (assoc 10 a))));得到文本插入点x坐标的和
6 }' {0 x. Q9 c' P8 j(setq o2 (/ (o1 len)));求的x坐标的平均值
$ j7 w* |7 B. [+ C" k# S(setq o3 (+ (cadr (assoc 20 a))));得到文本插入点y标的和4 B" f) }: [! V3 Y. ~
(setq o4 (/ (o3 len))))));求的y标的平均值+ B1 `: I9 v* ^' A9 b
if(=1 1)(progn
: S T) a& I" q2 h- t5 p# R9 p(cond ((=(assoc 10 ss) o2) ((setq p1 polar(o1,o3)) (setq p2 polar(o1,(+(o3 1))))如果x坐标相同,则按照Y的平均值的那条线镜像
' t# n# O0 e1 j6 _9 p7 W/ |. {(cond ((=(assoc 2 ss) o4) ((setq p1 polar((+(o2 1),o3)) (setq p2 polar(o2,o3)))如果y标相同,则按照x平均值的那条线镜像
/ {, l r# m4 K$ H, A(command "._mirror" ss "" p1 p2 "y")
6 v: x! _. |1 v1 O; E7 R (princ) |
|