乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 75|回复: 3

[编程交流] Lisp列出重复点

[复制链接]

33

主题

117

帖子

85

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
170
发表于 2022-7-5 18:27:27 | 显示全部楼层 |阅读模式
我正在寻找lisp例程列出重复点在一个图形。我已经设法找到了一个可以删除重复点,但没有任何可以列出重复点。
 
提前感谢您的协助。
回复

使用道具 举报

26

主题

1495

帖子

20

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
118
发表于 2022-7-5 19:02:26 | 显示全部楼层
你说的是点实体吗?你需要什么宽容?是否考虑分层?颜色?
 
-大卫
回复

使用道具 举报

33

主题

117

帖子

85

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
170
发表于 2022-7-5 19:13:09 | 显示全部楼层
嗨,大卫,
 
是的,我说的是点实体。我要考虑的公差是点的精确坐标,比如从地形测量或从转换为AutoCAD点的GIS地图。我已经看了图层,确实有些点在某些坐标处被输入了两次。公差需要为0.001(以米为单位)。
虽然我想我昨晚在CADTutor上搜索后找到了答案。大卫,你在下面的链接中回答了。
 
http://www.cadtutor.net/forum/showthread.php?94248-选择重复点/第2页
 
但是,我需要生成一个显示重复坐标的列表,然后可以将其导出为csv文件。如果您有任何想法,我们将不胜感激。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 19:30:05 | 显示全部楼层
以下未经测试,但应按要求执行:
  1. (defun c:listdupepoints ( / d f i l s )
  2.    (if (setq s (ssget '((0 . "POINT"))))
  3.        (progn
  4.            (repeat (setq i (sslength s))
  5.                (setq p (cdr (assoc 10 (entget (ssname s (setq i (1- i)))))))
  6.                (if (vl-some (function (lambda ( x ) (equal p x 1e-3))) l)
  7.                    (setq d (cons p d))
  8.                    (setq l (cons p l))
  9.                )
  10.            )
  11.            (cond
  12.                (   (not d)
  13.                    (princ "\nNo duplicate points found.")
  14.                )
  15.                (   (not (setq f (getfiled "" "" "csv" 1)))
  16.                    (princ "\n*Cancel*")
  17.                )
  18.                (   (setq f (open f "w"))
  19.                    (foreach p d
  20.                        (write-line
  21.                            (apply 'strcat
  22.                                (mapcar '(lambda ( x y ) (strcat (rtos x) y)) p '("," "," ""))
  23.                            )
  24.                            f
  25.                        )
  26.                    )
  27.                    (close f)
  28.                )
  29.                (   (princ "\nUnable to open file for writing."))
  30.            )
  31.        )
  32.    )
  33.    (princ)
  34. )
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-12 20:09 , Processed in 0.444692 second(s), 71 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表