明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3331|回复: 20

如何一次选取多个TEXT或MTEXT后选择集按原(TEXT或MTEXT)位置排序

  [复制链接]
发表于 2007-9-13 15:22 | 显示全部楼层 |阅读模式

求助:

      如何一次选取多个TEXT或MTEXT后选择集按原(TEXT或MTEXT)位置排序,例:A,B,C,

                                                                                                                                      D,E,F

                                                                                                                                      G,H,I

    排完序后选择集内的顺序先按行再按列,即第一个是A,第二个是B,第四个是D,第八个是H!

发表于 2007-9-13 15:56 | 显示全部楼层

(cdr(assoc 1 alist))

排序

(acad _strlsort  list)

后放回去,应该不难写.

写这样的程序好像没有多大意义.

 楼主| 发表于 2007-9-14 07:59 | 显示全部楼层
acad _strlsort是什么函数呀,fawn_lgc能说的明白点么?
 楼主| 发表于 2007-9-14 08:09 | 显示全部楼层
fawn_lgc理解错了,不是以ASCII码字母顺序排序的,是按图元位置先行后列的排序。
 楼主| 发表于 2007-9-14 08:12 | 显示全部楼层
是做表格提取到EXCEL用的,以CAD中各MTEXT或TEXT位置确定在EXCEL中位置
 楼主| 发表于 2007-9-17 08:26 | 显示全部楼层

是不是问题太简单了?怎么高手都不屑一顾呀.

发表于 2007-9-17 10:47 | 显示全部楼层

早上刚写的。。看行不行

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2007-9-17 10:48 | 显示全部楼层

我这有一个,不过没有源码。

 

调用方式:
(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))即可。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2007-9-17 10:51 | 显示全部楼层
最后少了一个括号,加上即可
发表于 2007-9-17 11:18 | 显示全部楼层
;;; 通用函数 选择集按照给定的组码值进行排序
;;;
;|;;参数说明: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组码值(图层名称)进行排序,顺序为从小到大
|;


源代码,参见:http://zml84.blog.sohu.com/64213673.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|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.

快速回复 返回顶部 返回列表