|
有一个lsp自己写的,因为是刚刚入门所以基本上都是错误的,希望有人能帮我纠正 L0 F9 g1 l$ z' Q( j- [
& Y" q; r, W8 D. X7 f3 K
(defun C:jx(/ ss len p1 p2 o1 o2 o3 o4)- c+ I; p9 _0 U. M
(setq ss (ssget)) ;得到一批文字 & u7 B2 D, a) J8 @ X4 |
(setq len (sslength ss)) ;得到一共选择文字的数目
0 u+ V+ v5 g+ m& n (setq a (entget ss) ;将ss的文字变成数组- U% m# M1 R$ n' C* m) W3 n
(setq o1 (+ (cdr (assoc 10 a))) ;将每个文字的x坐标赋值给o1
% ^( i/ \) k; F; t7 b( Z- Q (setq o2 (* (o1 (car len)) 1.0));得到每个文字的x坐标的平均值赋值给o2
5 u$ B1 L1 k3 w% S- l (setq o3 (+ (cdr (assoc 20 a)));将每个文字的y坐标赋值给o3
, ]$ F$ v; v U5 w: L$ K (setq o4 (* (o3 (car len)) 1.0));得到每个文字的y坐标的平均值赋值给o4
* g: R4 o* z6 w9 q# _7 L
8 `/ w% q8 q( X. Y, ]2 F ^if(progn
, L# Q' l5 e# h; r (cond ((=o1 (cdr (assoc 10 ss)) (setq p1 o3)(setq p2 (o2+1)));如果每个文字x坐标的平均值与每个文字相同 那么就得到y值 p1 和 p2 ) z. k" Q. @4 ]0 N& B( [8 E
(cond ((=o4 (cdr (assoc 20 ss)) (setq p1 (o1+1))(setq p2 o4)))));如果每个文字y坐标的平均值与每个文字相同 那么就得到x值 p1 和 p2
, B/ Y3 H7 f# E: y7 O (command "._mirror" ss "" p1 p2 "y")根据文字组中线镜像,并删除原有文字组
6 C9 T; z+ K+ Y6 H D+ n )
. {) W/ Z' W( i+ d# n# a) [ O )1 J/ U' c' ` q) {- d
(princ): E' I6 w. E% }9 m
)
! G5 F4 N. u, m! l( C% g我知道里面很多都不对
4 a& ^/ q4 z+ ^8 S- O5 g& ]' X希望有人能帮我一下,先谢谢大家了 \( w0 U3 @8 a$ ^( g! M
目标是变成下图这样
/ E, O e5 r: p选择其中一组数,变成右边的那组
. \0 Z- m4 w3 T$ G |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|