|
|

楼主 |
发表于 2012-12-3 14:37
|
显示全部楼层
自己修改了一下% W+ O. p% {' x# E9 T: U
defun C:jx(/ ss len a o1 o2 o3 o4 p1 p2);定义参数
: d1 ~, W# r7 _3 V(setq ss (ssget));选取文本
( a- z9 I' P+ P; @; [(setq ss (ssadd));选取文本' ]' ?* J) d/ t7 ?5 W8 b Q0 ~
(setq len (sslength ss));读取文本长度) T& [; b4 Q: ?2 g4 n
(setq a (entget ss));将文本变成一个合集% Q3 C0 e" A: j2 a5 t2 t$ {
(setq o1 (+ (cadr (assoc 10 a))));得到文本插入点x坐标的和7 l( L `; x8 k, c
(setq o2 (/ (o1 len)));求的x坐标的平均值
* T- T: y F7 U# m2 G ](setq o3 (+ (cadr (assoc 20 a))));得到文本插入点y标的和
( |: D7 f6 l- |$ @: ?! o P(setq o4 (/ (o3 len))))));求的y标的平均值
' \- x. E# k! e: u% xif(=1 1)(progn |1 e. M$ y4 }* `7 o2 j, o# F
(cond ((=(assoc 10 ss) o2) ((setq p1 polar(o1,o3)) (setq p2 polar(o1,(+(o3 1))))如果x坐标相同,则按照Y的平均值的那条线镜像5 G3 B* X; X. ]/ c: n
(cond ((=(assoc 2 ss) o4) ((setq p1 polar((+(o2 1),o3)) (setq p2 polar(o2,o3)))如果y标相同,则按照x平均值的那条线镜像- `% Z5 z) r( y% A* V6 P
(command "._mirror" ss "" p1 p2 "y")
% T! z/ X# d. c (princ) |
|