no13bus 发表于 2013-9-29 16:53:25

ssget 多边形选择方式无法选择到多边形内的图元

dwg里面 我想用(ssget "_wp" 多边形点)来选择多边形里面的图块 但是始终选择不到 如果画一个矩形或者五边形啥的,都没问题,
但是这个图形就是不行 啥原因呢?高手们来挑战下。从来没遇见过的难题

pzweng 发表于 2013-9-29 16:53:26

你的点表有问题,你仔细看一下你的起点与终点放大看看,问题出现在这里

stoyer 发表于 2013-9-29 17:09:46

文件发来看看

no13bus 发表于 2013-9-29 17:25:31

请看下 谢谢

q3_2006 发表于 2013-9-29 18:11:13

重建一个边界就行了!

stoyer 发表于 2013-9-29 20:54:38

;排除相差精度在0.0001之内的点
(defun get-pline-point (e / i jd lst pt0 upt v)
   (setq i -1)
   (setq jd 0.0001)
   (while (setq v (vlax-curve-getpointatparam e (setq i (1+ i))))
   (if (= i 0)
      (progn
          (setq lst (cons v lst))
          (setq pt0 v)
          (setq upt v)
      )
    (progn
      (if (equal upt v jd)
      (progn
      (princ)
      )
      (progn
                (if (equal pt0 v jd)
                  (progn
                     (princ)
                  )
                  (progn
                  (setq lst (cons v lst))
                  (setq upt v)
                  )
                )))))
   );while
   (setq lst (cdr lst))
   (reverse lst)
)
(setq pt_s (get-pline-point (car (entsel))))
(setq ssObjects (ssget "_WP" pt_s '((0 . "INSERT") (100 . "AcDbBlockReference"))))

no13bus 发表于 2013-9-29 21:41:38

stoyer 发表于 2013-9-29 20:54 static/image/common/back.gif


你的意思是说坐标点之间虽然没有重合 但是已经非常接近了 是因为这个造成的?

yixinexin 发表于 2015-3-10 18:00:17

支持一下!学习了,谢谢版主大大
页: [1]
查看完整版本: ssget 多边形选择方式无法选择到多边形内的图元