明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 5310|回复: 10

怎样替换多个文件都要替换的文字?

[复制链接]
发表于 2004-5-25 00:44 | 显示全部楼层 |阅读模式
本人在做竣工图!因为施工图做得好,所以没什么改,大部分都只要改图签(都要反施工改为竣工),因为文件较多,请问论坛中有相关的程序,可以批量修改.


顺便再问一下,find 命令在lisp中的替换格式是怎样的.
发表于 2004-6-6 04:44 | 显示全部楼层
图签文字内容都一样吗?
发表于 2004-6-6 11:54 | 显示全部楼层
把具体要改的内容列出来,我给你写!
发表于 2004-6-13 11:04 | 显示全部楼层
以前在r12有一个lsp,专门改文本的,不过过mtext的不行/
发表于 2004-6-14 20:39 | 显示全部楼层
我的程序也是只能改text
 楼主| 发表于 2004-7-1 14:56 | 显示全部楼层
对每张图所要修改的文字内容都一样,修改的内容也一样。


例如每张图都要把“施工图”改为“竣工图”


把发行日期“2004.03”改为“2004.07”


把图号03008D402-AJ01-1                         03008D402-AJ02-1 .......       


改为                 03008R402-AJ01-1                         03008R402-AJ02-1 .......
 楼主| 发表于 2004-7-1 14:59 | 显示全部楼层
重点是要对多个文件做同样文字的替换,如果是单个文件里的,用查找里的替换都可以。
发表于 2004-7-1 23:37 | 显示全部楼层
我以前发过一个多文档的,你改下就可以用了!
发表于 2004-7-2 12:58 | 显示全部楼层
;|
如何一次修改多个CAD档里的某一文字?
有600多个CAD档
这些档中的一处文字写错了(相同的文字,位置也相同)
想修改
可要一个一个档打开修改,工作量太大了
有没有什么好的方法
象WORD一样,可以查找多个档中的某一文字,然后进行替换。
|; ;;一个VLISP的批量处理范例
;;从这个范例可以了解VLISP如何批量处理图档
;;虽然速度慢了点,但非常实用
;;By LUCAS(龙龙仔)
;;批量修改文字
;;
;;虽配合Expresstools__(acetutil.arx)
;;为加速程序执行,程序将设定系统变数ACADLSPASDOC
;;即<只载入 acad.lsp 至 AutoCAD 执行期所开启的第一个图面>
;;当然程序结束后,会还原系统变数ACADLSPASDOC
;;
;;For AutoCad 2000+ (arxload "acetutil.arx" NIL)
(vl-load-com)
(defun CH_TXT (OLDTXT NEWTXT / HOLDECHO APP DWGNAME
PREFIX_DWG NN QQ HOLDLSP WW
ENT N
)
(setq HOLDECHO (getvar "cmdecho"))
(setvar "cmdecho" 0)
(setq PREFIX_DWG
(strcat
(vl-string-right-trim
"\\"
(strcase (acet-ui-pickdir
"选择目录"
(vl-string-right-trim "\\" (getvar "dwgprefix"))
"批量修改文字"
)
)
)
"\\"
)
)
(setq HOLDLSP (getvar "ACADLSPASDOC"))
(setvar "acadlspasdoc" 0)
(setq QQ (vl-directory-files PREFIX_DWG "*.DWG"))
(setq NN 0)
(if (/= QQ NIL)
(progn
(setq APP (vlax-get-acad-object))
(repeat (length QQ)
(setq DWGNAME (strcase (strcat PREFIX_DWG (nth NN QQ))))
(setq WW (vla-open (vla-get-documents APP) DWGNAME))
(vlax-for N (vla-get-blocks WW)
(vlax-for ENT N
(if (and (vlax-property-available-p ENT 'TEXTSTRING)
(wcmatch (setq STR (vla-get-textstring ENT))
(strcat "*" OLDTXT "*")
)
)
(progn
(setq STR (vl-string-subst NEWTXT OLDTXT STR))
(vla-put-textstring ENT STR)
)
)
)
)
(vla-save WW)
(prompt (strcat "\n" DWGNAME " <修改Text完成>!!!"))
(vla-close WW :vlax-false)
(setq NN (1+ NN))
)
(vlax-release-object WW)
(vlax-release-object APP)
)
(prompt "\n所选目录中未有任何图档!!!")
)
(setvar "acadlspasdoc" HOLDLSP)
(setvar "cmdecho" HOLDECHO)
(princ)
)
(princ)
 楼主| 发表于 2004-7-10 15:28 | 显示全部楼层
是lisp吗?是否只能在CAD2000中使用。我在2004里用不了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-4 12:01 , Processed in 0.239870 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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