欢迎来到天天文库
浏览记录
ID:32398327
大小:151.37 KB
页数:5页
时间:2019-02-04
《autocad中匿名块的修改方法》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、AUTOCAD中匿名块的修改方法 各位常用AUTOCAD的人士可听说过匿名块?所谓的匿名块,AUTOCAD官方的解释是:+++++++++++++匿名块说明发布日期:2008年10月23日序列号:TS22401适用于:AutoCAD?2007AutoCAD?2006AutoCAD?2005AutoCAD?2004AutoCAD?2002AutoCAD?2000iAutoCAD?2000AutoCADLT?2007AutoCADLT?2006AutoCADLT?2005AutoCADLT?2004Aut
2、oCADLT?2002AutoCADLT?2000iAutoCADLT?2000问题AutoCAD使用匿名块来支持填充图案和尺寸标注。这种类型的块也可以用AutoLISP或类似的方法来创建,但是不能在图形编辑器中创建。而且,也不能使用AutoCAD的编辑命令来修改匿名块。解决方法在为汇集数据而提取块信息时,匿名块可能会引起问题,例如从一个电子数据表中提取数据。举例而言,如果用户需要知道有多少个含有特殊对象的块被插入到图形中,而这些块曾经被AutoLISP程序变为匿名块时,统计出的块的数量会不正确。虽然用
3、户不能创建匿名块,但知道它们的存在是很重要的。http://www.autodesk.com.cn/adsk/servlet/item?siteID=1170359&id=12028171+++++++++++++++++++++++简单点说,其实就是为了让别人找不块,也编辑不了的一种没名字的块。匿名块的名字均是*Uxxxx的格式。以下是正常定义的块与匿名块的不同之处: 正常定义的块可以是除了其他符号外的任意名字,当然也是支持中文的。当我们双击CAD图中的正常块时,弹出如下块属性: 确定后就可以正常编
4、辑。而所谓的匿名块,双击后出现如下属性: AUTOCAD居然找不到这类块,虽然你知道其名字为*UXXXX,但是输入后提示找不到。好,问题就来了,当你拿到一张图纸,里面有很多LTP点,现在要改成LTD,而图里面的相关块很多时(如综合布线点上千个),如果把其炸开后再修改其文字,这工作量可真的不是一般的大,如果能直接修改块,那么一切就好办了,修改好一个块后,其余的全部就搞定。当然,搞不定的问题时,找GOOGLE,在http://okok.org/forum/viewthread.php?tid=245055&
5、pid2=1079244&keywords=&searchstyle=&issearch=true中找到一位高人给出来的解决办法:写一段脚本,然后把匿名块改名,只要名字是正常的,则改名后的块跟正常定义的块是一样的。转载一下,脚本如下:(defunC:ccc(/*APP*DOCEntNamNewNam) (vl-load-com) (setq*APP(vlax-get-acad-object)) (setq*DOC(vla-get-activeDocument*APP)) (if(setqEntN
6、am(car(entsel"请选择块:"))) (if(setqNewNam(getstring"请输入新块名<字符规范,不要重名>:")) (change-block-nameEntNamNewNam) (princ"你没有输入新块名!") ) (princ"你没有选择物体!") ) (princ));;;改块名程序 (defunchange-block-name(EntNamNewNam/objblocksBlkNamblock) (s
7、etqobj(vlax-ename->vla-objectEntNam)) (setqblocks(vla-get-blocks*DOC)) (if(=(vla-get-objectnameobj)"AcDbBlockReference") (if(tblsearch"block"NewNam) (princ"和已有块名重复!") (progn (setqBlkNam(vla-get-nameobj)) (setqblock (vla-ite
8、mblocksBlkNam)) (vla-put-nameblockNewNam) (if(=(substrBlkNam12)"*U") (progn (princ"这是一个匿名块.") (vla-auditinfo*Doc:vlax-true) (vla-put-nameblockNewNam) ) ) (pr
此文档下载收益归作者所有