注册 登录
明经CAD社区 返回首页

Gu_xl的个人空间 http://www.mjtd.com/?161460 [收藏] [复制] [分享] [RSS]

日志

删除重叠数字,保留较大的数或保留较小的数

热度 7已有 2527 次阅读2012-11-15 09:55 |个人分类:回答问题|系统分类:开发| 删除重叠数字

问题来源:http://bbs.mjtd.com/thread-99118-1-1.html

删除重叠数字(留大或留小).LSP

本源代码由 Gu_xl 编写! 联系方式: Email: Gu_xl@sohu.com
;;删除重叠数字,保留较大的数或保留较小的数
(defun c:tt  (/ kd e ll ur n s1)
  (initget "Big Small")
  (setq kd (getkword "\n[留大数Big/留小数Small]<Big>:"))
  (if (= "Small" kd)
    (setq kd <)
    (setq kd >)
    )

  (while (setq ss (ssget ":S" '((0 . "*text"))))
    (while (> (sslength ss) 0)
      (setq e (ssname ss 0))
      (vla-GetBoundingBox (vlax-ename->vla-object e) 'll 'ur)
      (setq ll (vlax-safearray->list ll)
	    ur (vlax-safearray->list ur)
	    )
      (setq s1 (ssget "c"
		      (trans ll 0 1)
		      (trans ur 0 1)
		      '((0 . "*text")))
	    l  nil)
      (repeat (setq n (sslength s1))
	(setq l (cons (ssname s1 (setq n (1- n))) l))
	)
      (setq l (vl-sort l
		       '(lambda	(a b)
			  (kd (atof (cdr (assoc 1 (entget a))))
			      (atof (cdr (assoc 1 (entget b))))))))
      (ssdel (car l) ss)
      (foreach a  (cdr l)
	(ssdel a ss)
	(entdel a)
	)
      )
    )
  (princ)
  )
 已同步至 Gu_xl的微博

路过

雷人
3

握手

鲜花

鸡蛋

刚表态过的朋友 (3 人)

发表评论 评论 (6 个评论)

回复 freeok 2012-11-15 21:08
老大,谢谢您!!! 。收藏您的地址。没事过来转转。。谢谢
回复 zzc83 2012-11-15 22:40
谢谢 文字11-12-13  与文字9-14-20  取大值改成11-14-20  这种效果能行吗?
回复 Gu_xl 2012-11-16 08:23
zzc83: 谢谢 文字11-12-13  与文字9-14-20  取大值改成11-14-20  这种效果能行吗?
这种情况需要进一步比较!
回复 BUBUBA918 2012-11-19 18:01
中间带-文字无法比较大小,如9-8-9和2-6-10
回复 xuexicad1960 2012-11-21 20:30
删除重叠数字(留大或留小),如能变成删除重叠的高程点(gc200 值不同),就能解决我前些时候碰到的一个问题了,高程点同位置而值不同,我现有的程序无法删除其中的一个,以上程序如能衍生出另一个程序解决,就帮了大忙了,这种情况虽不常碰到,但只要遇到就很麻烦,希望能得到帮助,谢谢!
回复 tigcat 2021-11-1 22:00
谢谢顾版,帮了大忙!

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

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

GMT+8, 2024-5-6 12:57 , Processed in 0.157856 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部