明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2900|回复: 3

选择集按图层排序

[复制链接]
发表于 2005-12-23 16:08 | 显示全部楼层 |阅读模式

使用(ssget "x" 创建的选择集:

(setq ss (ssget "x" '((0 . "point") )))

可以把选择集  ss 按图层排序,然后返回一个选择集吗?

按图层排序就是按图层的第一上字母,如有图层: BC  AC  FC  DC

排序的顺序是 AC BC DC FC

发表于 2017-8-12 08:00 | 显示全部楼层
  1. (setq ss (ssget "x" '((0 . "text") )))
  2. (defun tt(ss)
  3.   (setq elst(ice ss))
  4.   (setq elst(vl-sort elst (function(lambda(x y)(<(vla-get-layer(vlax-ename->vla-object x))(vla-get-layer(vlax-ename->vla-object y)))))))
  5.   (enamelst->ss (REVERSE elst))
  6.   )

  7. (defun enamelst->ss(enamelst / ename sl ss)
  8.   (setq ss(ssadd))
  9.   (setq sl(length enamelst))
  10.   (repeat sl
  11.     (setq ename(nth (setq sl(1- sl)) enamelst))
  12.     (setq ss(ssadd ename ss))))
  13. ;;;选择集转图元名表001
  14. ;【博士】水洗(924604042) 15:42:42
  15. ;15:55 2017/3/9
  16. (defun ice (s)
  17. (if (/= 0 (sslength s))
  18.   (cons (ssname s 0) (ice (ssdel (ssname s 0) s)))
  19. )
  20. )
  21. (vla-get-layer(vlax-ename->vla-object(ssname (tt ss) 0)));此句测试使用
  22. (print"***大懒猪荣誉出品***")
回复 支持 1 反对 0

使用道具 举报

发表于 2017-8-5 12:06 | 显示全部楼层
顶上去,我也想知道啊
发表于 2017-8-17 09:12 | 显示全部楼层
咦,这个不是在编程申请版块吗?怎么没钱呢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-6-15 15:09 , Processed in 0.188893 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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