怎样替换多个文件都要替换的文字?
本人在做竣工图!因为施工图做得好,所以没什么改,大部分都只要改图签(都要反施工改为竣工),因为文件较多,请问论坛中有相关的程序,可以批量修改.顺便再问一下,find 命令在lisp中的替换格式是怎样的. 图签文字内容都一样吗? 把具体要改的内容列出来,我给你写! 以前在r12有一个lsp,专门改文本的,不过过mtext的不行/ 我的程序也是只能改text 对每张图所要修改的文字内容都一样,修改的内容也一样。
例如每张图都要把“施工图”改为“竣工图”
把发行日期“2004.03”改为“2004.07”
把图号03008D402-AJ01-1 03008D402-AJ02-1 .......
改为 03008R402-AJ01-1 03008R402-AJ02-1 ....... 重点是要对多个文件做同样文字的替换,如果是单个文件里的,用查找里的替换都可以。 我以前发过一个多文档的,你改下就可以用了! ;|<BR>如何一次修改多个CAD档里的某一文字? <BR>有600多个CAD档<BR>这些档中的一处文字写错了(相同的文字,位置也相同)<BR>想修改<BR>可要一个一个档打开修改,工作量太大了<BR>有没有什么好的方法<BR>象WORD一样,可以查找多个档中的某一文字,然后进行替换。<BR>|;
;;一个VLISP的批量处理范例<BR>;;从这个范例可以了解VLISP如何批量处理图档<BR>;;虽然速度慢了点,但非常实用<BR>;;By LUCAS(龙龙仔)<BR>;;批量修改文字 <BR>;; <BR>;;虽配合Expresstools__(acetutil.arx) <BR>;;为加速程序执行,程序将设定系统变数ACADLSPASDOC <BR>;;即<只载入 acad.lsp 至 AutoCAD 执行期所开启的第一个图面> <BR>;;当然程序结束后,会还原系统变数ACADLSPASDOC <BR>;;<BR>;;For AutoCad 2000+
(arxload "acetutil.arx" NIL)<BR>(vl-load-com)<BR>(defun CH_TXT (OLDTXT NEWTXT / HOLDECHO APP DWGNAME<BR> PREFIX_DWG NN QQ HOLDLSP WW<BR> ENT N<BR> )<BR> (setq HOLDECHO (getvar "cmdecho"))<BR> (setvar "cmdecho" 0)<BR> (setq PREFIX_DWG<BR> (strcat<BR> (vl-string-right-trim<BR> "\\"<BR> (strcase (acet-ui-pickdir<BR> "选择目录"<BR> (vl-string-right-trim "\\" (getvar "dwgprefix"))<BR> "批量修改文字"<BR> )<BR> )<BR> )<BR> "\\"<BR> )<BR> )<BR> (setq HOLDLSP (getvar "ACADLSPASDOC"))<BR> (setvar "acadlspasdoc" 0)<BR> (setq QQ (vl-directory-files PREFIX_DWG "*.DWG"))<BR> (setq NN 0)<BR> (if (/= QQ NIL)<BR> (progn<BR> (setq APP (vlax-get-acad-object))<BR> (repeat (length QQ)<BR> (setq DWGNAME (strcase (strcat PREFIX_DWG (nth NN QQ))))<BR> (setq WW (vla-open (vla-get-documents APP) DWGNAME))<BR> (vlax-for N (vla-get-blocks WW)<BR> (vlax-for ENT N<BR> (if (and (vlax-property-available-p ENT 'TEXTSTRING)<BR> (wcmatch (setq STR (vla-get-textstring ENT))<BR> (strcat "*" OLDTXT "*")<BR> )<BR> )<BR> (progn<BR> (setq STR (vl-string-subst NEWTXT OLDTXT STR))<BR> (vla-put-textstring ENT STR)<BR> )<BR> )<BR> )<BR> )<BR> (vla-save WW)<BR> (prompt (strcat "\n" DWGNAME " <修改Text完成>!!!"))<BR> (vla-close WW :vlax-false)<BR> (setq NN (1+ NN))<BR> )<BR> (vlax-release-object WW)<BR> (vlax-release-object APP)<BR> )<BR> (prompt "\n所选目录中未有任何图档!!!")<BR> )<BR> (setvar "acadlspasdoc" HOLDLSP)<BR> (setvar "cmdecho" HOLDECHO)<BR> (princ)<BR>)<BR>(princ)
<BR> 是lisp吗?是否只能在CAD2000中使用。我在2004里用不了。
页:
[1]
2