明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2039|回复: 9

[讨论] 删除完全一样的图元

[复制链接]
发表于 2018-5-26 14:04:14 | 显示全部楼层 |阅读模式
本帖最后由 菜卷鱼 于 2018-5-28 17:12 编辑

对比的那里不能用单纯用If 去对比,用entget 看到的信息其实有部分精度未显示出来,表面上看数据一模一样,因为显示的精度只有4位小数,实际上可能不止,所以要用equal添加允许误差范围。注:该方法运行对象越多较慢,逐步变慢,超过1万个的时候,就会慢得像蜗牛

  1. (defun c:cf  (/ inforemove ss n i s a cf_info elist)
  2.   (defun inforemove  (info)
  3.     (mapcar '(lambda (x)
  4.          ;;匿名函数
  5.          (setq info (vl-remove (assoc x info) info))
  6.          )
  7.       '(-1  330 5  360)
  8.       )
  9.     info
  10.     )
  11.   (setq elist (list 0))
  12.   (setq ss (ssget))
  13.   (setq n (sslength ss))
  14.   (setq i 0)
  15.   (setq s 0)
  16.   (repeat n
  17.     (setq a (ssname ss i))
  18.     (setq cf_info (inforemove (entget a)))
  19.     (if
  20.       (apply 'or
  21.        (mapcar '(lambda (x) (equal cf_info x 0.0001)) elist))
  22.        (progn (entdel a) (setq s (1+ s)))
  23.        (setq elist (cons cf_info elist))
  24.        )
  25.     (setq i (1+ i))
  26.     )
  27.   (mapcar 'princ (list "共删除" s "个重复对象"))
  28.   (prin1)
  29.   )

本帖子中包含更多资源

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

x
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2018-5-26 14:50:54 | 显示全部楼层
未考量精度
此外亦未考量 起点终点 交换的问题

可调用 overkill 做比较
 楼主| 发表于 2018-5-26 15:11:01 | 显示全部楼层
Andyhon 发表于 2018-5-26 14:50
未考量精度
此外亦未考量 起点终点 交换的问题

请教能否编一个像ET中OVERKILL命令一样lisp,删除的图中有一些重叠的圆和文字?
http://bbs.mjtd.com/forum.php?mo ... &fromuid=399892
(出处: 明经CAD社区)

跟这个帖子4楼G版的处理结果一样
发表于 2018-5-26 22:06:05 | 显示全部楼层
CAD自带的已经很强了吧,不过还是希望楼主做个更强的,然后分享一下,我个人也喜欢用LISP,暂时没办法,只能用CAD的。
发表于 2018-5-27 10:19:51 | 显示全部楼层
OverKill有Lsp版呀
 楼主| 发表于 2018-5-28 08:44:06 | 显示全部楼层

我们公司用的正版CAD,没买Express Tools ,没有OVERKILL命令
发表于 2018-5-28 19:56:27 | 显示全部楼层
有lisp版改改就是了
发表于 2018-8-28 11:45:13 | 显示全部楼层
感谢分享程序!!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-19 07:08 , Processed in 0.258685 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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