|
|

楼主 |
发表于 2012-12-3 14:37
|
显示全部楼层
自己修改了一下% s/ M/ K/ ]" Y0 h; C4 O
defun C:jx(/ ss len a o1 o2 o3 o4 p1 p2);定义参数6 l0 W- d3 {: o8 Y8 T
(setq ss (ssget));选取文本
- b, {2 k; q1 ]" x, z5 U(setq ss (ssadd));选取文本) X/ e# p8 W; b
(setq len (sslength ss));读取文本长度
5 P: V2 O3 x0 z) p! a! j(setq a (entget ss));将文本变成一个合集
& }9 J0 n; o- ]" g0 c(setq o1 (+ (cadr (assoc 10 a))));得到文本插入点x坐标的和' U/ q; P1 v8 \1 m9 k, F
(setq o2 (/ (o1 len)));求的x坐标的平均值
2 N, s$ z1 I7 v' W4 k(setq o3 (+ (cadr (assoc 20 a))));得到文本插入点y标的和
3 u# X0 v' M$ _0 |. `& s' u- z(setq o4 (/ (o3 len))))));求的y标的平均值8 n h5 m. L" W' `7 G4 h% Z3 Q. l
if(=1 1)(progn/ P# y0 c# L( T9 A& c: V$ j2 s
(cond ((=(assoc 10 ss) o2) ((setq p1 polar(o1,o3)) (setq p2 polar(o1,(+(o3 1))))如果x坐标相同,则按照Y的平均值的那条线镜像
+ H% {& n( ^' f- q, W) Y8 H5 j(cond ((=(assoc 2 ss) o4) ((setq p1 polar((+(o2 1),o3)) (setq p2 polar(o2,o3)))如果y标相同,则按照x平均值的那条线镜像6 k- Q: \9 z @- B! L* V
(command "._mirror" ss "" p1 p2 "y")8 j* H9 J7 P1 I* z9 k2 d$ g
(princ) |
|