Benutzer-definierte Funktionen



next up previous contents
Next: Formeln Up: Funktionen Previous: SISCAD-P Funktionen

Benutzer-definierte Funktionen

Sie haben in SISCAD-P die Möglichkeit, sich eigene Funktionen zu definieren.
Diese Funktionen sind, wie die Variablen, ebenfalls CAD-Objekte und werden mit den Befehlen ERZEUGE FUNKTION bzw. LOESCHE FUNKTION bearbeitet. Beim Erzeugen entscheidet auch hier die Kennung über den Typ der Funktion, also ob das Ergebnis der Funktion eine Zahl, ein Text oder eine Koordinate ist.
Als Wert für die Funktion wird eine Formel erwartet, die mindestens einen freien Parameter hat. Der Parameter wird dabei durch das Zeichen '@' gefolgt von der laufenden Parameter-Nummer definiert.
Auch dazu 3 Beispiele:

  1. Beispiel (Zahl-Funktion): Mit dem Befehl
    ERZEUGE FUNKTION Z ZAHL=2#TEX2HTML_WRAP806#@1;NA=MAL2!
    wird eine Funktion MAL2 definiert, die eine eingegebene Zahl immer mit dem Wert 2 multipliziert. Diese Funktion kann nun für alle Zahl-Parameter eingesetzt werden.

  2. Beispiel (Koordinaten-Funktion): Es soll eine Funktion SPEZIAL erzeugt werden, durch die ein Punkt erzeugt wird, bei dem die Y-Koordinate immer doppelt so groß wie der vorgegebene X-Wert ist.
    Unter Verwendung der im Beispiel zuvor erzeugten Zahl-Funktion MAL2 heißt der Befehl dann
    ERZEUGE FUNKTION K KOORD=@1,MAL2(@1);NA=SPEZIAL!
    Bei folgendem Befehl
    ERZEUGE GERADE PP P1=SPEZIAL(100);P2=SPEZIAL(150)!
    wird damit eine Gerade zwischen den Punkten (100,200) und (150,300) erzeugt.
  3. Beispiel (Text-Funktion): Es soll eine Funktion INFOTXT erzeugt werden, die bei Eingabe einer Geraden den Text ''Länge: ...'' erzeugt. Für ... soll natürlich die Länge der Geraden eingesetzt werden.
    Dazu ist folgende Vorgehensweise möglich:
    ERZEUGE FUNKTION T TXT=VERKTX(''Länge: '';TXZ(LG(@1);2));NA=INFOTXT!
    ERZEUGE TEXT L P=<pos>; TXT=INFOTXT(<id>)!
    Bei dem Aufruf der Funktion INFOTXT ist eine vorhandene Gerade zu identifizieren. Deren Länge wird von SISCAD-P ermittelt und in den auszugebenden Text eingefügt.gif




Thu Aug 3 11:29:51 MET DST 1995