|
|
有一个lsp自己写的,因为是刚刚入门所以基本上都是错误的,希望有人能帮我纠正8 E" u( V3 b3 |
4 }7 l& m* G9 F s( V(defun C:jx(/ ss len p1 p2 o1 o2 o3 o4)' ]; l% ~5 v: |( p' }9 \
(setq ss (ssget)) ;得到一批文字
% m& ^( `; K+ p r' L; T (setq len (sslength ss)) ;得到一共选择文字的数目2 x% | V0 e, P; X5 O0 `
(setq a (entget ss) ;将ss的文字变成数组
& J+ y7 f2 s1 ^% L+ s2 i- \" Q; C% w (setq o1 (+ (cdr (assoc 10 a))) ;将每个文字的x坐标赋值给o1+ a& @3 a1 D$ `0 z- N& d+ e
(setq o2 (* (o1 (car len)) 1.0));得到每个文字的x坐标的平均值赋值给o2
4 n& I1 v/ K# t0 h& I/ F8 Q (setq o3 (+ (cdr (assoc 20 a)));将每个文字的y坐标赋值给o3
, Z1 T, F# J% q! D5 }2 K U+ w (setq o4 (* (o3 (car len)) 1.0));得到每个文字的y坐标的平均值赋值给o4. J2 y3 L9 ^/ Q) k- |& G& \/ D
, m/ y# n1 y6 q" u! l% d' }if(progn D, N! x* c9 ?* r$ O W
(cond ((=o1 (cdr (assoc 10 ss)) (setq p1 o3)(setq p2 (o2+1)));如果每个文字x坐标的平均值与每个文字相同 那么就得到y值 p1 和 p2 5 G9 E8 m& E$ q( v
(cond ((=o4 (cdr (assoc 20 ss)) (setq p1 (o1+1))(setq p2 o4)))));如果每个文字y坐标的平均值与每个文字相同 那么就得到x值 p1 和 p2
. \2 _% ~3 I, @ (command "._mirror" ss "" p1 p2 "y")根据文字组中线镜像,并删除原有文字组2 g) W" ?$ s; @3 [" |0 B* K R& c4 N
)9 j6 P" `! I' A
), S, V9 W5 G8 o$ W) A' [, z
(princ)2 Z7 V/ J/ s2 B
)
% D/ K; u2 Z. R# }9 a, H) U我知道里面很多都不对
- Z! \ z8 \& Z. ?& q希望有人能帮我一下,先谢谢大家了1 M' n6 D/ f' q4 Y' u
目标是变成下图这样 $ @" m" y+ k y
选择其中一组数,变成右边的那组
! W* f7 ]: K0 `4 A |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|