|
|

楼主 |
发表于 2012-12-3 14:37
|
显示全部楼层
自己修改了一下
. q& F$ r( P6 L- pdefun C:jx(/ ss len a o1 o2 o3 o4 p1 p2);定义参数1 Y' N% n) {/ _& H
(setq ss (ssget));选取文本
1 H( R8 u4 j5 B3 G6 J0 c; t& z, R(setq ss (ssadd));选取文本
3 |/ a% B# m2 L1 x" ~+ l0 |+ G(setq len (sslength ss));读取文本长度: d, S# {$ f7 E: `8 d
(setq a (entget ss));将文本变成一个合集. I, t: g% R6 N8 G7 E8 B
(setq o1 (+ (cadr (assoc 10 a))));得到文本插入点x坐标的和, s( J4 ^! @4 Y
(setq o2 (/ (o1 len)));求的x坐标的平均值
$ Z: E8 ], \1 \(setq o3 (+ (cadr (assoc 20 a))));得到文本插入点y标的和% `$ E* I/ D* i/ }( w( g* P' y! G: B
(setq o4 (/ (o3 len))))));求的y标的平均值7 L: s- @2 r, T6 {* n: k" G7 i
if(=1 1)(progn
1 A# e+ I2 ?8 {3 `(cond ((=(assoc 10 ss) o2) ((setq p1 polar(o1,o3)) (setq p2 polar(o1,(+(o3 1))))如果x坐标相同,则按照Y的平均值的那条线镜像/ _5 ]+ e3 N* ~' ^6 V% ~/ m0 Q ?
(cond ((=(assoc 2 ss) o4) ((setq p1 polar((+(o2 1),o3)) (setq p2 polar(o2,o3)))如果y标相同,则按照x平均值的那条线镜像$ G+ O" k0 {" E0 a4 e
(command "._mirror" ss "" p1 p2 "y"); n# h8 \6 `# _4 h& ^; H
(princ) |
|