【飞鸟集】一个通用的更改块名的程序!
一个更改块名的程序.能针对匿名块!(prompt "在命令行中输入命令: CCC!")
;;;测试程序
(defun C:ccc (/ *APP *DOC EntNam NewNam)
(vl-load-com)
(setq *APP (vlax-get-acad-object))
(setq *DOC (vla-get-activeDocument *APP))
(if (setq EntNam (car (entsel "\n请选择块: ")))
(if (setq NewNam (getstring "\n请输入新块名<字符规范,不要重名>: "))
(change-block-name EntNam NewNam)
(princ "\n你没有输入新块名!")
)
(princ "\n你没有选择物体!")
)
(princ)
)
;;;改块名程序
(defun change-block-name (EntNam NewNam / obj blocks BlkNam block)
(setq obj (vlax-ename->vla-object EntNam))
(setq blocks (vla-get-blocks *DOC))
(if (=(vla-get-objectname obj) "AcDbBlockReference")
(if (tblsearch "block" NewNam)
(princ "\n和已有块名重复!")
(progn
(setq BlkNam (vla-get-name obj))
(setq block(vla-item blocks BlkNam))
(vla-put-name block NewNam)
(if (= (substr BlkNam 1 2) "*U")
(progn
(princ "\n这是一个匿名块.")
(vla-auditinfo *Doc :vlax-true)
(vla-put-name block NewNam)
)
)
(princ "\n块名已经更改成\"")
(princ NewNam)
(princ "\"")
)
)
(princ "\n所选物体不是块!")
)
)
zheng209 发表于 2014-7-10 21:53
一个块复制几个,改其中一个的块名,其它的也会跟着改,有什么办公不让其它的也改呢
复制块到一个新文件,修改块名后再复制回去即可 zheng209 发表于 2014-7-10 21:53
一个块复制几个,改其中一个的块名,其它的也会跟着改,有什么办公不让其它的也改呢
炸开再重组成块 动作块改名不还没完善,只是生成一个普通块改名,原来的动作块还在,而且没有改得名字 命令: -rename 输入要重命名的对象类型<br/>[块(B)/标注样式(D)/图层(LA)/线型(LT)/材质(M)/样式(S)/表格样式(T)/UCS(U)/视图(VI)/视口(VP)]: b<br/><br/>输入旧块名: 1<br/><br/>输入旧块名: *取消* 本帖最后由 作者 于 2007-2-6 13:23:30 编辑 <br /><br /> <p>To <font face="Verdana" color="#da2549"><strong>Ea</strong><font color="#000000">:</font></font></p><p><font face="Verdana"> 谢谢Ea!并非我不知道有个rename命令,我这个程序是与rename不同的。</font></p><p><font face="Verdana"> 它可以改无名块的块名,可以不用对话框而直接选择改块名,比用rename方便。</font></p><p><font face="Verdana"> 关于对匿名块的具体讨论,可以参见:</font></p><p><a href="http://www.mjtd.com/BBS/dispbbs.asp?boardid=3&replyid=94752&id=9545&page=1&skin=0&Star=2">http://www.mjtd.com/BBS/dispbbs.asp?boardid=3&replyid=94752&id=9545&page=1&skin=0&Star=2</a></p><p><a href="http://www.xdcad.net/forum/showthread.php?s=&threadid=519029&perpage=15&display=&pagenumber=1">http://www.xdcad.net/forum/showthread.php?s=&threadid=519029&perpage=15&display=&pagenumber=1</a></p><p><a href="http://www.xdcad.net/forum/showthread.php?s=&threadid=143804&perpage=15&display=&pagenumber=1">http://www.xdcad.net/forum/showthread.php?s=&threadid=143804&perpage=15&display=&pagenumber=1</a></p><p></p><p></p><p></p><br/> 加载后输入CCC,显示"未知命令",是我的CAD安装有问题吗,还请楼主给予解答一下,小弟在此谢谢! 刚才下载试用了,相当的不错,我是刚开始学习AutoLisp的,想用楼主的来分析做为学习的样本。谢谢你! 我也编过这种程序,只是我只将块名加后缀使其与其它图中的块不重名。 tcsl9621 发表于 2007-2-14 23:25 static/image/common/back.gif
我也编过这种程序,只是我只将块名加后缀使其与其它图中的块不重名。
麻烦兄弟将图块加后缀的程序传我一份,邮箱longer1000@sina.com
谢谢 这个程序号,找了好久了,一堆的随机名字的块终于有救了 不错 不错很不错 一个块复制几个,改其中一个的块名,其它的也会跟着改,有什么办公不让其它的也改呢
页:
[1]
2