我在编制消除重复曲线时(如: Line),出现了一个棘手的问题,如: (setq SS1 (ssget '((0 . "LINE")))) 由用户选择了若干条直线对象(如:1000条),但是如何从该选择集中过滤完全重复 的直线(即组码 10和11相同者)呢? 本人采用了如下循环搜索,但是效率非常低,请高手指点! 本人想快速从SS1中选择对象,就如SSGET函数一样!!! (setq i 0) (while (< i (sslength SS1) (setq entData1 (entget (ssname SS1 i))) (setq iPt1 (cdr (assoc 10 entData1)) (setq iPt2 (cdr (assoc 11 entData1)) (setq j (+ i 1)) (while (< j (sslength SS1) (setq entData2 (entget (ssname SS1 j))) (setq jPt1 (cdr (assoc 10 entData1)) (setq jPt2 (cdr (assoc 11 entData1)) (if (and (equal (distance iPt1 jPt1) 0.00001) (equal (distance iPt2 jPt2) 0.00001) (princ "\n 出现重复直线...." );end_if (setq j (+ j 1)) );end_while j (setq i (+ i 1)) );end_while i |