kozmosovia 发表于 2024-6-17 20:04:16

(foreach abc PointList
(setq px (cadr abc))
(or (equal
        (car
          (vl-sort (mapcar (function (lambda (x) (distance x px))) Check)
                   '<
          )
        )
        0.
        0.001
      )
      (setq Check (cons px Check)
          rtn          (cons abc rtn)
      )
)
)
(reverse rtn)

guosheyang 发表于 2024-6-18 08:01:04

本帖最后由 guosheyang 于 2024-6-18 08:06 编辑

几何意义是不是这样, 在直线选择集中,选择有一个节点重合的直线,如果其方向不一致,则删除其中的一条,其他直线不管

hn10183051 发表于 2024-6-18 08:04:07

kozmosovia 发表于 2024-6-17 20:04
(foreach abc PointList
(setq px (cadr abc))
(or (equal


谢谢大佬,可以了

xyp1964 发表于 2024-6-19 07:35:30

(defun DelSame (lst / tmp lst1)
"端点重合消除"
(foreach a lst
    (if (and (not (member (car a) tmp1))(not (member (cadr a) tmp2)))
      (setq tmp1 (cons (car a) tmp1)
            tmp2 (cons (cadr a) tmp2)
            lst1 (cons a lst1)
      )
    )
)
(reverse lst1)
)
页: 1 [2]
查看完整版本: (求助)如何把特殊表中重复删除保留一个