明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3562|回复: 8

输入南方CASS编码批量选择物体

[复制链接]
发表于 2015-8-28 12:29 | 显示全部楼层 |阅读模式
  1. ;选择集与对象名表互转
  2. (defun cx-ss2en
  3.   (ss / enlst)
  4.   (cond
  5.     ((= (type ss) 'PICKSET)
  6.       (vl-remove-if-not '(lambda (x) (= (type x) 'ENAME)) (mapcar 'cadr (ssnamex SS)))
  7.     )
  8.     ((= (type ss) 'LIST)
  9.       (setq enlst (ssadd))
  10.       (last (mapcar '(lambda (x) (ssadd x enlst)) ss))
  11.     )
  12.     ((='ename(type ss))
  13.       (ssadd ss)
  14.     )
  15.   )
  16. )
  17. (defun c:xzwt ( / bm ss i lst e en lstt);输入南方CASS编码批量选择物体
  18. (setq bm(cons 1000 (rtos(getreal "请输入实体南方编码" )2 0)) )

  19. (setq ss (ssget "x"'()   ))
  20. (setq i 0)
  21. (setq lst '())
  22.    (repeat (sslength ss)

  23.      (setq e (ssname ss i))
  24.        (setq en (entget e '("*")))
  25.      
  26. (if  
  27.      (equal (car(cdr (car (cdr (assoc -3 en))))) bm)
  28.   
  29.         (setq lst (append  lst (list e))  )
  30.          )
  31.      (setq  i  (1+ i))
  32.      
  33.      )
  34. (setq lstt (cx-ss2en lst))
  35. (sssetfirst nil lstt)
  36.   
  37. )
 楼主| 发表于 2015-8-28 12:36 | 显示全部楼层
  1. ;选择集与对象名表互转
  2. (defun cx-ss2en
  3.   (ss / enlst)
  4.   (cond
  5.     ((= (type ss) 'PICKSET)
  6.       (vl-remove-if-not '(lambda (x) (= (type x) 'ENAME)) (mapcar 'cadr (ssnamex SS)))
  7.     )
  8.     ((= (type ss) 'LIST)
  9.       (setq enlst (ssadd))
  10.       (last (mapcar '(lambda (x) (ssadd x enlst)) ss))
  11.     )
  12.     ((='ename(type ss))
  13.       (ssadd ss)
  14.     )
  15.   )
  16. )
  17. (defun c:xzwt ( / bm ss i lst e en lstt ydx);输入南方CASS编码批量选择物体
  18.   (prompt "\n请选择一个源对象:")
  19.   (setq ydx (entget (car (entsel ""))'("*")))
  20.   
  21. (setq bm (car(cdr (car (cdr (assoc -3 ydx))))) )

  22. (setq ss (ssget "x"'()   ))
  23. (setq i 0)
  24. (setq lst '())
  25.    (repeat (sslength ss)

  26.      (setq e (ssname ss i))
  27.        (setq en (entget e '("*")))
  28.      
  29. (if  
  30.      (equal (car(cdr (car (cdr (assoc -3 en))))) bm)
  31.   
  32.               (setq lst (append  lst (list e))  )
  33.          )
  34.      (setq  i  (1+ i))
  35.      
  36.      )
  37. (setq lstt (cx-ss2en lst))
  38. (sssetfirst nil lstt)
  39.        
  40. )
回复 支持 1 反对 0

使用道具 举报

发表于 2015-8-29 21:50 | 显示全部楼层
绝对的好东西。
发表于 2015-9-8 09:05 | 显示全部楼层
楼主,CASS不是自带了这个功能的么?批量选目标就可以完成的呀,而且更强大,无心冒犯,只是不知道有什么区别
 楼主| 发表于 2015-9-8 11:22 | 显示全部楼层
血司 发表于 2015-9-8 09:05
楼主,CASS不是自带了这个功能的么?批量选目标就可以完成的呀,而且更强大,无心冒犯,只是不知道有什么区 ...

供学习之用 各位不要过分依赖CASS 有时为了一个小功能装一个系统很不划算
发表于 2015-9-8 12:21 | 显示全部楼层
树櫴希德 发表于 2015-9-8 11:22
供学习之用 各位不要过分依赖CASS 有时为了一个小功能装一个系统很不划算

赞成供学习之用
发表于 2015-9-28 22:09 | 显示全部楼层
楼主可以的,,厉害。。。这个都弄做到
发表于 2015-10-2 09:38 | 显示全部楼层
树櫴希德 发表于 2015-8-28 12:36

到底是那一个才是源程序?一楼还是二楼?
发表于 2019-1-27 13:35 | 显示全部楼层
(ssget "x" '((8 . "TK") (-3 ("SOUTH" (1000 . "121100")))))
全选 TK图层,编码为121100
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-19 23:13 , Processed in 0.350884 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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