明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 626|回复: 4

[提问] 【已解决】【求助】图层名称去前缀

[复制链接]
发表于 2019-5-31 16:33 | 显示全部楼层 |阅读模式
本帖最后由 yangchao2005090 于 2019-5-31 22:02 编辑
  1. ;http://bbs.mjtd.com/forum.php?mod=viewthread&tid=100184&highlight=%CD%BC%B2%E3%2B%C7%B0%D7%BA
  2. ;!!!全部图层加前缀<除0,Defpoints>
  3. (defun c:tt ( / YY_QIANZ *doc* LAY LAYERS OLDMING)
  4.   (vl-load-com)
  5.   (setq YY_QIANZ (getstring "\n输入图层要加的前缀:"))
  6.   (if YY_QIANZ
  7.     (progn
  8.   (setq *doc* (vla-get-activedocument (vlax-get-acad-object))
  9.         layers (vla-get-layers *doc*)
  10.   )
  11.   (vlax-for lay layers (setq OLDMING (vla-get-name lay))
  12.             (if (not (member OLDMING '("0" "Defpoints")))
  13.               (vla-put-Name lay (strcat YY_QIANZ OLDMING))
  14.             )
  15.   )
  16.     )
  17.   )
  18. )
上面是给图层名称加前缀的代码,请问如果需要反向操作,去掉已经加上去的前缀改怎么改呀
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2019-5-31 16:37 | 显示全部楼层
还是这个程序,只不过对OLDMING字符串要处理,比如在它前面剪切掉什么东西
 楼主| 发表于 2019-5-31 20:58 | 显示全部楼层
自贡黄明儒 发表于 2019-5-31 16:37
还是这个程序,只不过对OLDMING字符串要处理,比如在它前面剪切掉什么东西

你那边有程序可以处理吗?
发表于 2019-5-31 21:36 | 显示全部楼层
  1. ;; 图层去前缀
  2. (defun c:tt ()
  3.   (if (setq qz (getstring "\n输入图层要删除的前缀: "))
  4.     (vlax-for la (vla-get-layers(vla-get-activedocument (vlax-get-acad-object)))
  5.       (setq tx (vla-get-name la))
  6.       (if (and (not (member tx '("0" "Defpoints")))(vl-string-search qz tx))
  7.         (vla-put-Name la (substr tx (1+ (strlen qz))))
  8.       )
  9.     )
  10.   )
  11.   (princ)
  12. )
 楼主| 发表于 2019-5-31 22:02 | 显示全部楼层

感谢院长,院长厉害啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-19 12:28 , Processed in 0.209470 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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