【求改进】多边形只能选中内部的图元,与边界相交的无法选中~~
多边形只能选中内部的图元,与边界相交的无法选中,请高手改进下~~~~(defun c:sswp (/ pt ptlst ss)
(if (setq pt (getpoint "\nSpecify a point:"))
(progn
(setq ptlst (list pt))
(while (setq pt (getpoint pt "\nSpecify a point:"))
(redraw)
(setq ptlst (cons pt ptlst))
(grvecs (apply 'append (mapcar 'list ptlst (cdr ptlst))))
)
(setq ss (ssget "_WP" ptlst))
(redraw)
(sssetfirst nil ss)
)
)
(princ)
) 好像明经也有其他程序,但是看不懂啊,这个可以是用,但是图元必须全部包括进去。。。。。。 把
(setq ss (ssget "_WP" ptlst))
换成
(setq ss (ssget "_C" ptlst))
试试 (setq ss (ssget "_F" ptlst))好象可以求得相交的部分
试试??
回复 caoyin 的帖子
提示错误的点参数,好像不行呀……… 回复 自贡黄明儒 的帖子
没有错误,也没有选择,奇怪了……… (ssget "WP" ……是窗选,只有完全在围栏内的物体才能被选中。
(ssget "CP" ……是窗交,选中围栏内及与围栏相交的物体。
(ssget "F" ……是栏选,选中与围栏相交的物体。 回复 ZZXXQQ 的帖子
哈哈,成功了,谢谢版主。。。。。。 回复 ZZXXQQ 的帖子
后来发现这个程序有bug,有时候能用,有时候选择不上,是不是和系统变量有关?或者其他设置???? 回复 ZZXXQQ 的帖子
如果选择的多边形的边相交了,就容易报错。
有什么办法可以使选择多边形看起来闭合呢(楼上程序多边形最后一条边无法显示)?
页:
[1]
2