明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 7659|回复: 19

[【高飞鸟】] 【飞鸟集】一个通用的更改块名的程序!

  [复制链接]
发表于 2007-2-6 09:35 | 显示全部楼层 |阅读模式
一个更改块名的程序.能针对匿名块!

  1. (prompt "在命令行中输入命令: CCC!")
  2. ;;;测试程序
  3. (defun C:ccc (/ *APP *DOC EntNam NewNam)
  4.   (vl-load-com)
  5.   (setq *APP (vlax-get-acad-object))
  6.   (setq *DOC (vla-get-activeDocument *APP))
  7.   (if (setq EntNam (car (entsel "\n请选择块: ")))
  8.     (if (setq NewNam (getstring "\n请输入新块名<字符规范,不要重名>: "))
  9.       (change-block-name EntNam NewNam)
  10.       (princ "\n你没有输入新块名!")
  11.     )
  12.     (princ "\n你没有选择物体!")
  13.   )  
  14.   (princ)
  15. )
  16. ;;;改块名程序
  17. (defun change-block-name (EntNam NewNam / obj blocks BlkNam block)
  18.   (setq obj (vlax-ename->vla-object EntNam))
  19.   (setq blocks (vla-get-blocks *DOC))
  20.   (if (=(vla-get-objectname obj) "AcDbBlockReference")
  21.     (if (tblsearch "block" NewNam)
  22.       (princ "\n和已有块名重复!")
  23.       (progn
  24.         (setq BlkNam (vla-get-name obj))
  25.         (setq block  (vla-item blocks BlkNam))
  26.         (vla-put-name block NewNam)
  27.         (if (= (substr BlkNam 1 2) "*U")
  28.           (progn
  29.             (princ "\n这是一个匿名块.")
  30.             (vla-auditinfo *Doc :vlax-true)
  31.             (vla-put-name block NewNam)
  32.           )
  33.         )
  34.         (princ "\n块名已经更改成"")
  35.         (princ NewNam)
  36.         (princ """)
  37.       )
  38.     )
  39.     (princ "\n所选物体不是块!")
  40.   )
  41. )
"觉得好,就打赏"
还没有人打赏,支持一下

本帖被以下淘专辑推荐:

发表于 2019-12-2 20:15 | 显示全部楼层
zheng209 发表于 2014-7-10 21:53
一个块复制几个,改其中一个的块名,其它的也会跟着改,有什么办公不让其它的也改呢

复制块到一个新文件,修改块名后再复制回去即可
发表于 2018-1-12 19:22 | 显示全部楼层
zheng209 发表于 2014-7-10 21:53
一个块复制几个,改其中一个的块名,其它的也会跟着改,有什么办公不让其它的也改呢

炸开  再重组成块
发表于 2016-9-30 16:35 | 显示全部楼层
动作块改名不还没完善,只是生成一个普通块改名,原来的动作块还在,而且没有改得名字
发表于 2007-2-6 09:47 | 显示全部楼层
命令: -rename 输入要重命名的对象类型
[块(B)/标注样式(D)/图层(LA)/线型(LT)/材质(M)/样式(S)/表格样式(T)/UCS(U)/视图(VI)/视口(VP)]: b

输入旧块名: 1

输入旧块名: *取消*
 楼主| 发表于 2007-2-6 13:17 | 显示全部楼层
本帖最后由 作者 于 2007-2-6 13:23:30 编辑

To Ea:

  谢谢Ea!并非我不知道有个rename命令,我这个程序是与rename不同的。

  它可以改无名块的块名,可以不用对话框而直接选择改块名,比用rename方便。

  关于对匿名块的具体讨论,可以参见:

http://www.mjtd.com/BBS/dispbbs.asp?boardid=3&replyid=94752&id=9545&page=1&skin=0&Star=2

http://www.xdcad.net/forum/showthread.php?s=&threadid=519029&perpage=15&display=&pagenumber=1

http://www.xdcad.net/forum/showthread.php?s=&threadid=143804&perpage=15&display=&pagenumber=1


发表于 2007-2-7 20:46 | 显示全部楼层
加载后输入CCC,显示"未知命令",是我的CAD安装有问题吗,还请楼主给予解答一下,小弟在此谢谢!
发表于 2007-2-9 18:45 | 显示全部楼层
刚才下载试用了,相当的不错,我是刚开始学习AutoLisp的,想用楼主的来分析做为学习的样本。谢谢你!
发表于 2007-2-14 23:25 | 显示全部楼层
我也编过这种程序,只是我只将块名加后缀使其与其它图中的块不重名。
发表于 2011-11-23 14:35 | 显示全部楼层
tcsl9621 发表于 2007-2-14 23:25
我也编过这种程序,只是我只将块名加后缀使其与其它图中的块不重名。

麻烦兄弟将图块加后缀的程序传我一份,邮箱longer1000@sina.com

谢谢
发表于 2013-11-27 23:14 | 显示全部楼层
这个程序号,找了好久了,一堆的随机名字的块终于有救了
发表于 2014-3-26 22:58 | 显示全部楼层
不错 不错  很不错
发表于 2014-7-10 21:53 | 显示全部楼层
一个块复制几个,改其中一个的块名,其它的也会跟着改,有什么办公不让其它的也改呢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-16 13:54 , Processed in 0.296747 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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