首页 信息 AUTOCAD中匿名块的修改方法

AUTOCAD中匿名块的修改方法

AUTOCAD中匿名块的修改方法 各位常用AUTOCAD的人士可听说过匿名块? 所谓的匿名块,AUTOCAD官方的解释是: AutoCAD使用匿名块来支持填充图案和尺寸标注。这种类…

AUTOCAD中匿名块的修改方法

各位常用AUTOCAD的人士可听说过匿名块?

所谓的匿名块,AUTOCAD官方的解释是:

AutoCAD使用匿名块来支持填充图案和尺寸标注。这种类型的块也可以用AutoLISP或类似的方法来创建,但是不能在图形编辑器中创建。而且,也不能使用AutoCAD的编辑命令来修改匿名块。

解决方法

在为汇集数据而提取块信息时,匿名块可能会引起问题,例如从一个电子数据表中提取数据。举例而言,如果用户需要知道有多少个含有特殊对象的块被插入到图形中,而这些块曾经被AutoLISP程序变为匿名块时,统计出的块的数量会不正确。

虽然用户不能创建匿名块,但知道它们的存在是很重要的。

http://www.autodesk.com.cn/adsk/servlet/item?siteID=1170359&id=12028171

+++++++++++++++++++++++

简单点说,其实就是为了让别人找不块,也编辑不了的一种没名字的块。匿名块的名字均是*Uxxxx的格式。

以下是正常定义的块与匿名块的不同之处:

正常定义的块可以是除了其他符号外的任意名字,当然也是支持中文的。

当我们双击CAD图中的正常块时,弹出如下块属性:

确定后就可以正常编辑。

而所谓的匿名块,双击后出现如下属性:

AUTOCAD居然找不到这类块,虽然你知道其名字为*UXXXX,但是输入后提示找不到。

好,问题就来了,当你拿到一张图纸,里面有很多LTP点,现在要改成LTD,而图里面的相关块很多时(如综合布线点上千个),如果把其炸开后再修改其文字,这工作量可真的不是一般的大,如果能直接修改块,那么一切就好办了,修改好一个块后,其余的全部就搞定。

写一段脚本,然后把匿名块改名,只要名字是正常的,则改名后的块跟正常定义的块是一样的。

转载一下,脚本如下:

(defunC:ccc (/ *APP *DOCEntNamNewNam)

(vl-load-com)

(setq*APP (vlax-get-acad-object))

(setq*DOC (vla-get-activeDocument*APP))

(if (setqEntNam(car (entsel"n请选择块: ")))

(if (setqNewNam(getstring"n请输入新块名: "))

(change-block-nameEntNamNewNam)

(princ"n你没有输入新块名!")

)

(princ"n你没有选择物体!")

)

(princ)

)

;;;改块名程序

(defunchange-block-name (EntNamNewNam/objblocksBlkNamblock)

(setqobj(vlax-ename->vla-objectEntNam))

(setqblocks (vla-get-blocks *DOC))

(if (=(vla-get-objectnameobj) "AcDbBlockReference")

(if (tblsearch"block"NewNam)

(princ"n和已有块名重复!")

(progn

(setqBlkNam(vla-get-nameobj))

(setqblock(vla-item blocksBlkNam))

(vla-put-name blockNewNam)

(if (= (substrBlkNam1 2) "*U")

(progn

(princ"n这是一个匿名块.")

(vla-auditinfo*Doc :vlax-true)

(vla-put-name blockNewNam)

)

)

(princ"n块名已经更改成"")

(princNewNam)

(princ""")

)

)

(princ"n所选物体不是块!")

)

)

把以上的脚本存为CCC.LSP(文件名随便),然后在AUTOCAD-工具-加载程序中选中CCC.LSP,OK,这个叫"CCC"的命令就已经在你的AUTOCAD中了,就像“L”命令一样直接输入调用即可,

以下是运行命令提示情况:

——————————————————

命令: CCC

请选择块:

请输入新块名: NEW09

这是一个匿名块.

核查表头

核查表

第1阶段图元核查

阶段1已核查73700 个对象

第2阶段图元核查

阶段2已核查73700 个对象

核查块

已核查2784 个块

共发现0个错误,已修复0个

已删除0个对象

命令:

块名已经更改成"NEW09"

————————————

经过CCC修改名字的匿名块变成“正常”块了,然后修改即可。

ps:听说某些人为了加密也会用到匿名块,当然还有就是使用国内某些类似AUTOCAD软件也会导致图纸当中存在很多这些所谓的匿名块。

匿名块改名程序:CCC.lsp

本文来自网络,不代表我是设计师立场,转载请注明出处: http://www.wssjs.com/16094.html
上一篇
下一篇

作者:

为您推荐

联系我们

联系我们

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部