MicroStationCONNECT Edition 帮助

简单的笔表文本替换

假设您希望用户名和当前日期显示在打印输出上,则您为此采取的第一步是将两个文本元素放置在包含 $USER$ 和 $DATE$ 的 DGN 文件中。用于标识待替换元素的字符串可以是任意内容,但必须具有唯一性。第二步是使用“文本替换”对话框上的编辑 > 插入新项菜单项插入两个替换对。然后,对于每个替换对,输入要替换的原始字符串和所需的替换字符串。



显示实际/替换字符串的“文本替换”对话框



显示笔表文本替换的预览

在此示例中,显示了两种替换字符串技巧。对于日期,将使用?文本替换?对话框上提供的预定义替换标记之一(编辑 > 插入日期)。预定义替换标记易于使用,但也有一些限制。主要限制在于替换字符串只能包含一个标记,无法与文字文本、环境变量、打印计算变量或命名表达式一起使用。

缺省情况下,_DATE_ 和 _TIME_ 替换标记的格式由 Windows“区域和语言设置”控制,但可分别通过 MS_PENTABLE_DATE_FORMATMS_PENTABLE_TIME_FORMAT 配置变量加以替代。

对于某些预定义替换标记,笔表提供了不同的格式变化形式。例如,每个文件名值(设计文件、笔表和打印机驱动程序配置文件)为完全限定文件名、仅基本文件名或完全限定文件名的缩写版本提供了单独的标记。此外,它还提供了打印比例的长版本和短版本。

对于用户名,没有预定义替换标记可用。因此,此示例展示了您可如何使用 Windows 定义的环境变量 USERNAME。为了展示该功能,替换字符串中还包含了一些文字文本。您还可以在同一替换字符串中使用多个环境变量(例如,“$(USERDOMAIN)/$(USERNAME)”),从而生成“Bentley/Joe User”。

如果整个替换字符串或其部分采用配置宏的格式(即,$(text)),则会自动替换为预设值。这种自动替换称为“扩展”。例如,字符串 User: $(USERNAME) 可以扩展为“User:Joe User”。

如果采用配置宏格式的字符串扩展为其他配置宏,则替换将迭代进行。即:替换将持续到生成的字符串不包含配置宏为止。

您还可以在替换字符串中使用任一打印计算变量。其中许多变量的值与笔表的预定义替换标记重复,但优点是能够在一个文本替换字符串中使用多个变量。例如,从打印管理器进行打印时,“Sheet $(MS_PLT_DOCSET_CURRENT_SETDOC) of $(MS_PLT_DOCSET_NUMSETDOCS)”的求值结果可能是“Sheet 1 of 20”。