|
|

楼主 |
发表于 2012-12-3 14:37
|
显示全部楼层
自己修改了一下/ x6 H6 N# o6 U1 M, D8 h" i
defun C:jx(/ ss len a o1 o2 o3 o4 p1 p2);定义参数: k" S; E- K/ _3 @: S# } {( T7 J) n
(setq ss (ssget));选取文本/ g4 D6 p3 G7 h) _# q7 Y
(setq ss (ssadd));选取文本
3 U3 e* |2 X% |) w4 D(setq len (sslength ss));读取文本长度: c# t3 b. g0 G/ n3 i
(setq a (entget ss));将文本变成一个合集
! v( T- Z% v9 I) A8 W7 b# ], M6 o(setq o1 (+ (cadr (assoc 10 a))));得到文本插入点x坐标的和7 G( ?. ?6 _) J8 N3 o6 @
(setq o2 (/ (o1 len)));求的x坐标的平均值
$ p; t; H7 d0 U' f(setq o3 (+ (cadr (assoc 20 a))));得到文本插入点y标的和. m- W8 V9 e* b. L. ?* R) y/ k
(setq o4 (/ (o3 len))))));求的y标的平均值* H7 `/ D1 c, n* J y& D
if(=1 1)(progn3 \& ]) K1 |% x6 ]5 Q
(cond ((=(assoc 10 ss) o2) ((setq p1 polar(o1,o3)) (setq p2 polar(o1,(+(o3 1))))如果x坐标相同,则按照Y的平均值的那条线镜像
- t0 F% u6 _, ~2 t% _(cond ((=(assoc 2 ss) o4) ((setq p1 polar((+(o2 1),o3)) (setq p2 polar(o2,o3)))如果y标相同,则按照x平均值的那条线镜像; O' b7 b+ y9 Z$ ~& s( A% Q: c9 y5 }
(command "._mirror" ss "" p1 p2 "y")0 v, J: z0 t6 |3 Z9 M& {
(princ) |
|