明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1028|回复: 4

[源码] 全选,可以不选关闭和锁定的图层对象吗?

[复制链接]
发表于 2020-8-20 06:45 | 显示全部楼层 |阅读模式
20明经币
以下与lsp相同
************************************************************
(defun C:J (/ pick vs pc obj nam pcx pcy vs1 pt1 pt2)
        (setvar "cmdecho" 0)
        (while (not (or (= nam "LINE")(= nam "LWPOLYLINE")(= nam "ARC")))
          (setq obj (car (entsel "\n选择要编辑的非封闭实体")))
          (while (null obj)
                (setq obj (car (entsel "\n选择要编辑的非封闭实体")))
          )
          (setq nam (cdr (assoc 0 (entget obj))))
          (setq cir (cdr (assoc 70 (entget obj))))
        )
    (if (= cir 1) (prompt "\n你选择的是已经编辑好的多义线")
      (progn
        (setq ss (ssget "x"  (list (cons -4 "<or")(cons 0 "LINE")
        (cons 0 "ARC")(cons 0 "LWPOLYLINE")(cons -4 "or>"))))
        (if (or (= nam "LINE") (= nam "ARC"))
                (command "PEDIT" obj "" "j" SS "" "")
        )
        (if (or (= nam "LWPOLYLINE"))
                (command "PEDIT" obj "j" SS "" "")
        )
       )
     )
)

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

最佳答案

查看完整内容

可以的更新完善了显示

评分

参与人数 1明经币 +1 收起 理由
xvjiex + 1 可以

查看全部评分

发表于 2020-8-20 06:45 | 显示全部楼层
本帖最后由 xvjiex 于 2020-8-20 10:56 编辑

可以的更新完善了显示

本帖子中包含更多资源

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

x

点评

谢谢!可以了  发表于 2020-8-20 17:56

评分

参与人数 1明经币 +1 收起 理由
yangchao2005090 + 1

查看全部评分

回复

使用道具 举报

发表于 2020-8-20 10:45 | 显示全部楼层
本帖最后由 gaics 于 2020-8-20 10:49 编辑
  1. (defun C:J (/ pick vs pc obj nam pcx pcy vs1 pt1 pt2 cir ly lys)
  2.   (setvar "cmdecho" 0)
  3.   ;;获取已关闭、锁定或冻结图层名
  4.   (vl-load-com)
  5.   (vlax-for x (vla-get-layers
  6.                 (vla-get-activedocument (vlax-get-acad-object))
  7.               )
  8.     (if        (or (= (vla-get-lock x) :vlax-true)
  9.             (= (vla-get-layeron x) :vlax-false)
  10.             (= (vla-get-freeze x) :vlax-true)
  11.         )
  12.       (progn (setq ly (vla-get-name x))
  13.              (if lys
  14.                (setq lys (strcat ly "," lys))
  15.                (setq lys ly)
  16.              )
  17.       )
  18.     )
  19.   )
  20.   ;;获取已关闭、锁定或冻结图层名
  21.   (while (not (or (= nam "LINE") (= nam "LWPOLYLINE") (= nam "ARC")))
  22.     (setq obj (car (entsel "\n选择要编辑的非封闭实体")))
  23.     (while (null obj)
  24.       (setq obj (car (entsel "\n选择要编辑的非封闭实体")))
  25.     )
  26.     (setq nam (cdr (assoc 0 (entget obj))))
  27.     (setq cir (cdr (assoc 70 (entget obj))))
  28.   )
  29.   (if (= cir 1)
  30.     (prompt "\n你选择的是已经编辑好的多义线")
  31.     (progn
  32.       (setq ss (ssget "x"
  33.                       (list (cons -4 "<or")
  34.                             (cons 0 "LINE")
  35.                             (cons 0 "ARC")
  36.                             (cons 0 "LWPOLYLINE")
  37.                             (cons -4 "or>")
  38.                             (cons -4 "<not")
  39.                             (cons 8 lys);;过滤已关闭、锁定或冻结图层
  40.                             (cons -4 "not>")
  41.                       )
  42.                )
  43.       )
  44.       (if (or (= nam "LINE") (= nam "ARC"))
  45.         (command "PEDIT" obj "" "j" SS "" "")
  46.       )
  47.       (if (or (= nam "LWPOLYLINE"))
  48.         (command "PEDIT" obj "j" SS "" "")
  49.       )
  50.     )
  51.   )
  52. )

点评

谢谢!第一次命令可以用,后面不能再执行命令了。  发表于 2020-8-20 18:02

评分

参与人数 1明经币 +1 收起 理由
刘炎华 + 1

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-9 10:03 , Processed in 6.728869 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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