|
有一个lsp自己写的,因为是刚刚入门所以基本上都是错误的,希望有人能帮我纠正- z n) ^& H+ W2 O1 E& R# g2 Q
8 ]" i8 t( L$ i. n# T- U
(defun C:jx(/ ss len p1 p2 o1 o2 o3 o4)
. ]+ d0 U, e6 I- j. X" E (setq ss (ssget)) ;得到一批文字 8 y5 Y1 b# F' ~2 U. P( M. W
(setq len (sslength ss)) ;得到一共选择文字的数目% |' Q: A# J+ s3 w/ z
(setq a (entget ss) ;将ss的文字变成数组( I# Y, n W4 Q) p. N
(setq o1 (+ (cdr (assoc 10 a))) ;将每个文字的x坐标赋值给o1
+ }2 d( J' ^3 \5 c5 q- ~9 T (setq o2 (* (o1 (car len)) 1.0));得到每个文字的x坐标的平均值赋值给o27 ]* s! N$ H! N& ~6 v
(setq o3 (+ (cdr (assoc 20 a)));将每个文字的y坐标赋值给o3
, T. x- {& b b& Y; d6 `5 { (setq o4 (* (o3 (car len)) 1.0));得到每个文字的y坐标的平均值赋值给o4
4 u4 c, o3 `& _6 |, [3 E5 d. @3 Q% @4 f7 B! F( l2 y
if(progn
7 f- P7 e7 l. V+ F- r (cond ((=o1 (cdr (assoc 10 ss)) (setq p1 o3)(setq p2 (o2+1)));如果每个文字x坐标的平均值与每个文字相同 那么就得到y值 p1 和 p2
! I6 ?2 w7 e( Q( Q(cond ((=o4 (cdr (assoc 20 ss)) (setq p1 (o1+1))(setq p2 o4)))));如果每个文字y坐标的平均值与每个文字相同 那么就得到x值 p1 和 p2
( z3 N/ U- `5 d, P, R1 w- [4 L (command "._mirror" ss "" p1 p2 "y")根据文字组中线镜像,并删除原有文字组
" l& {/ Y$ d/ u/ r )7 h4 ]. u0 [- P8 i
)2 i# Q" }1 R6 i, |3 T4 `1 ^
(princ)
- O$ p; ]0 N0 p* B) ~6 J8 r& L: j6 N9 D8 @' l
我知道里面很多都不对: }$ V( a5 L5 T% x# z1 e. Y
希望有人能帮我一下,先谢谢大家了
- x( w7 {# {4 ?目标是变成下图这样
' y- [% N, u: B& C. H6 T选择其中一组数,变成右边的那组
$ c6 [6 f' `- ?, ]7 Y |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|