MicroStation CONNECT Edition Hilfe

Rechner/Preprozessor

Das Rechner/Preprozessor-Dienstprogramm ("calculat.ma") wird zur Auswertung von Ausdrücken in MicroStation-Tastatureingaben verwendet. Die Syntax dieser Ausdrücke entspricht der Programmiersprache ""C"".

  • Der Rechner zeigt das Ergebnis eines Ausdrucks in der Statusleiste an. Wenn Sie z. B. während "Calculator/Preprocessor" geladen wird, CALCULATOR 3*sin(90) eingeben, wird das Ergebnis "3" in der Statusleiste angezeigt.
  • Der Präprozessor ersetzt einen Ausdruck durch das Ergebnis und leitet die Tastatureingabe an MicroStation weiter. Wenn Sie z. B. während "Rechner/Präprozessor" geladen wird, AA={asin(1)} eingeben, wird der aktive Winkel auf das Ergebnis 90° eingestellt.

In "C" geschriebene Ausdrücke

Sowohl der Rechner als auch der Preprocessor können Ausdrücke in der Syntax der Standardsprache "C" verarbeiten.

Der wichtigste Unterschied zwischen dem Umgang mit in "C" geschriebenen Ausdrücken und Ausdrücken in "Calculator/Preprocessor" liegt in der Division ganzer Zahlen. Bei "C"-Ausdrücken wird das Ergebnis einer Ganzzahldivision als Ganzzahl ausgegeben. Bei der Verwendung von "Calculator/Preprocessor" ergibt sie einen Dezimalbruch. Wenn Sie in "C" beispielsweise Eins durch Vier dividieren, erhalten Sie als Ergebnis null. Bei der Verwendung von "Calculator/Preprocessor" erhalten Sie für 1/4 als Ergebnis 0,25.

Die Funktionen cos, acos, sin, asin, atan, atan2, tan, cosh, tanh, sinh, exp, ldexp, log, log10, pow, und sqrt werden unterstützt. Diese Funktionen entsprechen den gewohnten Funktionen in "C", nur dass die Winkel in Grad und nicht als Radianten ausgedrückt werden.

Variablen und Funktionen können für die Verwendung mit "Calculator/Preprocessor" angepasst werden. Weitere Informationen finden Sie unter Anpassen von "Rechner/Preprozessor".

Interaktion zwischen dem Preprozessor und dem Produkt

In diesem Abschnitt wird die Interaktion zwischen Präprozessor und MicroStation beschrieben, während "Rechner/Preprozessor" geladen ist.

Der Präprozessor untersucht alle MicroStation-Tastatureingaben und sucht nach Text, der von speziellen Begrenzungszeichen eingeschlossen ist. Die Standard-Begrenzungszeichen sind geschweifte Klammern {}.

Wenn der Preprozessor eine mit Begrenzungszeichen eingeschlossene Zeichenfolge erkennt, wertet er sie aus. Handelt es sich um einen gültigen Ausdruck in "C", ersetzt der Preprocessor die Begrenzungszeichen und den Ausdruck durch das Ergebnis und untersucht die ganze eingegebene Zeichenfolge erneut. Der Preprozessor wiederholt diesen Vorgang so lange, bis ein Durchgang durchgeführt werden kann, ohne Text zu ersetzen. Das Ergebnis wird dann an MicroStation zur Verarbeitung als normale Tastatureingabe übergeben.

Der Preprozessor verarbeitet Tastatureingaben, die aus individuell angepassten Menüpunkten resultieren oder von anderen Anwendungen (MDL-Applikationen) simuliert werden. Der Preprozessor geht davon aus, dass das Ergebnis eine Ganzzahl, ein Gleitkommawert (Dezimalbruch) oder eine Zeichenfolge ist.

Standardwerte können im Dialogfeld Preprozessor geändert werden.

Rechner- und Preprozessor-Ausgabeformat

Sowohl Rechner als auch Preprozessor enthalten jeweils eine Formatzeichenfolge zur Steuerung der Anzeige ganzzahliger Ergebnisse bzw. der Anzeige von Ergebnissen mit Dezimalbrüchen. Diese Formatzeichenfolgen sind Standard-C-printf Zeichenfolgen.

"Calculator/Preprocessor" verarbeitet keine Zeichenfolgenergebnisse. Wenn der Rechner einen Ausdruck bewertet und das Ergebnis auf ein Zeichen verweist (zeigt), kann der Rechner dieses Ergebnis nicht verarbeiten und gibt eine Fehlermeldung aus. Der Preprozessor ersetzt in diesem Fall den Ausdruck durch die Zeichenfolge, auf die das Ergebnis verweist.

