明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1371|回复: 1

[求助]请教怎样把多段线只保留选择时选取的一段其余的删掉 。

[复制链接]
发表于 2006-7-4 09:31 | 显示全部楼层 |阅读模式
请教怎样把多段线只保留选择时选取的一段其余的删掉 。
发表于 2022-12-8 10:49 | 显示全部楼层
(defun c:xysbl (/  co getco i s s0 s1 ss ss1)
        ;;多选颜色保留
  (defun GetCo (s0 / a co en la)
    (setq en (entget s0))
    (if  (setq a (assoc 62 en))
      (cdr a)
      (cdr (assoc 62 (tblsearch "layer" (cdr (assoc 8 en)))))
    )
  )
        (if (and (progn (princ "\n多选过滤颜色对象:")
                                           (setq s0 (ssget ))
                                         )
                                (setq s0 (mapcar 'GetCo (vl-remove-if 'listp (mapcar 'cadr (ssnamex s0)))))
                                (progn
                                        (princ "\n选择目标对象:")
                                        (setq s (ssget))                                       
                                )
                                (setq s (vl-remove-if 'listp (mapcar 'cadr (ssnamex s))))
                                (setq s (mapcar '(lambda(x)(list x (GetCo x)))s))
                                (setq s (vl-remove-if-not '(lambda(x)(member (cadr x) s0))s))
                                (setq s (mapcar 'car s))
                                (setq ss (ssadd))
                                (progn (foreach x s (ssadd x ss)) t)
                        )
                (progn
                        (sssetfirst nil ss)
                        (princ (strcat "\n已选择" (itoa (sslength ss)) "个对象"))
                        (command "erase" (ssget "a") "r" ss "")
                        (princ)
                )               
        )       
)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-4 15:44 , Processed in 1.761016 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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