In diesem Abschnitt sind alle Methoden der eingebauten Klasse ICS beschrieben. Die Methoden der Klasse ICS müssen nur optional mit ICS. qualifiziert werden. Die Klasse ICS muss ausserdem nicht mit |LOAD geladen werden.
Methode | ICS.+ [n a,n b][n a+b] |
Beschreibung | Die Methode + addiert die ersten beiden Werte des Stacks und legt das Resultat auf dem Stack ab. |
Beispiel |
|
Methode | ICS.- [n a,n b][n a-b] |
Beschreibung | Die Methode - subtrahiert den obersten Wert des Stacks vom zweitobersten Wert des Stacks und legt das Resultat auf dem Stack ab. |
Beispiel |
|
Methode | ICS.* [n a,n b][n a*b] |
Beschreibung | Die Methode * multipliziert die ersten beiden Werte des Stacks und legt das Resultat auf dem Stack ab. |
Beispiel |
|
Methode | ICS./ [n a,n b][n a/b] |
Beschreibung | Die Methode / dividiert den zweitobersten Wert des Stacks durch den obersten Wert des Stacks und legt das Resultat auf dem Stack ab. |
Beispiel |
|
Methode | ICS.INC [i a][i a+1] |
Beschreibung | Erhöht die Zahl <a> auf dem Stack um 1. |
Beispiel |
|
Methode | ICS.DEC [i a][i a-1] |
Beschreibung | die Zahl <a> auf dem Stack um 1. |
Beispiel |
|
Methode | ICS.ROUND [r a,i dez][r a] |
Beschreibung | Rundet die Zahl <a> auf <dez> Dezimalen. ROUND kann auch mit Stringargument für <dez> aufgerufen werden z.B. 1.567 '1' ROUND. In diesem Fall wird als Resultat ein auf <dez> Dezimalen gerundeter String (hier: '1.6') zurück gegeben. |
Beispiel |
|
Methode | ICS.FLOOR [r a][r floor(a)] |
Beschreibung | Rundet die Zahl <a> auf die nächst tiefere ganze Zahl ab. |
Beispiel |
|
Methode | ICS.CEIL [r a][r ceil(a)] |
Beschreibung | Rundet die Zahl <a> auf die nächst höhere ganze Zahl auf. |
Beispiel |
|
Methode | ICS.SQRT [r a][r sqrt(a)] |
Beschreibung | Berechnet die Wurzel der reellen Zahl <a>. |
Beispiel |
|
Methode | ICS.POWER [n x, n y][r pow(x,y)] |
Beschreibung | Berechnet <x> hoch <y>. |
Beispiel |
|
Methode | ICS.MOD [i x, i y][i x % y] |
Beschreibung | Berechnet den Module von <x> und <y>, den Rest aus der Division der ganzen Zahlen <x> und <y>. |
Beispiel |
|
Methode | ICS.SIN [r w][r sin(w)] |
Beschreibung | Berechnet den Sinus des Winkels <w>. Der Winkel muss in Grad angegeben werden. |
Beispiel |
|
Methode | ICS.ASIN [r a][r asin(a)] |
Beschreibung | Berechnet den Arcussinus von <a>. Der Winkel wird in Grad zurückgegeben. |
Beispiel |
|
Methode | ICS.COS [r w][r sin(w)] |
Beschreibung | Berechnet den Cosinus des Winkels <w>. Der Winkel muss in Grad angegeben werden. |
Beispiel |
|
Methode | ICS.ACOS [r a][r asin(a)] |
Beschreibung | Berechnet den Arcuscosinus von <a>. Der Winkel wird in Grad zurückgegeben. |
Beispiel |
|
Methode | ICS.TAN [r w][r sin(w)] |
Beschreibung | Berechnet den Tangens des Winkels <w>. Der Winkel muss in Grad angegeben werden. |
Beispiel |
|
Methode | ICS.ATAN2 [r y, r x][r atan2(a)] |
Beschreibung | Berechnet die ATAN2 Funktion. Der Winkel wird in Grad zurückgegeben. |
Beispiel |
|
Methode | ICS.AND [b x, b y][b (a AND b)] |
Beschreibung | Boolesche AND-Operation von zwei booleschen Werten <x> und <y>. |
Beispiel |
|
Methode | ICS.OR [b x, b y][b (a OR b)] |
Beschreibung | Boolesche OR-Operation von zwei booleschen Werten <x> und <y>. |
Beispiel |
|
Methode | ICS.XOR [b x, b y][b (a AND b)] |
Beschreibung | Boolesche XOR-Operation von zwei booleschen Werten <x> und <y>. |
Beispiel |
|
Methode | ICS.NOT [b x, b y][b (a AND b)] |
Beschreibung | Boolesche NOT-Operation eines booleschen Wertes <x>. |
Beispiel |
|
Methode | ICS.INTAND [i x, i y][i (x & y)] |
Beschreibung | Boolesche Bit-AND-Operation von zwei Integer32 Werten <x> und <y>. |
Beispiel |
|
Methode | ICS.INTOR [i x, i y][i (x | y)] |
Beschreibung | Boolesche Bit-OR-Operation von zwei Integer32 Werten <x> und <y>. |
Beispiel |
|
Methode | ICS.INTXOR [i x, i y][i (x ^ y)] |
Beschreibung | Boolesche Bit-XOR-Operation von zwei Integer32 Werten <x> und <y>. |
Beispiel |
|
Methode | ICS.INTSHIFTL [i x, i y][i (x << y)] |
Beschreibung | Shift Left Operation eines Integer32 Wertes <x> um <y> Bits. |
Beispiel |
|
Methode | ICS.INTSHIFTR [i x, i y][i (x >> y)] |
Beschreibung | Shift Right Operation eines Integer32 Wertes <x> um <y> Bits. |
Beispiel |
|
Methode | ICS.LEN [s str][i länge] |
Beschreibung | Berechnet die Länge des Strings <str>. Die Länge wird als Integer zurückgegeben. |
Beispiel |
|
Methode | ICS.EXTRL [s str][s rest,s extract] |
Beschreibung | Extrahiert aus dem String <str> einen String <extract>. Es wird bis zum ersten Blank oder Komma extrahiert. Der Extraktstring und der Reststring <rest> werden auf dem Stack abgelegt. Falls der Rest die Länge 0 aufweist, wird für den Rest der Wert NULL auf dem Stack abgelegt. |
Beispiel |
|
Methode | ICS.EXTRL1 [s str][s extract] |
Beschreibung | Wie EXTRL. Es wird jedoch nur der <extract> geliefert. |
Beispiel |
|
Methode | ICS.EXTRLS [s str][s rest,s extract] |
Beschreibung | Wie EXTRL. Als Trennzeichen wird aber nur das Komma berücksichtigt. |
Beispiel |
|
Methode | ICS.EXTRLN [s str,i n][s rest, s extract] |
Beschreibung | Extrahiert aus <str> <n> Zeichen und legt den Reststring und den Extraktstring auf dem Stack ab. |
Beispiel |
|
Methode | ICS.EXTRLN1 [s str,i n][s extract] |
Beschreibung | Extrahiert aus <str> <n> Zeichen und legt diese als Extraktstring auf dem Stack ab. |
Beispiel |
|
Methode | ICS.EXTRR [s str][s rest, s extract] |
Beschreibung | Wie EXTRL mit dem Unterschied, dass von rechts extrahiert wird. |
Beispiel |
|
Methode | ICS.EXTRR1 [s str][s rest, s extract] |
Beschreibung | Wie EXTRL1 mit dem Unterschied, dass von rechts extrahiert wird. |
Beispiel |
|
Methode | ICS.EXTRRN [s str,i n][s rest, s extract] |
Beschreibung | Wie EXTRLN mit dem Unterschied, dass von rechts extrahiert wird. |
Beispiel |
|
Methode | ICS.EXTRRN1 [s str,i n][s extract] |
Beschreibung | EXTRLN1 mit dem Unterschied, dass von rechts extrahiert wird. |
Beispiel |
|
Methode | ICS.EXTRCHAR [s str,i n][s extract] |
Beschreibung | Extrahiert das Zeichen des n. Index des Strings. Ist der Index n < 0 order n >= strlen dann wird NULL zurückgegeben. |
Beispiel |
|
Methode | ICS.APP [s s1, s s2][s str] |
Beschreibung | Hängt den String <s2> an den String <s1> an und legt das Resultat <str> auf dem Stack ab. |
Beispiel |
|
Methode | ICS.LOC [s str,s suchstring][s str, i pos] |
Beschreibung | Sucht <suchstring> in <str>. Falls der <suchstring> in <str> enthalten ist, gibt LOC die Position <pos> des 1. Buchstabens von <suchstring> in <str> zurück. Falls <suchstring> nicht gefunden wird, wird NULL für <pos> zurückgegeben. LOC wird meist zusammen mit EXTRLN1 benutzt. |
Beispiel |
|
Methode | ICS.LOCR [s str, s suchstring][s str, i pos] |
Beschreibung | Sucht <suchstring> in <str> von rechts anstatt von links. Falls der <suchstring> in <str> enthalten ist, gibt LOC die Position <pos> des 1. Buchstabens von <suchstring> in <str> zurück. Falls <suchstring> nicht gefunden wird, wird NULL für <pos> zurückgegeben. LOCR wird meist zusammen mit EXTRLN1 benutzt. |
Beispiel |
|
Methode | ICS.LOCCHAR [s str][s str, pos i] |
Beschreibung | Wie LOC mit dem Unterschied, dass nach dem 1. Alphazeichen gesucht wird. |
Beispiel |
|
Methode | ICS.TO_UPPER [s value][s result] |
Beschreibung | Wandelt den String <value> in einen String mit Grossbuchstaben um. |
Beispiel |
|
Methode | ICS.TO_LOWER [s value][s result] |
Beschreibung | Wandelt den String <value> in einen String mit Kleinbuchstaben um. |
Beispiel |
|
Methode | ICS.TRIM [s value][s result] |
Beschreibung | Eliminiert Leerzeichen am Anfang und am Ende eines Strings. |
Beispiel |
|
Methode | ICS.LJUST [* value, i length][s result] |
Beschreibung | Wandelt das Objekt <value> in einen String um und macht den String <result> linksbündig und mindestens <length> Zeichen lang. |
Beispiel |
|
Methode | ICS.RJUST [* value, i length][s result] |
Beschreibung | Wandelt das Objekt <value> in einen String um und macht den String <result> rechtsbündig und mindestens <length> Zeichen lang. |
Beispiel |
|
Methode | ICS.STARTS_WITH[s value,s prefix][b result] |
Beschreibung | Prüft ob der String <value> mit dem Prefix <prefix> anfängt. |
Beispiel |
|
Methode | ICS.ENDS_WITH[s value,s postfix][b result] |
Beschreibung | Prüft ob der String <value> mit dem Prefix <postfix> endet. |
Beispiel |
|
Methode | ICS.REPLACE_CHAR[s value,s char1,s char2][s result] |
Beschreibung | Ersetzt alle Vorkommen des Buchstaben <char1> durch <char2>. |
Beispiel |
|
Methode | ICS.REPLACE_STRING[s value,s search,s replace][s result] |
Beschreibung | Ersetzt alle Vorkommen des Strings <search> durch den String <replace>. |
Beispiel |
|
Methode | ICS.POP [* objekt][] |
Beschreibung | Vernichtet das oberste Objekt auf dem Stack. |
Beispiel |
|
Methode | ICS.DUP [* objekt][* objekt,* objekt] |
Beschreibung | Dupliziert das oberste Objekt auf dem Stack. |
Beispiel |
|
Methode | ICS.RDUP [* objekt][* objekt,* objekt] |
Beschreibung | Erzeugt eine zusätzliche Referenz auf das oberste Objekt des Stacks. |
Beispiel |
|
Methode | ICS.SWAP [* objekt1,* objekt2][* objekt2,* objekt1] |
Beschreibung | Vertauscht die obersten beiden Elemente des Stacks. |
Beispiel |
|
Methode | ICS.TO_STRING [* Objekt][s str] |
Beschreibung | Wandelt das oberste Objekt des Stacks in einen String um. |
Beispiel |
|
Methode | ICS.TO_REAL [* objekt][s str] |
Beschreibung | Wandelt das oberste Element des Stacks in einen Real um. Als Inputtyp ist String oder Integer zulässig. |
Beispiel |
|
Methode | ICS.TO_INT [* objekt][s str] |
Beschreibung | Wandelt das oberste Objekt des Stacks in einen Integer um. Als Inputtyp ist String oder Real zulässig. Bei reellen Zahlen wird auf die nächtste ganze Zahl gerundet. |
Beispiel |
|
Methode | ICS.TO_POINT [s string][p punkt] |
Beschreibung | Wandelt das oberste Element des Stacks in eine Geometrie vom Typ Punkt um. |
Beispiel |
|
Methode | ICS.CHR [i ascii][s ch] |
Beschreibung | Wandel den ASCII-Code <ascii> in das entsprechende Zeichen um. |
Beispiel |
|
Methode | ICS.ASCII [s ch][i ascii] |
Beschreibung | Berechnet den ASCII-Code des Zeichens <ch>. |
Beispiel |
|
Methode | ICS.GET_TYPE [* objekt][s type] |
Beschreibung | Gibt den Typ von <objekt> als String zurück. |
Beispiel |
|
Methode | ICS.BINSTRING_TO_INT [s string][i a] |
Beschreibung | Wandelt einen String aus Binärziffern in einen 32-Bit Integer um. |
Beispiel |
|
Methode | ICS.INT_TO_BINSTRING [i a][s string] |
Beschreibung | Wandelt einen 32 Bit Integer in einen String aus Binärziffern um. Der String ist immer 32 Zeichen lang. |
Beispiel |
|
Methode | ICS.HEXSTRING_TO_INT [s string][i a] |
Beschreibung | Wandelt einen String aus Hexziffern in einen 32-Bit Integer um. Die Hexziffern 'A' - 'F' dürfen als Gross- oder Kleinbuchstaben übergeben werden. |
Beispiel |
|
Methode | ICS.INT_TO_HEXSTRING [i a][s string] |
Beschreibung | Wandelt einen 32 Bit Integer in einen String aus Hexziffern um. Die Hexziffern 'A' - 'F' werden immer als Grossbuchstaben zurück gegeben. Der String ist immer 8 Zeichen lang. |
Beispiel |
|
Methode | ICS.HEXSTRING_TO_REAL [s string][r a] |
Beschreibung | Wandelt einen String aus Hexziffern in einen 64-Bit Real um. Die Hexziffern 'A' - 'F' dürfen als Gross- oder Kleinbuchstaben übergeben werden. |
Beispiel |
|
Methode | ICS.REAL_TO_HEXSTRING [r a][s string] |
Beschreibung | Wandelt einen 64 Bit Real in einen String aus Hexziffern um. Die Hexziffern 'A' - 'F' werden immer als Grossbuchstaben zurück gegeben. Der String ist immer 16 Zeichen lang. |
Beispiel |
|
Methode | ICS.HEXSTRING_TO_STRING [s string][s string] |
Beschreibung | Wandelt einen String aus Hexziffern in String um. Die Hexziffern 'A' - 'F' dürfen als Gross- oder Kleinbuchstaben übergeben werden. |
Beispiel |
|
Methode | ICS.STRING_TO_HEXSTRING [s string][s string] |
Beschreibung | Wandelt einen String in einen String aus Hexziffern um. Die Hexziffern 'A' - 'F' werden immer als Grossbuchstaben zurück gegeben. |
Beispiel |
|
Methode | ICS.HEXSTRING_TO_BLOB [s string][B blob] |
Beschreibung | Wandelt einen String aus Hexziffern in einen BLOB um. Die Hexziffern 'A' - 'F' dürfen als Gross- oder Kleinbuchstaben übergeben werden. |
Beispiel |
|
Methode | ICS.BLOB_TO_HEXSTRING [B blob][s string] |
Beschreibung | Wandelt einen BLOB in einen String aus Hexziffern um. Die Hexziffern 'A' - 'F' werden immer als Grossbuchstaben zurück gegeben. |
Beispiel |
|
Methode | ICS.REAL_TO_DEGREE [r degree][r s, i m, i d] |
Beschreibung | Wandelt einen Winkel in Grad
vom Type REAL nach Grad, Minuten,
Sekunden. |
Beispiel |
|
Methode | ICS.DEGREE_TO_REAL [i d, i m, r s] [r degree] |
Beschreibung | Wandelt einen Winkel von Grad,
Minuten, Sekunden nach Grad vom Type
REAL . |
Beispiel |
|
Methode | ICS.REAL_TO_DEGREE_STRING [r degree][s d.m.s] |
Beschreibung | Wandelt einen Winkel in Grad
vom Type REAL nach Grad, Minuten,
Sekunden vom Typ STRING . |
Beispiel |
|
Methode | ICS.DEGREE_STRING_TO_REAL [s d.m.s] [r degree] |
Beschreibung | Wandelt einen Winkel in Grad,
Minuten, Sekunden vom Typ nach Grad vom
Type REAL . |
Beispiel |
|
Methode | ICS.VAL [s objektliste][s werteliste] |
Beschreibung | Wertet eine Objektliste aus und ersetzt die Objekte durch ihre aktuellen Werte. |
Beispiel |
|
Methode | ICS.VAL2 [s objektliste][s werteliste] |
Beschreibung | Wertet eine Objektliste aus und ersetzt die Objekte durch ihre aktuellen Werte. Die Auswertung erfolgt analog zum DISPLAY-Befehl. |
Beispiel |
|
Methode | ICS.REF [s objektname][* objekt] |
Beschreibung | Liefert eine Referenz auf das Objekt mit Namen <objektname> zurück. |
Beispiel |
|
Methode | ICS.INDEX [m map,s key][* objekt] |
Beschreibung | Liefert die Komponente aus <m> mit Namen <key>. Falls die Komponente nicht existiert, wird der Skript abgebrochen. |
Beispiel |
|
Methode | ICS.EXISTS [s komponentenname][b status] |
Beschreibung | Gibt TRUE
zurück falls dies Mapkomponente existiert,
FALSE sonst. |
Beispiel |
|
Methode | ICS.MAPCREATE [][m map] |
Beschreibung | Erzeugt eine neue (unbenannte) Map <map>. |
Beispiel |
|
Methode | ICS.MAPRESET [m map][] |
Beschreibung | Setzt den internen Lesezeiger einer Map zurück (Vorbereitungsmethode für MAPSCAN). |
Beispiel |
|
Methode | ICS.MAPSCAN [m map][* wert,name s,status b] |
Beschreibung | Liest die nächste Komponente <name>, <wert> aus der Map <map>. Falls <status> FALSE ist konnte keine Komponente gelesen werden (<wert> und <status> werden in diesem Fall nicht auf den Stack geschoben). |
Beispiel |
|
Methode | ICS.MAPINS [m map,s komponentenname,* wert][] |
Beschreibung | Fügt den Wert <wert> in <map> unter dem Komponentennamen <komponentenname> ein. |
Beispiel |
|
Methode | ICS.MAPREM [m map,s komponentenname][b status] |
Beschreibung | Löscht den Wert unter dem Komponentennamen <komponentenname>. |
Beispiel |
|
Methode | ICS.MAPCLEAR [m map][] |
Beschreibung | Löscht alle Komponenten der Map <map>. |
Beispiel |
|
Methode | ICS.MAP_IS_EMPTY [m map][b status] |
Beschreibung | Testet ob die Map <map> keine Komponenten hat. |
Beispiel |
|
Methode | ICS.MAPCOPY[m map1,m map2][] |
Beschreibung | Kopiert alle Komponenten der map <map1> in die Map <map2>. Alle ursprünglichen Komponenten der Map <map2> werden gelöscht. |
Beispiel |
|
Methode | ICS.MAPCOPY2[m map1,m map2][] |
Beschreibung | Kopiert alle Komponenten der map <map1> in die Map <map2>. Alle ursprünglichen Komponenten der Map <map2> werden nicht gelöscht. |
Beispiel |
|
Methode | ICS.MAPSORT [m map, b descending][] |
Beschreibung | Sortiert die Einträge in der Map nach den Komponentennamen. descending = FALSE aufsteigend. descending = TRUE absteigend. |
Beispiel |
|
Methode | ICS.MAPSWAP [m map][m map] |
Beschreibung | Kehrt die Abbildung <name> => <wert> einer Map um in <wert> => <name>. Namen werden zu Werte, Werte zu Namen. Die Werte werden in eine String umgewandelt und als Namen eingefügt. Namen werden als String belassen und als Werte eingefügt. Ein DEFAULT-Wert wird beibehalten. |
Beispiel |
|
Methode | ICS.SET_LABEL[m map,s label][] |
Beschreibung | Setzt das Label der Map <map>. |
Beispiel |
|
Methode | ICS.GET_LABEL[m map][s label] |
Beschreibung | Fragt das Label der Map <map> ab. Falls kein Label gesetzt wurde, wird NULL zurück gegeben. |
Beispiel |
|
Methode | ICS.CREATE_LIST [][li list] |
Beschreibung | Erzeuge ein neues Objekt vom Typ list. |
Beispiel |
|
Methode | ICS.APPEND_TO_LIST [li list, * obj][li result] |
Beschreibung | Hängt das Objekt <obj> an die Liste <list> an. |
Beispiel |
|
Methode | ICS.RESET_READ [li list][] |
Beschreibung | Setzt den internen Lesezeiger zurück (Vorbereitung zu READ_NEXT). |
Beispiel |
|
Methode | ICS.READ_NEXT [li list][* obj, b status] |
Beschreibung | Liest das nächste Objekt <obj> aus der Liste <list>. |
Beispiel |
|
Prozedur | ICS.CREATE_LINK [s key,i orderpos][link ref] |
Beschreibung | Erzeugt einen Link für
das Schreiben einer Referenz. |
Beispiel | 'key1' 1 CREATE_LINK [LINK(:0::key1:1)] |
Prozedur | ICS.SET_LINK_BID [link ref, s bid][link ref] |
Beschreibung | Setzt in einem Link die
Basket ID |
Beispiel | 'bid1' SET_LINK_BID [LINK(:0:bid1:key1:1)] |
Prozedur | ICS.GET_LINK_BID [link ref][s bid] |
Beschreibung | Liest aus einem Link die
Basket ID |
Beispiel | [LINK(:0:bid1:key1:1)] GET_LINK_BID ['bid1'] |
Prozedur | ICS.GET_LINK_KEY [link ref][s key] |
Beschreibung | Liest aus einem Link die Objekt ID key. |
Beispiel | [LINK(:0:bid1:key1:1)] GET_LINK_KEY ['key1'] |
Prozedur | ICS.GET_LINK_ORDERPOS [link ref][i orderpos] |
Beschreibung | Liest aus einem Link die
|
Beispiel | [LINK(:0:bid1:key1:1)] GET_LINK_ORDERPOS [1] |
Methode | ICS.DISP [* objekt][] |
Beschreibung | Gibt das oberste Element des Stacks auf dem Bildschirm aus. |
Beispiel |
|
Methode | ICSCPU.DISPLAY_STACK [][] |
Beschreibung | Gibt den aktuellen Inhalt des Stacks auf den Bildschirm aus. Der Stack wird nicht verändert. |
Beispiel |
|
Für die Speicherung und Bearbeitung von Geometriedaten stellt der Kern den Geometrietyp bereit. Eine Geometrie ist entweder eine Fläche, ein Rand, eine Linie oder ein Punkt. Geometrieen sind hierarchisch aufgebaut. So besteht z.B. eine Fläche aus Rändern (ein äusserer Rand und Löcher innerhalb der Fläche). Ein Rand besteht aus Linien. Eine Linie besteht aus Punkten. In einer Linie können Punkte durch Geraden oder Kreisbögen verbunden werden. Durch Standardmethoden können Geometrieen erzeut, durchsucht oder kopiert werden.
Mit den Methoden SET_GATTR
und
GET_GATTR
kann pro Geometrieelement ein
Benutzerattribut gesetzt bzw. abgefragt werden.
Methode | ICS.CREATE_LINE [p p1, p p2][l line] |
Beschreibung | Erzeugt aus zwei Punkten eine Linie. |
Beispiel |
|
Methode | ICS.POINTX [p p1][r koord] |
Beschreibung | Gibt die X-Koordinate eines Punkts zurück (horizontale Achse). |
Beispiel |
|
Methode | ICS.POINTY [p p1][r koord] |
Beschreibung | Gibt die Y-Koordinate eines Punkts zurück (vertikale Achse). |
Beispiel |
|
Methode | ICS.POINTZ [p p1][r koord] |
Beschreibung | Gibt die Z-Koordinate eines Punkts zurück (Höhe). |
Beispiel |
|
Methode | ICS.CREATE_ARC [p p1, p p2, p p3][l line] |
Beschreibung | Erzeugt aus drei Punkten einen Kreisbogen. Der Kreisbogen führt von <p1> via <p2> nach <p3>. |
Beispiel |
|
Methode | ICS.APPEND_LINE_POINT [l line, p p1][l line] |
Beschreibung | Hängt einen Punkt an eine Linie an. Die Verbindung zwischen dem letzten Punkt der Linie <l> und dem Punkt <p1> ist eine Gerade. |
Beispiel |
|
Methode | ICS.APPEND_LINE_ARC [l line, p p1, p p2][l line] |
Beschreibung | Hängt einen Kreisbogen via <p1>, <p2> an eine Linie an. Als erster Punkt des Kreisbogens wird der letzte Punkt der Linie <l> angenommen. |
Beispiel |
|
Methode | ICS.CREATE_RAND [l line][r rand] |
Beschreibung | Erzeugt aus der Linie <line> einen Rand. |
Beispiel |
|
Methode | ICS.APPEND_RAND_LINE [r rand,l line][r rand] |
Beschreibung | Hängt an einen Rand eine Linie an. |
Beispiel |
|
Methode | ICS.CREATE_AREA [r rand][a flaeche] |
Beschreibung | Erzeugt aus dem Rand eine Fläche. |
Beispiel |
|
Methode | ICS.APPEND_AREA_RAND [a flaeche, r rand][a flaeche] |
Beschreibung | Erzeugt eine Insel in einer bestehenden Fläche. |
Beispiel |
|
Methode | ICS.SET_GATTR [* geometrie, i attr][* geometrie] |
Beschreibung | Setzt das Geometrieattribut für die Geometrie <geometrie>. |
Beispiel |
|
Methode | ICS.GET_GATTR [* geometrie][, i attr] |
Beschreibung | Fragt das Geometrieattribut ab. |
Beispiel |
|
Methode | ICS.ARCPOINT [p ap, p ep, r radius][p mp, b status] |
Beschreibung | Berechnet aus einem durch Anfangspunkt <ap>, Endpunkt <ep> und Radius <r> gegebenen Kreisbogen den Mittelpunkt <mp> auf der Peripherie. Falls <status> TRUE ist, konnte die Berechnung erfolgreich durchgeführt werden. |
Beispiel |
|
Methode | ICS.GEOMRESET [g geom][] |
Beschreibung | Setzt den internen Lesezeiger der Geometrie <geom> auf die erste Subgeometrie von <geom> (Vorbereitungsmethode für ICS.GEOMSCAN). ICS.GEOMRESET kann nicht auf Punkte angewendet werden. |
Beispiel |
|
Methode | ICS.GEOMSCAN [g geom][g subgeom, b status] |
Beschreibung | Liest die nächste Subgeometrie <subgeom> der Geometrie <geom>. Falls keine Subgeometrie mehr existiert, wird als <status> FALSE zurückgeliefert. ICS.GEOMSCAN kann nicht auf Punkte angewendet werden. |
Beispiel |
|
Methode | ICS.GEOMSCAN_LINEARC [l geom][p p3 , p p2, p p1, i status] |
Beschreibung | Liest die nächste Linie bzw. den nächsten Kreisbogen einer Liniengeometrie <l>. Bei einer Linie werden die beiden Endpunke (<p1>, <p2>) und bei einem Kreisbogen die Endpunkte (<p1>, <p3>) und ein Stützpunkt <p2> auf der Peripherie zurückgegeben. Der <status> hat folgende Bedeutung: 0: Fehler bzw. keine Linien oder Kreisbögen mehr vorhanden. 1: Es wurde eine Linie gelesen. 2: Es wurde ein Kreisbogen gelesen. |
Beispiel |
|
Methode | ICS.GEOM_HAS_ARCS [g geom][b status] |
Beschreibung | Ermittelt ob die Geometrie
Kreisbögen beinhaltet. Wenn die Geometrie Kreisbögen
beinhaltet, wird als status
TRUE zurückgegeben, sonst
FALSE . Nur Linien, Flächen und Ränder
können Kreisbögen beinhalten. |
Beispiel |
|
Methode | ICS.GEOM_HAS_HOLES [g geom][b status] |
Beschreibung | Ermittelt ob die Geometrie
Löcher beinhaltet. Wenn die Geometrie Löcher beinhaltet,
wird als status TRUE
zurückgegeben, sonst FALSE . Nur Flächen
können Löcher beinhalten. |
Beispiel |
|
Methode | ICS.GET_POINT_INSIDE [a flaeche][p point] |
Beschreibung | Berechnet einen Punkt <point> der sicher innerhalb der Fläche <flaeche> liegt. Inseln werden bei der Berechnung berücksichtigt. |
Beispiel |
|
Methode | ICS.GET_AREA [a flaeche][r flaecheninhalt] |
Beschreibung | Berechnet den Flächeninhalt der Fläche <flaeche>. Inseln werden bei der Berechnung berücksichtigt. |
Beispiel |
|
Methode | ICS.IS_INSIDE_AREA [a area, p point][b status] |
Beschreibung | Berechnet ob ein Punkt innerhalb einer Fläche liegt. Falls ja gibt die Methode das Argument TRUE zurück. Falls nein gibt die Methode das Argument FALSE zurück. |
Beispiel |
|
Methode | ICS.IS_INSIDE_FENCE [a fence, b overlap, g geom][b status] |
Beschreibung | Berechnet ob eine Geometrie
innerhalb eines Fences liegt. Falls ja gibt die Methode das
Argument TRUE zurück. Falls nein, gibt
die Methode das Argument FALSE zurück.
Der Fence muss eine Fläche sein. Die Geometrie kann ein
Punkt, eine Linie oder eine Fläche sein. Mit
overlap kann bestimmt werden, ob die
Berechnung im Modus overlap oder inside ausgeführt werden
soll. Kreisbögen werden berücksichtigt. Löcher in der Fläche
des Fence oder in der Fläche einer Geometrie werden
berücksichtigt. Bei der Berechnung von Flächen als Geometrie
wird die Flächen getestet und nicht nur die
Begrenzungslinien der Fläche. Das heisst zum Beispiel beim
Modus overlap , dass eine Fläche die den
Fence umfasst, innerhalb des Fences ist. Die
Begrenzungslinien des Fences gehören ebenfalls zum Fence.
Das heisst zum Beispiel, dass ein Punkt der auf der
Begrenzungslinie des Fences liegt, innerhalb des Fences
ist. |
Beispiel |
|
Methode | ICS.IS_INSIDE_FENCE_AND_BORDER [a fence, b overlap, g geom][b status] |
Beschreibung | Analog zur Methode
ICS.IS_INSIDE_FENCE mit dem Unterschied,
dass die Begrenzungslinien des Fences nicht zum Fence
gehören. Das heisst zum Beispiel, dass ein Punkt der auf der
Begrenzungslinie des Fences liegt, nicht innerhalb des
Fences ist. |
Beispiel |
|
Methode | ICS.FENCE_CUT [a fence, g geom][li list of geometries, b status] |
Beschreibung | Berechnet die Verschneidung
einer Geometrie mit einem Fence. Der Fence muss eine
Geometrie vom Typ area sein. Die
Geometrie kann vom Typ point ,
line oder area sein.
Ist die ganze Geometrie ausserhalb des Fences, so wird der
status mit FALSE ohne
Liste zurückgegeben. Ist die ganze Geometrie oder Teile der
Geometrie innerhalb des Fence, so wird der
status mit TRUE und
die Teilgeometrien in einer Liste list
zurückgegeben. Die Geometrien werden immer als Liste
zurückgegeben, auch wenn die ganze Geometrie innerhalb des
Fence liegt. |
Beispiel |
|
Methode | ICS.GEOMMOVE [g geom, p vector][g geom] |
Beschreibung | Verschiebt eine Geometrie um einen Vektor. |
Beispiel |
|
Methode | ICS.GEOMSCALE [g geom, r scale][g geom] |
Beschreibung | Skaliert eine Geometrie um den Nullpunkt. |
Beispiel |
|
Methode | ICS.GEOMSCALE2 [g geom, p point, r scale][g geom] |
Beschreibung | Skaliert eine Geometrie um den
Punkt point . |
Beispiel |
|
Methode | ICS.GEOMROT [g geom, r rot][g geom] |
Beschreibung | Rotiert eine Geometrie um den Nullpunkt. |
Beispiel |
|
Methode | ICS.GEOMROT2 [g geom, p point, r rot][g geom] |
Beschreibung | Rotiert eine Geometrie um den
Punkt point . |
Beispiel |
|
Methode | ICS.GEOMROUND [g geom, r resolution][g geom] |
Beschreibung | Rundet eine Geometrie auf die
Resolution. Für Millimeter resolution =
0.001 . |
Beispiel |
|
Methode | ICS.STROKE [g geom, r tolerance][g geom] |
Beschreibung | Löst alle Kreisbögen in einer Geometrie in Liniensegmente auf. Ein Kreisbogen wird gleichmässig in Liniensegemente aufgelöst, bis die Toleranz unterschritten ist. tolerance > 0.0 : Die Toleranz ergibt sich aus dem Verhältnis der Pfeilhöhe zum Radius eines Kreisbogens. tolerance = 0.0 : Der Kreisbogen wird in den Anfangs- und Endpunkt und dem Punkt auf dem Kreisbogen aufgelöst. tolerance < 0.0 : Die Toleranz ist ein absoluter Wert in Meter, der die maximale Pfeilhöhe definiert. |
Beispiel |
|
Methode | ICS.GET_LENGTH [l line][r length] |
Beschreibung | Berechnet die Länge einer Linie. Die Linie kann Lines oder Arcs beinhalten. Die Länge wird nur planar -x/y- berechnet. Falls die Länge nicht berechnet werden kann, gibt die Methode NULL zurück. |
Beispiel |
|
Methode | ICS.GET_LENGTH2 [g geometry][r length] |
Beschreibung | Berechnet die Länge eines Punktes, Linie oder Fläche. Bei einem Punkt ist die Länge=0.0. Bei einer Fläche entspricht das Resultat der Summe der Längen aller Ränder. Linienelement können Lines oder Arcs beinhalten. Die Länge wird nur planar -x/y- berechnet. Falls die Länge nicht berechnet werden kann, gibt die Methode NULL zurück. |
Beispiel |
|
Methode | ICS.GET_ARC_CENTER [l arc][p point] |
Beschreibung | Berechnet den Zentrumspunkt eines Kreisbogens. Falls die Geometrie kein Arc ist, wird NULL zurückgegeben. |
Beispiel |
|
Methode | ICS.GET_ARC_RADIUS [l arc][r radius] |
Beschreibung | Berechnet den Bogenradius eines Kreisbogens. Falls die Geometrie kein Arc ist, wird NULL zurückgegeben. |
Beispiel |
|
Methode | ICS.EXTEND_LINE [l line, r distance][] |
Beschreibung | Verlängert eine Linie am Anfang
oder Ende. Mit einer positiven distance
wird die Linie am Ende (letztes Segment) verlängert. Mit
einer negative distance wird die Linie am
Anfang (erstes Segment) verlängert. Die Input-Geometrie
bleibt unverändert in folgenden Fällen: es ist keine Linie,
das zu verlängernde Segment ist ein Kresibogen, das zu
verlängernde Segment hat keine Ausdehnung. |
Beispiel |
|
Methode | ICS.CALC_POINT_AT [l line, r distance][r orientation, p point] |
Beschreibung | Berechnet einen Punkt und die Richtung am Punkt entlang einer Linie vom Anfangspunkt mit der Distanz. Die Linie kann Lines oder Arcs beinhalten. Der Punkt wird nur planar -x/y- berechnet. Falls die Distanz länger als die Linienlänge ist, wird der letzte Punkt der Linie mit seiner Orientierung zurückgegeben.. Falls keine Berechnung durchgeführt werden kann, werden die Werte als NULL zurückgegeben. |
Beispiel |
|
Methode | ICS.CALC_POINT_AT2 [l line, r distance, r cross][r orientation, p point] |
Beschreibung | Berechnet einen Punkt und die Richtung am Punkt entlang einer Linie vom Anfangspunkt mit der Distanz und der Querdistanz. Die Linie kann Lines oder Arcs beinhalten. Der Punkt wird nur planar -x/y- berechnet. Eine positive Querdistanz bedeutet rechts in Richtung der Linie. Eine negative Querdistanz bedeutet links in Richtung der Linie. Falls die Distanz länger als die Linienlänge ist, wird der letzte Punkt der Linie mit seiner Orientierung für die Berechnung herangezogen. Falls keine Berechnung durchgeführt werden kann, werden die Werte als NULL zurückgegeben. |
Beispiel |
|
Methode | ICS.PROJECT_POINT [l line, p point][r orientation, p point] |
Beschreibung | Projiziert die kürzeste Distanz eines Punktes auf eine Linie und berechnet den Linienpunkt auf der Linie und dessen Richtung. Ergeben sich mehrere Lösungen mit denselben kürzesten Distanzen, so wird derjenige Linienpunkt berücksichtigt, der die kürzeste Distanz auf der Linie vom Anfangspunkt der Linie aufweist. Der Linienpunkt wird nur planar -x/y- berechnet. |
Beispiel |
|
Methode | ICS.PROJECT_POINT2 [l line, p point][r distance, r length, r orientation, p point] |
Beschreibung | Wie ICS.PROJECT_POINT. Zusätzlich werden als Argumente die Länge (Stationierung) auf der Linie bis zum Linienpunkt und der Querabstand vom Punkt zum Linienpunkt zurückgegeben. Eine positive Querdistanz bedeutet rechts in Richtung der Linie. Eine negative Querdistanz bedeutet links in Richtung der Linie. |
Beispiel |
|
Methode | ICS.PROJECT_POINT_PERPENDICULAR [l line, p point][r orientation, p point, b status] |
Beschreibung | Projiziert einen Punkt als Lot rechtwinklig auf eine Linie und berechnet den Linienpunkt auf der Linie und dessen Richtung. Ergeben sich mehrere Lösungen mit denselben kürzesten Distanzen vom Punkt zum Linienpunkt, so wird derjenige Linienpunkt berücksichtigt, der die kürzeste Distanz auf der Linie vom Anfangspunkt der Linie aufweist. Der Linienpunkt wird nur planar -x/y- berechnet. Falls der Linienpunkt nicht berechnet werden kann, gibt die Methode nur den Status FALSE zurück. |
Beispiel |
|
Methode | ICS.PROJECT_POINT_PERPENDICULAR2 [l line, p point][r distance, r length, r orientation, p point, b status] |
Beschreibung | Wie ICS.PROJECT_POINT_PERPENDICUALR. Zusätzlich werden als Argumente die Länge (Stationierung) auf der Linie bis zum Linienpunkt und der Querabstand vom Punkt zum Linienpunkt zurückgegeben. Eine positive Querdistanz bedeutet rechts in Richtung der Linie. Eine negative Querdistanz bedeutet links in Richtung der Linie. Falls der Linienpunkt nicht berechnet werden kann, gibt die Methode nur den Status FALSE zurück. |
Beispiel |
|
Methode | ICS.PROJECT_GEOM [g geometry1, g geometry2][r distance, p point2, p point1] |
Beschreibung | Projiziert die kürzeste Distanz
einer Geometrie 1 auf eine Geometrie2. Geometrien könne vom
Typ point , line oder
area sein. Die Methode liefert die
kürzeste Distanz , den Punkt 1 auf der Geometrie 1 und den
Punkt 2 auf der Geometrie. Der Berechnung erfolgt nur planar
-x/y. Achtung: Wenn ein Kreisbogen der Geometrie 1 zu einem
Kreisbogen der Geometrie 2 die kürzeste Distanz ergibt, so
ist die Berechnung ungenau. Der Kreisbogenpunkt der einen
Geometrie wird jeweils auf den Kreisbogen der anderen
Geometrie projiziert. |
Beispiel |
|
Methode | ICS.GET_LINE_START_END_POINT [l line][p endpoint , p startpoint] |
Beschreibung | Liefert zu einer Linie den Start-und Endpunkt der Linie. |
Beispiel |
|
Methode | ICS.GET_LINE_START_END_TANGENT_ANGLE [l line][r endangle , r startangle] |
Beschreibung | Liefert zu einer Linie den Start-und Endtangentwinkel der Linie. |
Beispiel |
|
Methode | ICS.COPY_LINE_PARALLEL [l line, r distance, s join, r miterlimit][l line] |
Beschreibung | Kopiert eine Linie parallel um
eine Distanz. Ein positiver Wert für
distance bedeutet ein Kopieren rechts in
Richtung der Linie. Ein negativer Wert für distance bedeutet
ein Kopieren links in Richtung der Linie. Mit
join wird der Verbindungstyp der
Teilsegmente der kopierten Linie bestimmt. Mit
join='bevel' werden die Teilsegmente mit
einer Linie verbunden. Mit join='miter'
werden die Teilsegmente verlängert, bis sie sich kreuzen,
oder bis der Wert von miterlimit erreicht
ist. Mit join='round' werden die
Teilsegmente mit einem Kreisbogen verbunden. |
Beispiel |
|
Methode | ICS.COPY_AREA_BOUNDARY_PARALLEL [a area, r distance, s join, r miterlimit][a area] |
Beschreibung | Kopiert die
Flächenbegrenzungslinien eine Fläche parallel um eine
Distanz . Sind die Fächenbegrenzungslinien im Uhrzeigersinn
gerichtet, so bedeutet ein positiver Wert für
distance ein Kopieren nach innen der
Fläche, ein negativer Wert für distance
ein Kopieren nach aussen der Fläche. Sind die
Fächenbegrenzungslinien gegen den Uhrzeigersinn gerichtet,
so bedeutet ein positiver Wert für
distance ein Kopieren nach aussen der
Fläche, ein negativer Wert für distance
ein Kopieren nach innen der Fläche. Die gewünschte Richtung
den Fächenbegrenzungslinien kann mit den Methoden
ICS.SET_AREA_CLOCKWISE und
ICS.SET_AREA_ANTICLOCKWISE gesetzt
werden. Mit join wird der Verbindungstyp
der Teilsegmente der kopierten Linie bestimmt. Mit
join='bevel' werden die Teilsegmente mit
einer Linie verbunden. Mit join='miter'
werden die Teilsegmente verlängert, bis sie sich kreuzen,
oder bis der Wert von miterlimit erreicht
ist. Mit join='round' werden die
Teilsegmente mit einem Kreisbogen verbunden. |
Beispiel |
|
Methode | ICS.CREATE_AREA_FROM_LINE[l line, r distance, s join, r miterlimit, s caps][a area] |
Beschreibung | Erzeugt einen Linienbuffer (Fläche) um eine Linie durch das parallele Kopieren der Linie nach links und rechts und der Verbindung der kopierten Linien zu einer Fläche. Der Wert für distance gibt die Distanz zum parallelen Kopieren der Linien für die Fläche. Mit Join wird der Verbindungstyp der Teilsegmente der kopierten Linien bestimmt. Mit Join='bevel' werden die Teilsegmente mit einer Linie verbunden. Mit Join='miter' werden die Teilsegmente verlängert, bis sie sich kreuzen, oder bis der Wert von miterlimit erreicht ist. Mit Join='round' werden die Teilsegmente mit einem Kreisbogen verbunden. Mit Caps wird der Verbindungstyp an den Enden der kopierten Linien bestimmt. Mit Caps='bevel' werden die Enden mit einer Linie verbunden. Mit Caps='round' werden die Enden mit einem Kreisbogen verbunden. |
Beispiel |
|
Methode | ICS.EXTRACT_LINE_SEGMENT[l line, r distance, r length][l line] |
Beschreibung | Extrahiert aus einer Linie ein Liniensegment ab der Distanz vom Startpunkt und mit der Länge . |
Beispiel |
|
Methode | ICS.EXTRACT_LINE_PATTERN_SEGMENT[l line, s pattern][li geometry-list] |
Beschreibung | Extrahiert aus einer Linie entsprechend dem Pattern Liniensegmente und gibt diese Geometrien in einer Liste zurück. Der 1. Eintrag im Pattern definiert die Länge des 1. Liniensegmentes. Der 2. Eintrag im Pattern definiert die Distanz vom Ende des 1. zum Anfang des 2. Lininesegment. Der 3. Eintrag im Pattern definiert die Länge des 2. Liniensegmentes. Der 4. Eintrag im Pattern definiert die Distanz vom Ende des 2. zum Anfang des 3. Lininesegment. Und so weiter bis zum Ende des Patterns, danach wiederholt sich das Pattern. |
Beispiel |
|
Methode | ICS.EXTRACT_LINE_PATTERN_POINTS [l line, s pattern, b rot][li geometry-list] |
Beschreibung | Extrahiert aus einer Linie entsprechend dem Pattern Punkte und gibt diese Punkte in einer Liste zurück. Mit dem Boolean rot kann definiert werden, ob dir Rotation auf der Linie für einen Punkt in der z-Koordinate des Punktes zurückgegeben serden soll. Der 1. Eintrag im Pattern definiert die Länge bis zum 1. Punkt. Der 2. Eintrag im Pattern definiert die Länge vom vorherigen bis zum 2. Punkt. Der 3. Eintrag im Pattern definiert die Länge vom vorherigen bis zum 4. Punkt. Und so weiter bis zum Ende des Patterns, danach wiederholt sich das Pattern. |
Beispiel |
|
Methode | ICS.LINEARCS_TO_BEZIER [l line][li list] |
Beschreibung | Approximiert Kreisbögen in einem Linienzug zu Bezier Kurven. Es wird eine Liste von Segmenten zurückgegeben. Ein Segment kann aus einer Geraden oder einer Bezier Kurve bestehen. Eine Gerade besteht aus einer Liste von 2 Punkten. Eine Bezier Kurve besteht aus einer Liste von 4 Stützpunkten. Der letzte Punkt eines Segmentes ist gleich dem ersten Punkt des nächsten Segmentes. Kreisbögen können in mehrer Bezier Kurven approximiert werden. Bezier Kurven werden zum Beispiel bei der Definition von Charctern/Symbolen in Fonts verwendet. |
Beispiel |
|
Methode | ICS.ARC_CIRCLE_PREPARE [l arc, r sweep-angle-limit][l line, b status] |
Beschreibung | Eine Geometrie die exakt ein
Arc-Segment enthält und fast einen Vollkreis bildet, wird in
einen Linienzug mit zwei Arc-Segmenten umgewandelt. Mit
sweep-angle-limit kann die Limite gesetzt
werden. Überschreitet der Sweep-Winkel des Kreisbogens diese
Limite, wird die Verarbeitung durchgeführt und die neue
Geometrie wird zusammen mit dem status
TRUE zurückgegeben. Diese Methode kann angewendet
werden, wenn Kreisbögen in Systeme geschrieben werden
sollen, die Probleme mit Kreisbögen haben die fast einen
Vollkreis bilden. |
Beispiel |
|
Methode | ICS.CREATE_CIRCLE [p point, r radius][l line] |
Beschreibung | Kreiert aus einem Punkt als Kreiszentrum und einem Radius einen Kreis als Linie. Die Linie besteht aus zwei Kreisbögen. Falls der Kreis nicht kreiert werden kann, wird NULL zurückgegeben. |
Beispiel |
|
Methode | ICS.HATCH_AREA [a area, s type, p origin, r angle , r space][li geometry-list] |
Beschreibung | Schraffiert eine Fläche und
gibt die Schraffurlinien als Liste von Linien-Geometrien
zurück. Mit type wird der Schraffurtype
definiert. Falls der Schraffurtype NULL
oder unbekannt ist, gilt Type='absolute'.
Mit type 'absolute' wird absolut vom
Origin mit dem Winkel angle und der
Distanz space schraffiert. Mit
type 'relative' wird relativ zur längsten
Begrenzunglinie der Fläche vom origin mit
dem Winkel angle und der Distanz
space schraffiert.
origin definiert den Schraffurursprung.
Falls origin NULL ist
gilt der origin 0.0/0.0 .
angle definiert den Schraffurwinkel.
space definiert die Schraffurdistanz
zwischen den Linien. |
Beispiel |
|
Methode | ICS.CROSSHATCH_AREA [a area, s type, p origin, r angle , r space, r angle2 , r space2][li geometry-list] |
Beschreibung | Analog wie
ICS.HATCH_AREA mit 2 zusätzlichen
Argumenten angle2 und
space2 , mit denen die Kreuzschraffur
analog den Argumenten angle und
space definiert wird. |
Beispiel |
|
Methode | ICS.PATTERN_AREA [a area, s type, p origin, r angle , r space-vertical, r offset][li geometry-list] |
Beschreibung | Pattert eine Fläche und gibt
die Pattern-Punkte als Liste von Punkt-Geometrien zurück.
Mit type wird der Patterntype definiert.
Falls der Patterntype NULL oder unbekannt
ist, gilt type 'absolute '. Mit
type 'absolute' wird absolut vom
origin mit dem Winkel
angle und der Distanz
space gepattert. Mit type
'relative' wird relativ zur längsten
Begrenzunglinie der Fläche vom Origin mit dem Winkel
angle und der Distanz
space gepattertt.
origin definiert den Patternursprung.
Falls origin NULL ist gilt der
origin 0.0/0.0 . angle
definiert der Patternwinkel.
space -vertical
definiert die vertikale Patterndistanz zwischen den Punkten.
offset definiert den horizontalen Offset
eines Punktes auf jeder zweiten Pattern-Linie, relativ zum
Patternwinkel. |
Beispiel |
|
Methode | ICS.PATTERN_AREA2 [a area, s type, p origin, r angle , r space-vertical , r space-horizontal, r offset, b random][li geometry-list] |
Beschreibung | Analog wie
ICS.PATTERN_AREA mit 2 zusätzlichen
Argumenten space-horizontal und
random .
space -horizontal
definiert die horizontale Patterndistanz zwischen den
Punkten. random definiert, dass der Punkt
zuffällig um den berechneten Punkt ermittelt werden
soll. |
Beispiel |
|
Methode | ICS.SET_AREA_CLOCKWISE [a area][a area] |
Beschreibung | Setzt den Drehsinn der Geometrien des äusseren Randes einer Fläche auf den Uhrzeigersinn. Setzt den Drehsinn der Geometrien der Ränder von Inseln der Fläche auf den Gegenuhrzeigersinn. |
Beispiel |
|
Methode | ICS.SET_AREA_ANTICLOCKWISE [a area][a area] |
Beschreibung | Setzt den Drehsinn der Geometrien des äusseren Randes einer Fläche auf den Gegenuhrzeigersinn. Setzt den Drehsinn der Geometrien der Ränder von Inseln der Fläche auf den Uhrzeigersinn. |
Beispiel |
|
Methode | ICS.GEOM_CLEAN [g geometry][g|li geometry or list, b status] |
Beschreibung | Bereinigt eine Geometrie. Der
Input kann ein Punkt, eine Linie oder eine Fläche sein. Die
Anwendung der Methode ist zum Beispiel notwendig, wenn
Geometrien in ein Geometrie-restrikives System geschrieben
werden. Zum Beispiel zur Elimination von doppelten Punkten
in einem Linienzug. Die Methode gibt einen Status zurück, ob
die Geometrie berinigt wurde oder nicht. Status =
FALSE , die Geometrie wurde nicht
bereinigt, Status = TRUE , die Geometrie
wurde bereinigt, die bereinigte Geometrie wird zusätzlich
zrückgegeben. Die bereinigte Geometrie kann eine Geometrie,
eine Liste von Geometrien oder NULL sein.
Bei der Bereinigung erfolgt keine Umwandlung des Typs der
Geometrie. Zum Beispiel wird eine nicht geschlossene Fläche
nicht in eine Linie umgewandelt. Die Methode legt in der Map
GEOM_CLEAN_STATUS Informationen über die
Bereiningung der Geometrie ab. Mit
ICS.GEOM_CLEAN_SYSTEM_SET kann das System
definiert werden, nach dessen Krtiterien die Geometrie
bereinigt werden soll . Mit
ICS.GEOM_CLEAN_RESOLUTION_SET kann die
Auflösung für die Bereiningung definiert werden. Zur
funktionsweise siehe dazu mehr im Appendix. |
Beispiel |
|
Methode | ICS.GEOM_CLEAN_SYSTEM_SET [s system][] |
Beschreibung | Setzt für die Methode
ICS.GEOM_CLEAN das System, nach dessen
Kriterien die Geometrie bereiningt werden soll. Werte sind
ORACLE oder
ESRI . |
Beispiel |
|
Methode | ICS.GEOM_CLEAN_RESOLUTION_SET [r resolution][] |
Beschreibung | Setzt für die Methode
ICS.GEOM_CLEAN die Auflösung für die
Bereinigung der Geometrie. Der Default ist 0.001. |
Beispiel |
|
Methode | ICS.GEOM_CLEAN_STATUS_DESCR_GET [i status][s description] |
Beschreibung | Die Methode
ICS.GEOM_CLEAN legt in der Map
GEOM_CLEAN_STATUS Informationen über die
Bereiningung der Geometrie ab. Die Map beinhaltet diverse
Status-Codes mit jeweils einer Liste von Geometrien, die
Bereinigungen betreffen. Mit dieser Funktion kann die
Beschreibung zu einem Status ermittelt werden. |
Beispiel |
|
Methode | ICS.LINE_INTERSECTION [l line1, l line2][li list of points, b status] |
Beschreibung | Berechnet den Linienverschnitt
zweier Linien. Konnten Punkte berechnet werden, bringt die
Methode den Status TRUE und einen Liste
der Punkte zurück. Konnten keine Punkte berechnet werden,
bringt die Methode den Status FALSE ohne
Liste zurück. Die Liste der Punkte beinhaltet Punkte, in
denen beide Input-Linien sich schneiden oder
berühren. |
Beispiel |
|
Methode | ICS.AREA_INTERSECTION [a area1, a area2][li list of areas, b status] |
Beschreibung | Berechnet den Flächenverschnitt
zweier Flächen mit dem boolschen Operator AND. Konnten
Flächen berechnet werden, bringt die Methode den Status
TRUE und einen Liste der Flächen zurück.
Konnten keine Flächen berechnet werden, bringt die Methode
den Status FALSE ohne Liste zurück. Die
Liste der Flächen beinhaltet Flächen, in denen beide
Input-Flächen vorkommen. |
Beispiel |
|
Methode | ICS.AREA_DIFFERENCE [a area1, a area2][li list of areas, b status] |
Beschreibung | Berechnet den Flächenverschnitt
zweier Flächen mit dem boolschen Operator XOR. Konnten
Flächen berechnet werden, bringt die Methode den Status
TRUE und einen Liste der Flächen zurück.
Konnten keine Flächen berechnet werden, bringt die Methode
den Status FALSE ohne Liste zurück. Die
Liste der Flächen beinhaltet Flächen, in denen jeweils nur
eine der beiden Input-Flächen vorkommt. |
Beispiel |
|
Methode | ICS.AREA_UNION [a area1, a area2][li list of areas, b status] |
Beschreibung | Berechnet den Flächenverschnitt
zweier Flächen mit dem boolschen Operator OR. Konnten
Flächen berechnet werden, bringt die Methode den Status
TRUE und einen Liste der Flächen zurück.
Konnten keine Flächen berechnet werden, bringt die Methode
den Status FALSE ohne Liste zurück. Die
Liste der Flächen beinhaltet Flächen, in denen eine oder
beide der Input-Flächen vorkommen. Eine erfolgreiche
Berechnung ergibt immer nur eine Fläche. Diese Fläche wird
wie in den anderen boolschen Flächenverschnitten in einer
Liste zurückgegeben. |
Beispiel |
|
Methode | ICS.GET_AREA_LINE_LIST [a area][li list] |
Beschreibung | Liest alle Linien aller Ränder einer Fläche und bringt diese Linien als Liste zurück. |
Beispiel |
|
Methode | ICS.CALC_BOUNDING_BOX [g geometrie][p pointmax, p pointmin] |
Beschreibung | Berechnet zu einer Geometrie point, line oder area die maximale 2D-Ausdehung. Die Methode liefert auf dem Stack die minimalen ind maximalen Koordinaten der Ausdehnung je als point. |
Beispiel |
|
Methode | ICS.CALC_BOUNDING_BOX3D [g geometrie][p pointmax, p pointmin] |
Beschreibung | Berechnet zu einer Geometrie point, line oder area die maximale 3D-Ausdehung. Die Methode liefert auf dem Stack die minimalen ind maximalen Koordinaten der Ausdehnung je als point. |
Beispiel |
|
Methode | ICS.VADD [g geometrie, p vector][g geometrie] |
Beschreibung | Verschiebt eine Geometrie um einen Vektor. |
Beispiel |
|
Methode | ICS.VDIFF [p point1, p point2][p vector] |
Beschreibung | Berechnet den Vektor als Punkt
von point2 zu
point1 . |
Beispiel |
|
Methode | ICS.VSCAL [g geometrie, r scale][g geometrie] |
Beschreibung | Skaliert eine Geometrie um den Nullpunkt. |
Beispiel |
|
Methode | ICS.AZI [g point|line][r azimut] |
Beschreibung | Berechnet für einen Punkt oder eine Linie das Azimut. Bei einem Punkt relativ zum Nullpunkt. Bei einer Linien vom Endpunkt zum Startpunkt. |
Beispiel |
|
Methode | ICS.GEOMSET2D [g geometrie][g geometrie] |
Beschreibung | Transferiert eine 3D-Geometrie in eine 2D-Geometrie. Ist die Geometrie bereits eine 2D-Geometrie, bleibt diese unverändert. |
Beispiel |
|
Methode | ICS.GEOMSET3D [g geometrie, r z, b zkeep][g geometrie] |
Beschreibung | Transferiert eine 2D-Geometrie
in eine 3D-Geometrie mit der Z-Koordinate
z . Ist die Geometrie bereits eine
3D-Geometrie, so kann mit zkeep=TRUE
definiert werden, dass die z-Koordinate beibehalten wird,
oder mit zkeep=FALSE, dass die
z-Koordinate mit z überschrieben
wird |
Beispiel |
|
Methode | ICS.GEOMIS2D [g geometrie][b is2D] |
Beschreibung | Ermittelt ob alle Punkte einer Geometrie 2D-Koordinaten aufweisen. Das heisst auch, es kommen keine 3D-Koordinaten vor. |
Beispiel |
|
Methode | ICS.GEOMIS3D [g geometrie][b is3D] |
Beschreibung | Ermittelt ob alle Punkte einer Geometrie 3D-Koordinaten aufweisen. |
Beispiel |
|
Methode | ICS.GET_TIME [][i <HHMMSS>] |
Beschreibung | Liefert die aktuelle Systemzeit im Format HHMMSS als Integer. |
Beispiel |
|
Methode | ICS.GET_DATE [][i <YYYYMMDD>] |
Beschreibung | Liefert das aktuelle Systemdatum im Format YYYYMMDD als Integer . |
Beispiel |
|
Methode | ICS.GET_DAYNAME [s <language>][s <day>] |
Beschreibung | Liefert den Namen des Tages des
aktuellen Systemdatum. Als
<language> werden folgende Codes
unterstützt: DE|FR|IT|EN . |
Beispiel |
|
Methode | ICS.DATE_TO_DAY [i <yyyymmdd>][i <day>] |
Beschreibung | Liefert von einem Date den Wochentag als Integer 0..6 (Sonntag..Samstag). |
Beispiel |
|
Methode | ICS.INT_TO_DAYNAME [i <day>,s <language>][s <day>] |
Beschreibung | Konvertiert einen Tag als
Integer in den Namen des Tages. Als <day> als Integer
werden folgende Werte berücksichtigt 0..6
(Sonntag..Samstag). Als <language>
werden folgende Codes unterstützt:
DE|FR|IT|EN . |
Beispiel |
|
Methode | ICS.GET_MONTHNAME [s <language>][s <month>] |
Beschreibung | Liefert den Namen des Monats
des aktuellen Systemdatum. Als
<language> werden folgende Codes
unterstützt: DE|FR|IT|EN . |
Beispiel |
|
Methode | ICS.DATE_TO_MONTH [i <yyyymmdd>][i <month>] |
Beschreibung | Liefert von einem Date den Monat als Integer 1..12 (Januar..Dezember). |
Beispiel |
|
Methode | ICS.INT_TO_MONTHNAME [i <month>,s <language>][s <month>] |
Beschreibung | Konvertiert einen Monat als
Integer in den Namen des Monats. Als <month> als
Integer werden folgende Werte berücksichtigt 1..12
(Januar..Dezember). Als <language>
werden folgende Codes unterstützt:
DE|FR|IT|EN . |
Beispiel |
|
Methode | ICS.GET_SECONDS [][i <seconds>] |
Beschreibung | Liefert die Sekunden seit dem Datum 1.1.1970 . |
Beispiel |
|
Methode | ICS.SECONDS_TO_HOURS [i <seconds>][i <HHMMSS>] |
Beschreibung | Rechnet Sekunden in Stunden im Format HHMMSS als Integer um. |
Beispiel |
|
Methode | ICS.HOURS_TO_SECONDS [i <HHMMSS>][i <seconds>] |
Beschreibung | Rechnet Stunden im Format HHMMSS als Integer in Sekunden um. |
Beispiel |
|
Methode | ICS.DATE_DIFF [i <YYYYMMDD>, i <YYYYMMDD>][i <days>] |
Beschreibung | Berechnet die Anzahl Tage zwischen zwei Dati im Format YYYYMMDD als Integer. |
Beispiel |
|
Methode | ICS.TIME_DIFF [i <HHMMSS>, i <HHMMSS>][i <HHMMSS>] |
Beschreibung | Berechnet die Zeit zwischen zwei Zeiten. Alle Zeiten im Format HHMMSS als Integer. |
Beispiel |
|
Methode | ICS.DATE_TIME_DIFF [i <YYYYMMDD> i <HHMMSS>, i <YYYYMMDD> i <HHMMSS>][i <HHMMSS>] |
Beschreibung | Berechnet die Zeit zwischen zwei Dati mit Zeiten. Alle Dati im Format YYYYMMDD als Integer.. Alle Zeiten im Format HHMMSS als Integer. |
Beispiel |
|
Methode | ICS.TIME_ADD [i <HHMMSS>, i <HHMMSS>][i <HHMMSS>] |
Beschreibung | Addiert zwei Zeiten. Alle Zeiten im Format HHMMSS als Integer. |
Beispiel |
|
Methode | ICS.TIME_MINUS [i <HHMMSS>, i <HHMMSS>][i <HHMMSS>] |
Beschreibung | Subtrahiert zwei Zeiten. Alle Zeiten im Format HHMMSS als Integer. |
Beispiel |
|
Methode | ICS.SECONDS_TO_DATE_TIME [i <seconds>][i <HHMMSS>, i <YYYYMMSS>] |
Beschreibung | Konvertiert Sekunden in ein
Datum im Format YYYYMMDD als Integer und in eine Zeit im
Format HHMMSS als Integer. Die Sekunden entsprechen den
Anzahl Sekunden seit dem 1.1.1970 ermittelt mit
ICS.GET_SECONDS . |
Beispiel |
|
Methode | ICS.DATE_TIME_TO_SECONDS [i <YYYYMMSS>, i <HHMMSS>][i <seconds>] |
Beschreibung | Konvertiert ein Datum im Format
YYYYMMDD als Integer und eine Zeit im Format HHMMSS als
Integer in Sekunden. Die Sekunden entsprechen den Anzahl
Sekunden seit dem 1.1.1970 ermittelt wie mit
ICS.GET_SECONDS . |
Beispiel |
|
Methode | ICS.TIME_TO_STRING [i <HHMMSS>][s <HH.MM.SS>] |
Beschreibung | Konvertiert eine Zeit im Format HHMMSS als Integer in einen String im Format 'HH:MM:SS'. |
Beispiel |
|
Methode | ICS.STRING_TO_TIME [s <'HH:MM:SS'>][i <HHMMSS>] |
Beschreibung | Konvertiert eine Zeit im Format 'HH:MM:SS' als String in einen Integer im Format HHMMSS. |
Beispiel |
|
Methode | ICS.DATE_TO_STRING [i <YYYYMMSS>][s <DD.MM.YYYY>] |
Beschreibung | Konvertiert ein Datum im Format YYYYMMDD als Integer in einen String im Format 'DD.MM.YYYY'. |
Beispiel |
|
Methode | ICS.STRING_TO_DATE [s <'DD.MM.YYYY'>][i <YYYYMMDD>] |
Beschreibung | Konvertiert ein dATUM im Format 'DD.MM.YYYYY' als String in einen Integer im Format YYYYMMDD. |
Beispiel |
|
Methode | ICS.DATE_TO_STRING2 [i <YYYYMMSS> s <language>][s <DD. month YYYY>] |
Beschreibung | Konvertiert ein Datum im Format
YYYYMMDD als Integer in einen String im Format 'DD. month
YYYY'. Als <language> werden
folgende Codes unterstützt:
DE|FR|IT|EN |
Beispiel |
|
Methode | ICS.HALT [][] |
Beschreibung | Bricht die Ausführung des aktuellen Skripts sofort ab. |
Beispiel |
|
Methode | ICS.CALL [s prozedurname][] |
Beschreibung | Ruft die Prozedur <prozedurname> auf. Der Prozedurname muss als String übergeben werden. Falls die Prozedur nicht existiert, wird der Skript abgebrochen. |
Beispiel |
|
Methode | ICS.CALLED_BY [s prozedurname][b status] |
Beschreibung | Testet ob eine Prozedur von einer anderen Prozedur <prozedurename> aufgerufen wurde. |
Beispiel |
|
Methode | ICS.OSCALL [s befehl][i status] |
Beschreibung | Führt den Betriebsystembefehl <befehl> aus. Der Skriptinterpreter wartet auf die Beendigung des Befehls. In <status> wird der Beendigungsstatus des Betriebssystembefehls zurückgegeben (0 = erfolgreiche Durchführung). |
Beispiel |
|
Methode | ICS.GETENV [s <var>][s <value>,b <status>] |
Beschreibung | Liefert den Wert der Umgebungsvariablen <var> in <value> zurück. Falls die Umgebungsvariable existiert, wird für den Status TRUE zurückgegeben. |
Beispiel |
|
Methode | ICS.GET_WORKING_DIRECTORY [][s <dir>] |
Beschreibung | Liefert das aktuelle
Arbeitsverzeichnis. (Siehe auch Methoden der Klasse
DIRECTORY ). |
Beispiel |
|
Methode | ICS.GET_COMPUTERNAME [][s <name>] |
Beschreibung | Liefert den aktuellen Computernamen. |
Beispiel |
|
Methode | ICS.GET_SYSTEMLANGUAGE [][s <language>] |
Beschreibung | Liefert die aktuelle Systemsprache. |
Beispiel |
|
Methode | ICS.GET_SYSTEMLANGUAGECODE [][s <languagecode>] |
Beschreibung | Liefert den 2-stelligen ISO-Code der aktuellen Systemsprache. |
Beispiel |
|
Methode | ICS.GET_USERNAME [][s <name>] |
Beschreibung | Liefert den aktuellen Benutzernamen. |
Beispiel |
|
Methode | ICS.INCR_ERROR_COUNT [][] |
Beschreibung | Erhöht den aktuellen
Fehlerzähler um 1. Bemerkung: Von ERROR
wird automatisch ICS.INCR_ERROR_COUNT
aufgefrufen. |
Beispiel |
|
Methode | ICS.GET_ERROR_COUNT [][i count] |
Beschreibung | Fragt den aktuellen Fehlerzähler ab. |
Beispiel |
|
Methode | ICS.SET_ERROR_COUNT [i count][] |
Beschreibung | Setzt den aktuellen
Fehlerzähler auf <count> . |
Beispiel |
|
Methode | ICS.GET_GUID [][s guid] |
Beschreibung | Liefert einen GUID (Globally Unique Identifier), eine eindeutige 128-Bit Nummer welche vom Windows-System generiert wird. Der GUID wird als Hexadezimal-String mit der Länge von 38 Zeichen inklusive 6 Format-Zeichen zurückgegeben. |
Beispiel |
|
Methode | ICS.GET_GUID_RAW [][s guid] |
Beschreibung | Liefert einen GUID (Globally Unique Identifier), eine eindeutige 128-Bit Nummer welche vom Windows-System generiert wird. Der GUID wird als Hexadezimal-String mit der Länge von 32 Zeichen ohne Format-Zeichen zurückgegeben. |
Beispiel |
|
Methode | ICS.GET_STRING_MD5 [s string][s md5] |
Beschreibung | Liefert für einen String einen eindeutigen Schlüssel als String. Der Schlüssel entspricht dem MD5-128-Bit-Hashwert in Hexadezimaler Schreibform (MD5 = Message-Digest Algorithm 5). Falls der Schlüssel nicht berechnet werden kann, liefert die Methode NULL zurück (z.B. bein einem Input <> string). |
Beispiel |
|
Methode | ICS.GET_FILE_MD5 [s file][s md5] |
Beschreibung | Liefert für ein File einen eindeutigen Schlüssel als String. Der Schlüssel entspricht dem MD5-128-Bit-Hashwert in Hexadezimaler Schreibform (MD5 = Message-Digest Algorithm 5). Falls der Schlüssel nicht berechnet werden kann, liefert die Methode NULL zurück (z.B. das File existiert nicht). Die Methode kann eingesetzt werden, um festzustellen, ob zwei Files identisch sind. Liefert die Methode unterschiedliche Schlüssel, so sind die Files nicht identisch. |
Beispiel |
|
Methode | ICS.EXPAND_ICS_PATH [s file][s file, b status] |
Beschreibung | Expandiert einen relativen Pfad
eines Files zum vollen Pfad in der ICS-Struktur. Sucht das
File nach folgender Reihenfolge: 1. absoluter Pfad, 2. Pfad
unter ILTOOLS_DIR\user , 3. Pfad
unter ILTOOLS_DIR\system , 4. Pfad unter
ILTOOLS_DIR , 5. Pfad wie
Hauptkonfiguration, 6. Pfad wie Hauptkonfiguration aber
unter ILTOOLS_DIR\system . Wird das File
nicht gefunden, wird als Status FALSE
zurückgegeben. |
Beispiel |
|
Methode | ICS.INCLUDE [s script][b status] |
Beschreibung | Inkludiert ein Script-File.
Analg der Direktive |INCL . Mit dieser
Methode können dynamisch Scripts geladen werden. |
Beispiel |
|
Methode | ICS.INCLUDES_DISPLAY [][] |
Beschreibung | Displays alle inkludierten Scripts. |
Beispiel |
|
Methode | ICS.INCLUDES_GET [][li list] |
Beschreibung | Gibt alle inkludierten Scripts als Liste zurück. |
Beispiel |
|
Methode | ICS.SCRIPT_GET [][s script] |
Beschreibung | Liefert das aktuelle Script. |
Beispiel |
|
Methode | ICS.SET_NEXT_SCRIPT [s script][] |
Beschreibung | Setzt ein Skript, das nach dem Ausführen des aktuellen Skripts ausgeführt werden soll. Durch den mehrmaligen Aufruf dieser Methode können auch weitere Skripts zur Ausführung gesetzt werden. Die Skripts werden in der Reihenfolge ausgeführt, wie dieses gesetzt wurden. Das zuerst gesetzte Script wird zuerst ausgeführt. Das zuletzt gesetzte Script wird zuletzt ausgeführt. |
Beispiel |
|
Methode | ICS.SET_NEXT_SCRIPT_OPTION [s option, s value][] |
Beschreibung | Zu einem mit
ICS.SET_NEXT_SCRIPT gesetzten Script
können nachfolgend mit dieser Methode Optionen für das
Script gesetzt werden. |
Beispiel |
|
Methode | ICS.GET_MAIN_PROGRAM [][s program] |
Beschreibung | Gibt das aktuelle Hauptprogramm
mit dem Pfad zurück, ..\icsw.exe oder
..\ics.exe . |
Beispiel |
|
Methode | ICS.IS_BATCH_PROGRAM [][b status] |
Beschreibung | Gibt zurück, ob das aktuelle
Hauptprogram ics.exe ist.
ics.exe wird für Batch-Prozesse
eingesetzt. |
Beispiel |
|