Rechnerbefehle

Falls "Rechner/Preprozessor" aktiv ist, können Sie die folgenden Rechnerbefehle auf die gleiche Weise eingeben wie die MicroStation-Tastatureingaben:

  • CALCULATOR [C_expression] — berechnet das Ergebnis eines C-Ausdrucks. Das Ergebnis des Ausdrucks wird in der Statusleiste angezeigt. Allein CALCULATOR weist den Rechner an, alle Tastaturkürzel als Ausdrücke zu interpretieren. Dieser Modus bleibt solange aktiv, bis ein anderer Befehl aktiviert wird.
  • CALCULATOR DECLARE DOUBLE [variable_name] — erklärt eine Gleitkommazahlvariable für Rechner und Präprozessor. Der Anfangswert für die Variable ist 0. Die Definition des Werts und der Wert werden zwischen -Sitzungen in "uservrbl.dat" gespeichert.
  • CALCULATOR DECLARE INT [variable_name] — erklärt eine Ganzzahlvariable für Rechner und Präprozessor. Der Anfangswert für die Variable ist 0. Die Definition des Werts und der Wert werden zwischen -Sitzungen in "uservrbl.dat" gespeichert.
  • CALCULATOR FORMAT DOUBLE [format_string] — gibt die Formatzeichenfolge zur Ergebnisanzeige von Gleitkommazahlausdrücken an. Der Standardwert ist %.16g.
  • CALCULATOR FORMAT INT [format_string] — gibt die Formatzeichenfolge zur Ergebnisanzeige von Ganzzahl-Ausdrücken an. Der Standardwert ist %d.

    Wenn Sie beispielsweise den hexadezimalen Wert der Dezimalzahl 100 berechnen möchten, geben Sie CALCULATOR FORMAT INT %#X und dann CALCULATOR 100 ein.

    Wenn Sie beispielsweise den dezimalen Wert der Hexadezimalzahl 100 berechnen möchten, geben Sie CALCULATOR FORMAT INT %d und dann CALCULATOR 0x100 ein.

  • UCCALC [C_expression]— berechnet das Ergebnis eines "C"-Ausdrucks, aber zeigt es nicht an.

Individuelles Anpassen von "Calculator/Preprocessor"

Sie können die Applikation "Calculator/Preprocessor" folgendermaßen individuell anpassen:

  • Fügen Sie Variablen mithilfe der "uservrbl.dat" Datei hinzu.
  • Hinzufügen weiterer Funktionen und Variablen aus MDL-Applikationen
  • Erklären Sie Variablen mit CALCULATOR DECLARE Befehlen.
  • Ersetzen des Preprozessors durch eine andere MDL-Applikation.

Während seiner Initialisierung liest "Rechner/Preprozessor" die Datei "uservrbl.dat". Es sucht nach der Datei in dem Verzeichnis, das der Konfigurationsvariable MS_DATA zugewiesen wurde. Jede Variablendefinition in der Datei hat das folgende Format:<type_name> <variable_name> <initial_value>

Die möglichen Werte für type_namesind double und int. Der in der Datei ""uservrbl.dat"" definierte Variablenname darf höchstens 16 Zeichen umfassen. Die Zeichenkette wird mit dem ersten Zeichen nach dem Variablennamen, das kein Leerzeichen ist, initialisiert und wird bis an das Zeilenende fortgesetzt. Beispiel für eine gängige Initialisierungsdatei:

Beispiel einer standardmäßigen Initialisierungsdatei:

int baseValue 1
double baseUor 1.0

Wenn "Rechner/Preprozessor" entladen wird, aktualisiert es "uservrbl.dat."Während des Entladens werden die Typen, Namen und Werte der Variablen, die in der Datei "uservrbl.dat" definiert sind, sowie die zusammen mit den Befehlen CALCULATOR DECLARE definierten Variablen aufgezeichnet. Informationen über von MDL-Applikationen erstellte Variablen werden nicht gespeichert.

MDL-Programme können mithilfe der Funktion mdlCExpression_symbolPublish dem Rechner Funktionen und Variablen hinzufügen. Mit einem Symbolsatz, der über einen VISIBILITY_CALCULATOR verfügt, wird die Funktion oder die Variable mittels Sichtbarkeit für den Rechner verfügbar gemacht. Dies ist die einzige Möglichkeit, dem Rechner Funktionen hinzuzufügen.