明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2871|回复: 3

求助,所有图层名加前缀,并设置一键开/关、锁/解有相应前缀的图层。

[复制链接]
发表于 2013-1-22 13:29:18 | 显示全部楼层 |阅读模式
本帖最后由 一苇以航 于 2013-1-22 13:36 编辑

求助,一键将所有图层加前缀(语句中设定好,如JZ_),由于0层不可更名,需增加一个JZ_0层,并将原0层对象全部转移到JZ_0层。并设置一键开/关含有JZ_前缀的图层、一键锁/解含有JZ_前缀的图层。

 楼主| 发表于 2013-1-22 14:26:38 | 显示全部楼层
本帖最后由 一苇以航 于 2013-1-22 14:28 编辑

补充:下面的程序是论坛里某大侠编的,除0,Defpoints层,全部更名的程序。

;!!!全部图层加前缀<除0,Defpoints>
(defun c:QZ ( / YY_QIANZ *doc* LAY LAYERS OLDMING)
  (vl-load-com)
  (setq YY_QIANZ (getstring "\n输入图层要加的前缀:"))
  (if YY_QIANZ
    (progn
  (setq *doc* (vla-get-activedocument (vlax-get-acad-object))
        layers (vla-get-layers *doc*)
  )
  (vlax-for lay layers (setq OLDMING (vla-get-name lay))
            (if (not (member OLDMING '("0" "Defpoints")))
              (vla-put-Name lay (strcat YY_QIANZ OLDMING))
            )
  )
    )
  )
)

我想在上面的一键命令中,增加一个功能,就是把没被更名的0层里的对象转移到一个新的图层JZ_0层中去。
帮帮忙啊,大神们!
至于一键锁/解特定图层,一键开/关特定图层,方便的话,也帮我写个吧。
跪谢!
发表于 2014-3-20 14:12:38 | 显示全部楼层
我也用过这个命令,不过有个问题,如果图层里面有名字已经有这样的前缀的,就会出现“; 错误: Automation 错误。 记录名重复”这样的错误,一些图层没有加上前缀,在2008上出现的,但是在2004没有问题,不知道是什么原因。
发表于 2014-6-29 15:20:54 | 显示全部楼层
加了前缀后,反向操作的源码哪位有?就是去掉某些前缀。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 17:32 , Processed in 0.150543 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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