明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 4652|回复: 13

[求助]求一个删除重线的LSp

  [复制链接]
发表于 2005-8-9 13:36:00 | 显示全部楼层 |阅读模式
有很多二条线或多线重迭在一起,求一个Lsp,一次过删除重迭的线。
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2005-8-9 14:14:00 | 显示全部楼层
(defun c:dl ()
  (setvar "cmdecho" 0)
  (setq ll (ssget))
  (setq llnum (sslength ll))
  (setq rep1 0)
  (repeat llnum
    (setq lname1 (ssname ll rep1)
   lent1  (entget lname1)
   lp11  (cdr (assoc '10 lent1))
   lp12  (cdr (assoc '11 lent1))
   lper1  (list lp11 lp12 lname1)
    )
    (setq rep2 0)
    (repeat llnum
      (setq lname2 (ssname ll rep2)
     lent2  (entget lname2)
     lp21   (cdr (assoc '10 lent2))
     lp22   (cdr (assoc '11 lent2))
     lper2  (list lp21 lp22 lname2)
      )
      (if (/= rep1 rep2)
 (progn
   (if (or (and (equal lp11 lp21) (equal lp12 lp22))
    (and (equal lp11 lp22) (equal lp12 lp21))
       )
     (vl-cmdf "erase" lname1 "")
   )
 )
      )
      (setq rep2 (1+ rep2))
    )
    (setq rep1 (1+ rep1))
    (princ (strcat "\rProcessing object " (itoa rep1) " of " (itoa llnum)))
  )
  (setvar "cmdecho" 1)
  (princ)
)
 楼主| 发表于 2005-8-9 19:42:00 | 显示全部楼层

谢谢,

还有小提问,是不是要完全一模一样重迭的线才有用,

差点的好象就删不了?(就是线是重迭的,但两头的端点有点错位,)

发表于 2005-8-10 07:59:00 | 显示全部楼层
是要完全一模一样
发表于 2005-8-10 09:00:00 | 显示全部楼层
发表于 2005-8-10 09:03:00 | 显示全部楼层
 楼主| 发表于 2005-8-10 10:33:00 | 显示全部楼层

就是没有一个可以删不重迭的线(就是线是重迭的,但两头的端点有点错位,)那位可以改改

发表于 2005-8-10 11:03:00 | 显示全部楼层
如果使用 2006 用 Join 命令编程将简化很多,我写过一个和合并直线的程序,重迭或者有间隙的 Line 都可以合并。
发表于 2005-8-11 08:59:00 | 显示全部楼层
用et的"overkill"试试
发表于 2005-8-11 21:51:00 | 显示全部楼层
程序不错
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-30 04:07 , Processed in 0.161540 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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