tm20038175 发表于 2011-5-26 17:00:15

【求改进】多边形只能选中内部的图元,与边界相交的无法选中~~

多边形只能选中内部的图元,与边界相交的无法选中,请高手改进下~~~~

(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)
)

tm20038175 发表于 2011-5-26 17:01:36

好像明经也有其他程序,但是看不懂啊,这个可以是用,但是图元必须全部包括进去。。。。。。

caoyin 发表于 2011-5-26 17:12:51


(setq ss (ssget "_WP" ptlst))
换成
(setq ss (ssget "_C" ptlst))
试试

自贡黄明儒 发表于 2011-5-26 19:00:32

(setq ss (ssget "_F" ptlst))好象可以求得相交的部分
试试??

tm20038175 发表于 2011-5-26 19:22:56

回复 caoyin 的帖子

提示错误的点参数,好像不行呀………

tm20038175 发表于 2011-5-26 19:24:34

回复 自贡黄明儒 的帖子

没有错误,也没有选择,奇怪了………

ZZXXQQ 发表于 2011-5-26 19:40:28

(ssget "WP" ……是窗选,只有完全在围栏内的物体才能被选中。
(ssget "CP" ……是窗交,选中围栏内及与围栏相交的物体。
(ssget "F" ……是栏选,选中与围栏相交的物体。

tm20038175 发表于 2011-5-26 19:51:01

回复 ZZXXQQ 的帖子

哈哈,成功了,谢谢版主。。。。。。

tm20038175 发表于 2011-5-28 13:05:00

回复 ZZXXQQ 的帖子

后来发现这个程序有bug,有时候能用,有时候选择不上,是不是和系统变量有关?或者其他设置????

tm20038175 发表于 2011-5-28 16:56:02

回复 ZZXXQQ 的帖子

如果选择的多边形的边相交了,就容易报错。
有什么办法可以使选择多边形看起来闭合呢(楼上程序多边形最后一条边无法显示)?
页: [1] 2
查看完整版本: 【求改进】多边形只能选中内部的图元,与边界相交的无法选中~~