输入南方CASS编码批量选择物体
;选择集与对象名表互转(defun cx-ss2en
(ss / enlst)
(cond
((= (type ss) 'PICKSET)
(vl-remove-if-not '(lambda (x) (= (type x) 'ENAME)) (mapcar 'cadr (ssnamex SS)))
)
((= (type ss) 'LIST)
(setq enlst (ssadd))
(last (mapcar '(lambda (x) (ssadd x enlst)) ss))
)
((='ename(type ss))
(ssadd ss)
)
)
)
(defun c:xzwt ( / bm ss i lst e en lstt);输入南方CASS编码批量选择物体
(setq bm(cons 1000 (rtos(getreal "请输入实体南方编码" )2 0)) )
(setq ss (ssget "x"'() ))
(setq i 0)
(setq lst '())
(repeat (sslength ss)
(setq e (ssname ss i))
(setq en (entget e '("*")))
(if
(equal (car(cdr (car (cdr (assoc -3 en))))) bm)
(setq lst (appendlst (list e)))
)
(setqi(1+ i))
)
(setq lstt (cx-ss2en lst))
(sssetfirst nil lstt)
)
;选择集与对象名表互转
(defun cx-ss2en
(ss / enlst)
(cond
((= (type ss) 'PICKSET)
(vl-remove-if-not '(lambda (x) (= (type x) 'ENAME)) (mapcar 'cadr (ssnamex SS)))
)
((= (type ss) 'LIST)
(setq enlst (ssadd))
(last (mapcar '(lambda (x) (ssadd x enlst)) ss))
)
((='ename(type ss))
(ssadd ss)
)
)
)
(defun c:xzwt ( / bm ss i lst e en lstt ydx);输入南方CASS编码批量选择物体
(prompt "\n请选择一个源对象:")
(setq ydx (entget (car (entsel ""))'("*")))
(setq bm (car(cdr (car (cdr (assoc -3 ydx))))) )
(setq ss (ssget "x"'() ))
(setq i 0)
(setq lst '())
(repeat (sslength ss)
(setq e (ssname ss i))
(setq en (entget e '("*")))
(if
(equal (car(cdr (car (cdr (assoc -3 en))))) bm)
(setq lst (appendlst (list e)))
)
(setqi(1+ i))
)
(setq lstt (cx-ss2en lst))
(sssetfirst nil lstt)
)
绝对的好东西。
楼主,CASS不是自带了这个功能的么?批量选目标就可以完成的呀,而且更强大,无心冒犯,只是不知道有什么区别 血司 发表于 2015-9-8 09:05 static/image/common/back.gif
楼主,CASS不是自带了这个功能的么?批量选目标就可以完成的呀,而且更强大,无心冒犯,只是不知道有什么区 ...
供学习之用 各位不要过分依赖CASS 有时为了一个小功能装一个系统很不划算 树櫴希德 发表于 2015-9-8 11:22 static/image/common/back.gif
供学习之用 各位不要过分依赖CASS 有时为了一个小功能装一个系统很不划算
赞成供学习之用 楼主可以的,,厉害。。。这个都弄做到 树櫴希德 发表于 2015-8-28 12:36 static/image/common/back.gif
到底是那一个才是源程序?一楼还是二楼? (ssget "x" '((8 . "TK") (-3 ("SOUTH" (1000 . "121100")))))
全选 TK图层,编码为121100
页:
[1]