您可以使用文字字串和 DIESEL 在狀態列上的使用者定義部分顯示訊息。
MODEMACRO 系統變數的值會決定狀態列最左側的使用者定義區段顯示內容。最簡單的 (也是用處最少的) MODEMACRO 系統變數是用來顯示固定文字值。
例如,如果要在狀態列中顯示公司名稱,您可以如下輸入:
指令: 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"