只需一步,快速开始
求助:
如何一次选取多个TEXT或MTEXT后选择集按原(TEXT或MTEXT)位置排序,例:A,B,C,
D,E,F
G,H,I
排完序后选择集内的顺序先按行再按列,即第一个是A,第二个是B,第四个是D,第八个是H!
使用道具 举报
(cdr(assoc 1 alist))
排序
(acad _strlsort list)
后放回去,应该不难写.
写这样的程序好像没有多大意义.
是不是问题太简单了?怎么高手都不屑一顾呀.
早上刚写的。。看行不行
您需要 登录 才可以下载或查看,没有账号?注册
我这有一个,不过没有源码。
调用方式:(setq ss (ssget '((0 . "mtext,text"))))(setq ss (artext ss));这个artext是排序的函数.(setq n -1)(repeat (sslength ss)(setq ent (ssname ss (setq n (1+ n))))(princ "\ntext")(princ n)(princ " = ")(princ (cdr (assoc 1 (entget ent))))将以上语句复制到成一个LISP文件,加载即可,如果不显示排序后的结果,直接用(setq ss (artext ss))即可。
;;; 通用函数 选择集按照给定的组码值进行排序;;;;|;;参数说明:SE ----要排序的选择集 DXF ----排序依据的组码号 INT ----如果组码值为一个表,则INT指出使用第几个;否则nil FUZZ----允许偏差;若无为nil K ----T表示从大到小,nil表示从小到大 返回值:排序后的选择集 示例:(SORT-SE SS 10 0 5.0 T ) 表示按照10组码的X坐标值进行排序,允许偏差值为5.0,顺序为从大到小 (SORT-SE SS 10 1 3.0 NIL) 表示按照10组码的Y坐标值进行排序,允许偏差值为3.0,顺序为从小到大 (SORT-SE SS 8 NIL NIL NIL) 表示按照8组码值(图层名称)进行排序,顺序为从小到大 |;
本版积分规则 发表回复 回帖后跳转到最后一页
小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 ) ©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途
GMT+8, 2024-5-17 19:01 , Processed in 0.179066 second(s), 27 queries , Gzip On.
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.