DIESEL-Ausdrücke in Makros

Sie können DIESEL-Zeichenfolgenausdrücke in Anpassungsdateien (CUI-/CUIx-Dateien) als zusätzliche Möglichkeit der Makroerstellung und zum Ändern von Pulldown-Menübeschriftungen einsetzen.

DIESEL-Ausdrücke können mit Benutzeroberflächenelementen verwendet werden und müssen dem Format $section=submenu entsprechen. Der Abschnittsname ist M, und das Untermenü ist der gewünschte DIESEL-Ausdruck.

Beispiel:

^C^C^P$M=$(if,$(=,$(getvar,cvport),1),mspace,pspace)

Dieser DIESEL-Ausdruck stellt eine Möglichkeit dar, zwischen Papierbereich und Modellbereich umzuschalten (basierend auf dem aktuellen Wert für die Systemvariable CVPORT). Wenn CVPORT auf 1 eingestellt ist, wird der Befehl MBEREICH ausgeführt. Andernfalls wird der Befehl PBEREICH ausgeführt. Dieser Ausdruck wird transparent ausgewertet. Wenn das Sonderzeichen ^P (das MENUECHO ein- und ausschaltet) weggelassen wird, zeigt der Ausdruck nur den eingegebenen Befehl an.

Der DIESEL-Ausdruck im folgenden Beispiel wird verwendet, um den aktuellen Wert von DIMSCALE mit einem Wert von 0,5 zu multiplizieren, um den Skalierfaktor beim Einfügen des Anmerkungsblocks mit dem Befehl -EINFÜGE zu berechnen.

^C^C-insert;note;0,0;$M=$(*,$(getvar,dimscale),0.5);;0;

DIESEL-Ausdrücke können auch verwendet werden, um die Beschriftung eines Pulldown-Menüelements zu definieren, sodass Sie Menüs deaktivieren oder ihr Erscheinungsbild auf andere Weise ändern können. Stellen Sie sicher, dass das erste Zeichen das Dollarzeichen ($) ist, wenn Sie einen DIESEL-Ausdruck in einer Pulldown-Menübeschriftung verwenden.

In diesem Beispiel ist der aktuelle Layer auf BASIS gesetzt. Der anschließende DIESEL-Ausdruck wird als Beschriftung für ein Pulldown-Menü verwendet.

$(eval,"Current layer: " $(getvar,clayer))

Als Resultat wird das entsprechende Pulldown-Menü angezeigt und immer dann aktualisiert, wenn der aktuelle Layer wechselt.

Aktueller Layer: BASE

Anmerkung: Die Breite von Pulldown- und Kontextmenüs wird beim Laden der Anpassungsdatei festgelegt. Menübeschriftungen, die nach dem Laden eines Menüs mithilfe von DIESEL-Ausdrücken generiert oder geändert worden sind, werden so gekürzt, dass sie mit der gegebenen Breite des Menüs übereinstimmen.

Wenn abzusehen ist, dass eine in der DIESEL-Makrosprache erstellte Menübeschriftungen zu breit sein wird, können Sie nach dem folgenden Beispiel verfahren, um sicherzustellen, dass die Breite des Menüs an Ihre Marken angepasst wird. Dieses Beispiel zeigt die ersten zehn Zeichen des aktuellen Werts der Systemvariablen CLAYER an.

$(eval,"Current value: " $(substr,$(getvar,clayer),1,10))

In einer Menübeschriftung können Sie keine nachgestellten Leerzeichen einsetzen, um die Breite des Menüs zu vergrößern, da nachgestellte Leerzeichen beim Laden des Menüs ignoriert werden. Alle Leerzeichen, mit denen Sie die Breite einer Menübeschriftung vergrößern möchten, müssen innerhalb eines DIESEL-Ausdrucks stehen.

Das folgende Beispiel verwendet denselben DIESEL-Ausdruck als Marke und als Teil des Menüelements. Dies ist eine praktische Methode, um das aktuelle Datum in eine Zeichnung aufzunehmen.

Menübeschriftung

$(edtime,$(getvar,date),DDD", "D MON YYYY)

Makro

^C^Ctext \\\ $M=$(edtime,$(getvar,date),DDD", "D MON YYYY);

Mithilfe von DIESEL-Makros können Sie außerdem die Marken in Pulldown-Menüs markieren oder deaktivieren. Die folgende Pulldown-Menübeschriftung wird als deaktiviert angezeigt, während ein Befehl aktiv ist. Ist kein Befehl aktiv, wird der Text normal angezeigt.

$(if,$(eq,$(getvar,tilemode),1),~)&Polygonal Viewport

Sie können ähnlich vorgehen, um neben einem Pulldown-Menüelement ein Häkchen anzuzeigen oder das als Markierung verwendete Zeichen interaktiv zu ändern.

$(if,$(and,$(getvar,ucsicon),1),!.)&On