找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1247|回复: 5

[求助] [求助]:ssget后的表怎么按升序排列?

[复制链接]
发表于 2007-10-5 23:38:31 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
ssget后生成的选择集怎么按升序排列?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 2个

财富等级: 恭喜发财

发表于 2007-10-6 07:47:24 | 显示全部楼层
何谓升序?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-10-7 08:42:17 | 显示全部楼层
比如ssget选择很多的文字生成一个表,文字里面包含数字,怎样才能让这些文字按所包含的数字的大小按顺序排列。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2007-10-7 09:07:19 | 显示全部楼层
如文字是这样的就不好办了
“3个圆直径为68”
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 2个

财富等级: 恭喜发财

发表于 2007-10-7 15:07:08 | 显示全部楼层
选择集按照给定的组码值进行排序:http://zml84.blog.sohu.com/64213673.html

[php]
;;按照TEXT对象内容排序:
;;;           (SORT-SE SS 1  NIL NIL NIL)
[/php]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2007-10-11 17:15:13 | 显示全部楼层
;;发一个原代码的,不知是不是你要的
;;;程序的参数是一个选择集,返回一个按数字升序排列的选择集
;;;程序只对TEXT有效,应保证选择集中的图元为数字,非数字的排序结果不能确定
;;;如要降序,第九行中的>改为<
(vl-load-com)
(defun sort (sse / lst ssn te ssc)
  (setq lst nil)
  (setq ssn (sslength sse))
  (while (setq te (ssname sse (setq ssn (- ssn 1))))
    (if (= (cdr (assoc 0 (entget te))) "TEXT")
    (setq lst (append lst (list te))))
      )
   (setq lst (vl-sort lst (function (lambda (e1 e2) (> (atof (cdr (assoc 1 (entget e1)))) (atof (cdr (assoc 1 (entget e2)))))))))
  (setq ssn (length lst))
  (setq ssc (ssadd))
  (while (> ssn 0)
    (setq ssn (- ssn 1))
    (setq te (nth ssn lst))
    (setq ssc (ssadd te ssc)))
  (setq ssc ssc)
  
  )

;;;下为测试,第三行为用法,lstt中是排序了的数字
(defun c:tt ( / ssa ssn ssi)
  (setq ssa (ssget "X"))
  (setq ssa (sort ssa))
  (setq ssn (sslength ssa)
        ssi 0)
  (setq lstt nil)
  (while (< ssi ssn)
    (setq te (cdr (assoc 1 (entget (ssname ssa  ssi)))))
    (setq lstt (append lstt (list te)))
    (setq ssi (+ ssi 1))))
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-11-17 02:26 , Processed in 0.213894 second(s), 42 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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