明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2860|回复: 6

[提问] 如何批量将布局名称自动编号

[复制链接]
发表于 2014-8-1 12:44:18 | 显示全部楼层 |阅读模式
请高手帮忙如何批量将布局名称自动编号,即将布局1,布局2,布局3-----更换为C-1,C-2,C-3----前缀可以自定义。这在布局中作图很有用。可以选择布局进行编号。非常谢谢。
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2019-10-8 15:48:25 | 显示全部楼层
edata 发表于 2014-8-1 16:30
来个按布局句柄排序的改名

这个( ^_^ )不错嘛,收藏一下
回复 支持 1 反对 0

使用道具 举报

发表于 2014-8-1 14:35:47 | 显示全部楼层
本帖最后由 Andyhon 于 2014-8-1 14:38 编辑

info: http://forums.augi.com/archive/index.php/t-77060.html

(vl-load-com)
(defun RenLay (kword / n)
  (setq n 1)
  (vlax-for x (vla-get-Layouts
                (vla-get-ActiveDocument (vlax-get-acad-object))
              )
    (if  (not (eq (strcase (vla-get-name x)) "MODEL"))
      (vla-put-Name x (strcat kword  (itoa n)))
    )
    (setq n (1+ n))
  )
)

Call it like this...
(renlay "PLOT")
...to have all the layouts renamed to PLOT1, PLOT2, PLOT3, etc.
....
发表于 2014-8-1 16:30:30 | 显示全部楼层
来个按布局句柄排序的改名
  1. (defun c:tt(/ i str obj)
  2.   (setq i 0)  
  3.   (vlax-for obj (vla-get-Layouts (vla-get-ActiveDocument (vlax-get-acad-object)))
  4.     (if (not(member (vla-get-name obj) '("Model" "模型")))
  5.       (vla-put-name obj (strcat "sk2014-" (itoa(setq i(1+ i)))))
  6.       )
  7.     )
  8.   (setq lst '())
  9.   (vlax-for obj (vla-get-Layouts (vla-get-ActiveDocument (vlax-get-acad-object)))
  10.     (if (not(member (vla-get-name obj) '("Model" "模型")))
  11.       (setq lst(cons (vla-get-Handle obj) lst))
  12.       )   
  13.     )
  14.   (setq lst (vl-sort   lst '(lambda(x y)(< (16to10 x) (16to10 y)))))
  15.   (setq i 0)
  16.   (setq str "c-")
  17.   (while(setq a(car lst))
  18.     (sk_relayout (vla-get-name (vlax-ename->vla-object(handent a))) (strcat str (itoa(setq i(1+ i)))))
  19.     (setq lst(cdr lst))
  20.     )
  21.   (princ)
  22.   )
  23. (defun sk_relayout (oldName newName)  
  24.   (vla-put-name (vla-item (vla-get-Layouts (vla-get-ActiveDocument (vlax-get-acad-object))) oldName) newName)
  25. )

  26. ;;16进制转10进制
  27. ;;http://bbs.mjtd.com/forum.php?mo ... &fromuid=338795

  28. (defun 16to10(str / LEN NUM10 WEIZHI ZIFU)
  29.    (setq len(strlen str))
  30.    (setq weizhi 1)
  31.    (setq num10 0)
  32.    (repeat len
  33.      (setq zifu (substr str weizhi 1))
  34.      (cond
  35.      ((and (>= (ascii (strcase zifu)) 65) (<= (ascii (strcase zifu)) 70)) (setq zifu (- (ascii (strcase zifu)) 55)))
  36.      ((and (>= (ascii zifu) 48) (<= (ascii zifu) 57)) (setq zifu (atoi zifu)))
  37.      )
  38.      (setq num10 (+ (* num10 16) zifu))
  39.      (setq weizhi (1+ weizhi))
  40.      )
  41.      num10
  42.    )

评分

参与人数 1明经币 +1 收起 理由
lucas_3333 + 1 E大的程序,我当宝收藏了!赞!!!

查看全部评分

发表于 2020-6-15 16:56:09 | 显示全部楼层
edata 发表于 2014-8-1 16:30
来个按布局句柄排序的改名

您好,请教一下,因为有很多条路,需要建立不用布局,假如我吧路名全部放到一个txt文件里面,比如路名是路1,路2,路3,可否选定这个txt直接改布局名称呀
发表于 2022-3-15 08:49:39 | 显示全部楼层
edata 发表于 2014-8-1 16:30
来个按布局句柄排序的改名

好用  找了很久  多谢分享
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-14 14:48 , Processed in 0.400452 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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