明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
12
返回列表 发新帖
楼主: hn10183051

[提问] (求助)如何把特殊表中重复删除保留一个

[复制链接]
发表于 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)
回复 支持 1 反对 0

使用道具 举报

发表于 2024-6-18 08:01:04 | 显示全部楼层
本帖最后由 guosheyang 于 2024-6-18 08:06 编辑

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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
 楼主| 发表于 2024-6-18 08:04:07 | 显示全部楼层
kozmosovia 发表于 2024-6-17 20:04
(foreach abc PointList
  (setq px (cadr abc))
  (or (equal

谢谢大佬,可以了
发表于 2024-6-19 07:35:30 | 显示全部楼层
  1. (defun DelSame (lst / tmp lst1)
  2.   "端点重合消除"
  3.   (foreach a lst
  4.     (if (and (not (member (car a) tmp1))(not (member (cadr a) tmp2)))
  5.       (setq tmp1 (cons (car a) tmp1)
  6.             tmp2 (cons (cadr a) tmp2)
  7.             lst1 (cons a lst1)
  8.       )
  9.     )
  10.   )
  11.   (reverse lst1)
  12. )
回复 支持 1 反对 0

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-25 16:23 , Processed in 0.158838 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表