【问题描述】比如有100个DGN文件,需要把这些文件中的“Old”文字全部替换为“New”。使用MicroStation提供的批处理(Batch Process)工具配合对应的键入命令即可轻松实现。
【操作方法】
CE版中,如下截图,右上角的检索框中输入‘批处理’ (英文版则输入Batch Process)然后点击任意查询结果,即可打开此工具。
*注:MicroStation V8i或XM版本中,需要从主菜单Utilities下选择Batch Process按钮
如下标记部分所示:
1.首先添加待处理文件,添加成功后就会在下方的列表里显示。
2.再选择一个TXT格式的Command File,这个文本文件里包含文字替换的命令。(关于Command file的书写内容,请参考下面Command File的内容)
3.最后点击执行按钮,会额外弹出执行列表,当中点击执行按钮,程序就会对列表中每个文件执行一次command file,即实现批量替换文字。
【Command File】
对于MicroStation CE版本和V8i版本,请在TXT文件中使用下列命令:
MDL LOAD FINDREPLACETEXT FIND DIALOG SEARCHSTRING Old FIND DIALOG REPLACESTRING New CHANGE TEXT ALL FILEDESIGN
对于MicroStation XM版本,请在TXT文件中使用下列命令:
MDL KEYIN FINDREPLACETEXT CHANGE DIALOGTEXT VBA EXECUTE SetCExpressionValue "s_changeTextInfo.oldString", "old", "FINDREPLACETEXT" VBA EXECUTE SetCExpressionValue "s_changeTextInfo.newString", "new", "FINDREPLACETEXT" CHANGE TEXT ALL FILEDESIGN
补充:正则表达式在替换数字中的命令写法
需求举例说明:用0.5xxx 替换小于0.5的所有值。比如,0.0123、0.1234、0.2345要分别被替换成0.5123、0.5234、0.5345,大于0.5的值则不做替换。
TXT文件中使用的命令为:(CE和V8i版本)
MDL LOAD FINDREPLACETEXT FIND DIALOG REGEX True FIND DIALOG SEARCHSTRING ^0\.[0-4] FIND DIALOG REPLACESTRING 0.5 CHANGE TEXT ALL FILEDESIGN