|

楼主 |
发表于 2012-12-3 14:37
|
显示全部楼层
自己修改了一下7 W2 {% _$ l1 |2 B* Q- K" Z
defun C:jx(/ ss len a o1 o2 o3 o4 p1 p2);定义参数% E! X. |+ ?$ c5 I/ a: H( X- ]4 o% K
(setq ss (ssget));选取文本
/ w g* w/ T0 G1 M$ X. D(setq ss (ssadd));选取文本
9 m% {2 _( z0 W" @: T(setq len (sslength ss));读取文本长度) \' [8 Q3 K) x# ~, z
(setq a (entget ss));将文本变成一个合集
( n0 y& J* M+ v' ]1 m: p(setq o1 (+ (cadr (assoc 10 a))));得到文本插入点x坐标的和
' V, |+ g% {. E% Q(setq o2 (/ (o1 len)));求的x坐标的平均值" h, ] z6 k# I0 w% }" Q
(setq o3 (+ (cadr (assoc 20 a))));得到文本插入点y标的和
+ K2 _3 \: R) l6 z; H(setq o4 (/ (o3 len))))));求的y标的平均值
9 G! W- [6 j0 }0 u$ o qif(=1 1)(progn
+ V4 k% E# C: U7 O' l" Z, c$ z& e(cond ((=(assoc 10 ss) o2) ((setq p1 polar(o1,o3)) (setq p2 polar(o1,(+(o3 1))))如果x坐标相同,则按照Y的平均值的那条线镜像
6 {8 ^" T# C* n( E7 r: [(cond ((=(assoc 2 ss) o4) ((setq p1 polar((+(o2 1),o3)) (setq p2 polar(o2,o3)))如果y标相同,则按照x平均值的那条线镜像0 D8 c- {6 E0 g8 E7 `0 [$ e! v
(command "._mirror" ss "" p1 p2 "y")2 @3 q8 s. X& r# D
(princ) |
|