关于 MODEMACRO 值

可以使用字符串和 DIESEL 在状态栏的用户定义部分中显示消息。

MODEMACRO 系统变量的值将决定显示在状态栏最左边的用户定义部分中的内容。MODEMACRO 系统变量的最简单(且功能最弱)的用途是显示固定文字值。

注: MODEMACRO 系统变量在 Mac OS 上不受支持。

例如,要在状态栏中显示公司名称,可输入以下内容:

命令:modemacro

输入 MODEMACRO 的新值,或输入 . 表示无 <"">: Greg's Excavating

该文字值将保持不变;状态栏不反映应用程序内部状态的更改。它不会更改,直到更新 MODEMACRO 系统变量的值。

要使状态栏反映当前状态,请以下列格式使用 DIESEL 语言来输入宏表达式:

$(func_name, arg1, arg2, ...)

在宏表达式中, func_name 是 DIESEL 函数的名称, arg1 arg2 等是该函数的参数,并根据函数的定义进行解释。

以下样例显示状态栏中的当前文字样式名称:

命令:modemacro

输入 MODEMACRO 的新值,或输入 . 表示无 <"">: Style: $(getvar, textstyle)

用户可以通过输入 $(getvar, var_name) 来检索任何系统变量的当前值。系统变量的当前值将替换状态栏上的宏表达式。当系统变量发生更改时(例如,当前文字样式发生了更改),将重新计算指定给 MODEMACRO 系统变量的文字字符串并更新状态栏。

宏表达式可以是嵌套的,也可以根据需要确定其复杂程度。以下样例将显示状态栏中当前捕捉单位的值和角度(以度为单位)。它使用了嵌套表达式将捕捉角度从弧度转换为度,并将捕捉值约为整数。

命令:modemacro

输入 MODEMACRO 的新值,或输入 . 表示无 <"">: Snap: $(getvar, snapunit) $(fix,$(*,$(getvar,snapang),$(/,180,3.14159)))

还可以在当前线性单位和角度单位模式下显示该值。

命令:modemacro

输入 MODEMACRO 的新值,或输入 . 表示无 <"">:

Snap: $(rtos,$(index,0,$(getvar,snapunit))),$(rtos,$(index,1,$(getvar,snapunit))) $(angtos,$(getvar,snapang))

DIESEL 将其输入直接复制到输出,直到出现美元符号 ($) 或带引号的字符串。可以使用带引号的字符串将字符序列的计算结果隐藏起来,否则它们可能会被解释为 DIESEL 函数。带引号的字符串中可以包含引号,也就是说使用两对相邻的引号。在下例中,当前图层被设定为 LAYOUT,MODEMACRO 被设定为字符串。

命令:modemacro

输入 MODEMACRO 的新值,或输入 . 表示无 <"">: "$(getvar,clayer)= """$(getvar,clayer)""""

状态栏将显示如下信息:

$(getvar,clayer)="LAYOUT"