明经CAD社区

 找回密码
 注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 552|回复: 5

[源码] 选择圆内所有物体和四个选择模式

[复制链接]
发表于 2019-8-10 01:04 | 显示全部楼层 |阅读模式
本帖最后由 1291500406 于 2019-8-10 01:58 编辑

(ssget “WP” pt_list)
生成一个选择集,该选择集中既包含了由点表 pt_list 定义的多边形中的所有对象。

(defun c:bb( / lst pt )(vl-load-com)
(setq lst(entget(car(entsel"\必强提示点选圆")))pt(cdr(assoc 10 lst)))
(vl-cmdf "polygon" 360 "non" pt "I" "non"(polar pt 0(cdr(assoc 40 lst))))
(sssetfirst nil(ssget "wp"  (mapcar 'cdr(vl-remove-if '(lambda (x)
(/= 10 (car x)))(entget(entlast))))))(entdel (entlast))(princ))

(ssget “wp” pt_list filter_list)
生成一个选择集,该选择集中的所有对象既必须处于由点表 pt_list 定义的多边形内,也必须满足过
滤器表 filter_list 中的条件。

(ssget “wp” pt_list filter_list)
(defun c:bb( / lst pt )(vl-load-com)
(setq lst(entget(car(entsel"\必强提示点选圆")))pt(cdr(assoc 10 lst)))
(vl-cmdf "polygon" 360 "non" pt "I" "non"(polar pt 0(cdr(assoc 40 lst))))
(sssetfirst nil(ssget "wp"  (mapcar 'cdr(vl-remove-if '(lambda (x)
(/= 10 (car x)))(entget(entlast))))'((0 . "LINE"))))(entdel (entlast))(princ))

(ssget “cp” pt_list)
生成一个选择集,该选择集中既包含了由点表 pt_list 定义的多边形中的所有对象,也包含了与该多
边形相交的那些对象。
(defun c:bb( / lst pt )(vl-load-com)
(setq lst(entget(car(entsel"\必强提示点选圆")))pt(cdr(assoc 10 lst)))
(vl-cmdf "polygon" 360 "non" pt "I" "non"(polar pt 0(cdr(assoc 40 lst))))
(sssetfirst nil(ssget "Cp"  (mapcar 'cdr(vl-remove-if '(lambda (x)
(/= 10 (car x)))(entget(entlast))))'((0 . "LINE"))))(entdel (entlast))(princ))

(ssget “F” pt_list)
生成一个选择集,该选择集中包含了与点表 pt_list 定义的多边形篱笆相交的全部对象。
(defun c:bb( / lst pt )(vl-load-com)
(setq lst(entget(car(entsel"\必强提示点选圆")))pt(cdr(assoc 10 lst)))
(vl-cmdf "polygon" 360 "non" pt "I" "non"(polar pt 0(cdr(assoc 40 lst))))
(sssetfirst nil(ssget "F"  (mapcar 'cdr(vl-remove-if '(lambda (x)
(/= 10 (car x)))(entget(entlast))))'((0 . "LINE"))))(entdel (entlast))(princ))






发表于 2019-8-10 08:08 | 显示全部楼层
如何改成选择 “矩形” 内的所有物体?因为我的图框是矩形的。
 楼主| 发表于 2019-8-10 08:36 | 显示全部楼层
本帖最后由 1291500406 于 2019-8-10 08:39 编辑
mokson 发表于 2019-8-10 08:08
如何改成选择 “矩形” 内的所有物体?因为我的图框是矩形的。

(sssetfirst nil(ssget "wp"  (mapcar 'cdr(vl-remove-if '(lambda (x)(/= 10 (car x)))(entget(car(entsel)))))))
发表于 2019-8-10 09:40 | 显示全部楼层
向大神致敬。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2019-12-14 05:57 , Processed in 0.171674 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.3

© 2001-2013 Comsenz Inc.

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