fallen 发表于 2022-7-6 11:19:44

不要介意这个错误!!它正在工作,你可以通过运行代码后重新选择点集来测试它。

Lee Mac 发表于 2022-7-6 11:21:28

这样的事情还不够吗?
 

(defun c:DelDupes ( / ss )
;; © Lee Mac 2010

(if (setq ss (ssget "_X" '((0 . "POINT"))))
   (
   (lambda ( i / e1 e2 p1 p2 )
      
       (while (not (minusp (setq j (1- i) i (1- i))))
         (setq e1 (ssname ss i) p1 (cdr (assoc 10 (entget e1))))

         (while (not (minusp (setq j (1- j))))
         (setq e2 (ssname ss j) p2 (cdr (assoc 10 (entget e2))))

         (if (equal p1 p2) (progn (entdel e2) (ssdel e2 ss)))
         )
       )
   )
   (sslength ss)
   )
)
(princ)
)

fallen 发表于 2022-7-6 11:23:08

李,我会运行代码,
并进行讨论。
 
谢谢

alanjt 发表于 2022-7-6 11:28:10

我肯定我错过了什么,但这行得通吗?
 
顺便说一句,阅读以下内容:代码发布礼仪

fallen 发表于 2022-7-6 11:32:05

李,我已经运行了34000点的代码(不是随机的,从地形读数获得的),我认为它溢出了或什么。我阻止了它。原因,2分钟过去了,仍然没有响应。我认为它会一个接一个地搜索这些点。
 
非常感谢。

Lee Mac 发表于 2022-7-6 11:34:22

 
很好的一个,艾伦,更好-我的是愚蠢地通过塞尔塞特运行了太多次。。。

fallen 发表于 2022-7-6 11:36:27

alanjt,谢谢你们的帖子,但我认为它可能会在很多方面受到影响,但我会运行你们的代码。
谢谢你

fallen 发表于 2022-7-6 11:41:23

alanjt,我已经运行了你的代码,这是一个很好的代码,测试了你的代码34000分,耗时65秒,
谢谢你

alanjt 发表于 2022-7-6 11:42:12

谢谢我确信我错过了什么。
 
不客气。这里有一个更清晰的副本,作为一个实际的例程:
 
2

fallen 发表于 2022-7-6 11:46:22

thanx的代码,但你试过我的吗?,34000分只需要10秒左右的时间,如果你能纠正我的错误,我会很高兴。
谢谢你
页: 1 [2]
查看完整版本: 删除重复点