|

楼主 |
发表于 2012-12-3 14:37
|
显示全部楼层
自己修改了一下
4 ?8 k# j! j0 ^: g. Q' W( sdefun C:jx(/ ss len a o1 o2 o3 o4 p1 p2);定义参数
0 H0 _- z! r7 V2 F1 L- T9 A(setq ss (ssget));选取文本
3 O! b8 f) H; E* @& a(setq ss (ssadd));选取文本
$ B+ L2 f9 {/ P6 b6 O g(setq len (sslength ss));读取文本长度2 H( ~" Q1 B' M& l; A/ ]! G, Z+ A& n
(setq a (entget ss));将文本变成一个合集
' j# @* A* a- @/ Q, F n(setq o1 (+ (cadr (assoc 10 a))));得到文本插入点x坐标的和
' N1 z2 N- ]- p9 `+ [(setq o2 (/ (o1 len)));求的x坐标的平均值7 L6 C; ?+ R* E$ {. b
(setq o3 (+ (cadr (assoc 20 a))));得到文本插入点y标的和0 B4 @ z4 E$ E) k- |# v$ T3 W) c
(setq o4 (/ (o3 len))))));求的y标的平均值
8 M7 Z y/ P$ q/ e$ [, Hif(=1 1)(progn0 [+ {) _' K9 s1 _6 R
(cond ((=(assoc 10 ss) o2) ((setq p1 polar(o1,o3)) (setq p2 polar(o1,(+(o3 1))))如果x坐标相同,则按照Y的平均值的那条线镜像
: [+ T6 Q9 v2 g( G) p3 j/ I. F! v(cond ((=(assoc 2 ss) o4) ((setq p1 polar((+(o2 1),o3)) (setq p2 polar(o2,o3)))如果y标相同,则按照x平均值的那条线镜像+ @, f/ J6 E }; E% g F
(command "._mirror" ss "" p1 p2 "y")% `% n T* f _: X. j
(princ) |
|