选择集处理函数
本帖最后由 CAD智能@未来 于 2025-2-12 20:37 编辑;获取选择集的图元列表
(setq ents (mapcar
'cadr
(vl-remove-if
'(lambda (x)
(< (car x) 0))
(ssnamex ss)
)
)
)
;获取选择集端点集
(setq pts(apply
'append
(mapcar
'(lambda (x)
(mapcar
'cdr
(vl-remove-if-not
'(lambda (y)
(= 10 (car y))
)
(entget x)
)
)
)
ents
)
)
)
;获取选择集表文字内容
(setq str_lst(mapcar
'(lambda(x)
(cdr
(assoc 1 (entget x))
)
)
ents
)
)
;删除图元列表
(mapcar '(lambda (x) (entdel x)) ents)
感谢分享,很有用啊
感谢大佬分享 版主,有示例么,如何用?》 反过来 有表转选择集的吗? 在别的地方复制过来的,你看下能用么
;9..表与选择集之间转换P
;By caiqs
;;;选择集变表 2007/8/30 师兄 QQ 361865648
(defun ss->lst (ss / retu)
(setq retu (apply 'append (ssnamex ss)))
(setq retu (vl-remove-if-not '(lambda (x) (= (type x) 'ENAME)) retu))
)
;;;测试
(setq ss (ssget));_构建选择集
(princ (ss->lst ss))
;;;表变选择集 2007/8/30 师兄 QQ 361865648
(defun lst->ss(lst / ss)
(setq ss(ssadd))
(last(mapcar '(lambda (x) (ssadd x ss)) lst)))
;;;测试
(setq lst(list (car(entsel)) (car(entsel))))
(lst->ss lst) 谢谢分享谢谢分享谢谢分享 留名后面看看如何使用
页:
[1]