|
|

楼主 |
发表于 2012-12-3 14:37
|
显示全部楼层
自己修改了一下, v& L8 Q* e8 f# I
defun C:jx(/ ss len a o1 o2 o3 o4 p1 p2);定义参数
( J7 l# R9 `3 y1 z1 o% M(setq ss (ssget));选取文本
( Y* D9 r2 i; j' Z(setq ss (ssadd));选取文本$ t7 j' s+ l. S& ~2 p# z
(setq len (sslength ss));读取文本长度* y0 Q, j6 r& [ J9 t
(setq a (entget ss));将文本变成一个合集( r4 E) J7 D; I7 u. O1 K
(setq o1 (+ (cadr (assoc 10 a))));得到文本插入点x坐标的和
3 F% P! z% Z+ q" G- Y8 f(setq o2 (/ (o1 len)));求的x坐标的平均值
& L9 c6 \9 O5 p; R D% ?2 x+ ~0 ](setq o3 (+ (cadr (assoc 20 a))));得到文本插入点y标的和
+ d7 t, P# [* h) ~- {, m# q(setq o4 (/ (o3 len))))));求的y标的平均值5 g' Z# O# n+ J9 I3 y0 ]+ y
if(=1 1)(progn
& |- R0 f, ?+ a. `% M q- _6 T(cond ((=(assoc 10 ss) o2) ((setq p1 polar(o1,o3)) (setq p2 polar(o1,(+(o3 1))))如果x坐标相同,则按照Y的平均值的那条线镜像
, p6 s; P/ \4 c. |; u7 s8 h(cond ((=(assoc 2 ss) o4) ((setq p1 polar((+(o2 1),o3)) (setq p2 polar(o2,o3)))如果y标相同,则按照x平均值的那条线镜像' @* X: r$ S: U5 b0 i+ r
(command "._mirror" ss "" p1 p2 "y")# e- ]/ _$ B3 _. ]
(princ) |
|