明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 5822|回复: 27

图层名自动更改

  [复制链接]
发表于 2011-6-11 23:45:33 | 显示全部楼层 |阅读模式
请问如何实现选择一个图层上的图元后,就自动在该图层的图层名前加上当前的日期和修改两个字。如我今天选择了图层die上面的图元,那么图层die就自动更名为(2011.06.11修改)die,请各位大侠指教,谢谢了
发表于 2020-12-5 20:36:47 | 显示全部楼层
好贴好贴,学习了。
发表于 2011-6-12 00:10:52 | 显示全部楼层
本帖最后由 啵浪鼓 于 2011-6-12 00:35 编辑

(defun c:tt (/ en la date y m d NEW)
  (SETVAR "CMDECHO" 0)
  (if (setq en (entsel))
    (progn
      (setq la (cdr (assoc 8 (entget (car en)))))
      (setq date (rtos (getvar "cdate")2 0))
      (setq y (substr date 1 4))
      (setq m (substr date 5 2))
      (setq d (substr date 7 2))
      (setq date (strcat  y "." m "." d))
      (setq NEW (strcat "(" date "修改)" la))
      (command "rename" "layer" la NEW)
    )
  )
  (command "REDRAW")
  (princ)
)
发表于 2011-6-12 01:02:12 | 显示全部楼层
在原圖基礎上做修改
用 (command "rename" "layer" la NEW)
那如何能分辦 什麼是新的什麼是舊的??
 楼主| 发表于 2011-6-12 21:16:59 | 显示全部楼层
回复 啵浪鼓 的帖子

谢谢楼主,这个非常好用,
 楼主| 发表于 2011-6-12 21:21:24 | 显示全部楼层
回复 啵浪鼓 的帖子

想请问一下楼主,要是我的图层里面以前有个修改,那么在名字里就已经有了一个带日期的名字,如2010.08.15日修改过die,那么我的图层名为(2011.08.15修改)die,那我这次修改时再用这个命令就会把名字弯成了(2011.06.12修改)(2011.08.15修改)die,这样名字就会很长,可不可以加过功能就是把图层名中以前的那个()内的类容给删除掉,如前面的那个图层名会变成(2011.06.12修改die,把前面的那个)(2011.08.15修改)自动给去掉,谢谢楼主了
 楼主| 发表于 2011-6-12 21:22:49 | 显示全部楼层
回复 lincctw_ccl 的帖子

这只是个人的习惯,我一般不会删除以前的那个图时不删除的,只是改图层名,让我好找到最近一次修改过的地方而已,呵呵
发表于 2011-6-12 21:45:32 | 显示全部楼层
回复 yxl88168 的帖子

不知是不是我會錯意還是??
你執行看看 die 更名 如變成 die+日期
那原本die層不見了~那如何看出改了哪?
发表于 2011-6-12 22:26:00 | 显示全部楼层
我想他的意思是新加一个图层,该图层的名字就是原有图层+日期,然后将刚修改的图元移到新图层上去。
额……我觉着这样一来,图层可就够乱的。
发表于 2011-6-12 22:36:55 | 显示全部楼层
(defun c:tt (/ en la date y m d NEW la_new)
  (SETVAR "CMDECHO" 0)
  (if (setq en (entsel))
    (progn
      (setq la (cdr (assoc 8 (entget (car en)))))
      (if (wcmatch la "*修改*")
        (setq la_new (substr la (+ (vl-string-search "修" la) 6)))
        )
      (setq date (rtos (getvar "cdate")2 0))
      (setq y (substr date 1 4))
      (setq m (substr date 5 2))
      (setq d (substr date 7 2))
      (setq date (strcat  y "." m "." d))
      (setq NEW (strcat "(" date "修改)" la_new))
      (command "_.rename" "layer" la NEW )
    )
  )
  (command "REDRAW")
  (princ)
)
发表于 2011-6-12 22:49:17 | 显示全部楼层
恕刪.........改图层名,让我好找到最近一次修改过的地方而已..........恕刪
我的意思是說整個層都改了名!! 應該也 找不到你修改過什麼地方了!!
除非你是改過名的圖層另存檔案!!之後要比對時再重疊
如是同一個檔案  "建新層+日期" 將修改過的圖放到新層去
這是我的小小建議
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-4-30 13:29 , Processed in 0.205443 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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