明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: yoyoho

[求助]一个删除重复块程序运行有问题,麻烦高手查看!

  [复制链接]
发表于 2008-10-6 12:44:00 | 显示全部楼层
本帖最后由 作者 于 2008-10-6 12:45:54 编辑

这样好象不重叠的块也要删除了.

发表于 2008-10-6 20:31:00 | 显示全部楼层
liminnet发表于2008-10-6 10:14:00ZZXXQQ大哥,问个问题,删掉重叠的块的原理是什么呀,为什么你五楼的代码中 ss1 (ssget \"X\" (list '(0 . \"INSERT\") (assoc 2 ent))))这句是怎么样知道它们是重叠

程序是删重复块,不是重叠块。就是说程序运行后在当前图形内的任何块都只有一个。

发表于 2008-10-7 08:51:00 | 显示全部楼层
jxlsp发表于2008-10-6 12:44:00这样好象不重叠的块也要删除了.
是要删除重叠多余的,重叠处只留一个吗?这样可以吗
  1. ;删除重复块 晓东 zxq0220 2008.7.11                                                  
  2. (defun c:BKILL ()                                                                  
  3. (setvar "CMDECHO" 0)                                                               
  4. (if (setq ss (ssget "X" '((0 . "INSERT"))))
  5.   (progn                                 
  6.   (setq i 0  ess (ssadd))                                                            
  7.   (repeat (sslength ss)                                                            
  8.    (setq s1 (ssname ss i)                                                           
  9.          ent (entget s1)
  10.   j 0
  11.   ptlist '()
  12.          ss1 (ssget "X" (list '(0 . "INSERT") (assoc 2 ent))))                     
  13.    (if (> (sslength ss1) 1)
  14.      (repeat (sslength ss1)
  15.        (setq en (ssname ss1 j))
  16.        (setq pt (cdr (assoc 10 (entget en))))
  17.        (if (member pt ptlist) (setq ess (ssadd en ess)) (setq ptlist (cons pt ptlist)))
  18.        (setq j (1+ j))
  19.      )
  20.      )               
  21.    (setq i (1+ i))                                                                  
  22.   )                                                                                 
  23. (command ".erase" ess "")                                                               
  24. ))                                                                                 
  25. (setvar "CMDECHO" 1)                                                               
  26. (princ)                                                                             
  27. )

点评

如果块插入点稍有不同,就不能删除,还需要完善一下  发表于 2012-4-4 19:02
发表于 2008-10-7 09:42:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2008-10-7 13:38:00 | 显示全部楼层
  1. 以下是引用byghbcx在2008-10-7 8:51:00的发言:
复制代码
就是这样子,写得很好,可以借鉴写个删除线的.
明经网友  发表于 2010-5-9 13:26:00
写得真不错,呵呵谢谢了
回复 支持 反对

使用道具

发表于 2013-6-5 23:12:24 | 显示全部楼层
谢谢啊..很好用。。。
发表于 2020-2-15 20:09:56 | 显示全部楼层
战役期间,好贴标记!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-9-29 11:24 , Processed in 0.160353 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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