DistributedParallels [PSO] |
Top Previous Next |
Parallelen in unterschiedlichen Objekten erzeugen Die Funktion erfragt einen Text, der die Zuordnung der einzelnen Parallelen zu Objektschlüsseln, Zeichenschlüsseln und Layern entsprechend der Konfigurationsdatei (s.u.) bestimmt. Danach wird die Funktion GeneralParallels (PAS) aufgerufen und die Parallelen werden erzeugt. Die Funktion kann die Richtung der Parallelen bestimmen, diese am Anfang und/oder am Ende zusammenführen, einzelne Parallelen auslassen und für jede Linie den Zeichenschlüssel, den Flächenschlüssel, den Objektschlüssel und den Blattyp bestimmen. Den Objekten der Parallelen können Attribute hinzugefügt werden.
Parameter NAME/<Bezeichner> Der mit NAME übergebene Wert bildet zusammen mit der Vorsilbe PSO_ den Bezeichner für die Definitionen der Konfigurationsdatei (s.u.). Z. B. mit NAME/MSP lautet er PSO_MSP. Der Defaultwert für den Bezeichner lautet PSO. Voraussetzungen Die Datenbank muß eröffnet sein Ein Stringelement muß eröffnet sein. Definition der Objekteigenschaften und Attribute Die Objekteigenschaften und die Attribute für die Objekte der Parallelen müssen in einer Konfigurationsdatei mit der Dateiendung .dat definiert werden. Das Verzeichnis für die Datei wird durch GDS$MESSAGE bestimmt, ihr Standardwert lautet Moskito\rahmen\messages. Empfohlen ist das Anlegen einer eigenen Datei, z.B. pso.dat, die Definitionen können aber auch in eine bereits existierende Datei eingefügt werden. Die Definitionen haben das folgende Format, wobei optionale Bestandteile in eckigen Klammern stehen: --- PSO <Meldungsnummer> [! Kommentar] <Objektschlüssel> <DKY> <DKA> <Blatttyp> [KEY <Zusatzschlüssel>] [QTX ASK <Attributname> <Defaultwert>] [QTX EVAL <Attributname> <Ausdruck>] [QTX FORCE <Attributname> <Attributwert>] “PSO“ ist der Defaultname der Definitionen, er kann mit dem Parameter NAME geändert werden. Die Meldungsnummer ist die Summe von 256 und dem ASCII-Code eines Buchstabens außer A und E. Der Buchstabe wird später im Zuordnungsstring verwendet. Z. B. gehört zu einem B oder b die Meldung PSO 256+66= PSO 322. Auf die Meldungsnummer darf hinter einem Ausrufezeichen ein Kommentar folgen. Objektschlüssel, DKY, DKA und Blatttyp bestimmen die entsprechenden Eigenschaften der Objekte für die Parallelen. Zusatzschlüssel werden mit dem Schlüsselwort KEY, gefolgt von der Schlüsselnummer, definiert. Danach können optional Attribute für die neuen Objekte definiert werden. Sie beginnen mit dem Schlüsselwort QTX, gefolgt von ASK, EVAL oder FORCE, dem Attributnamen und einem Wert oder Ausdruck. Bei ASK wird der Defaultwert vorgeschlagen und kann übernommen oder geändert werden. Bei EVAL wird der Attributwert aus einem Ausdruck berechnet, und bei FORCE erhält das Attribut den vorgegebenen Attributwert. Wenn Default- oder Attributwerte aus mehreren durch Leerzeichen voneinander getrennten Wörtern bestehen, dann müssen sie in Hochkommata eingeschlossen werden. Wird kein Wert oder ein Leerstring in Hochkommata eingegeben, so erhält das Attribut als Wert einen Leerstring. Siehe unten für das Beispiel einer Definiton. Rückgabewert
Dialog Zuordnungsstring der Parallelen(-/A/E/Space/...): Jedes eingegebene Zeichen steht für eine Sonderfunktion oder eine Parallele. Die Sonderfunktionen sind das Leerzeichen ‘ ‘, ‘A‘, ‘E‘ und das Minuszeichen ‘-‘. Die Bedeutungen der Zeichen sind: Leerzeichen Die Parallele wird ausgelassen. A Der Anfang wird geschlossen E Das Ende wird geschlossen - Die Parallelen werden nach rechts gezeichnet Alle anderen Es wird eine Parallele angelegt. Die Eigenschaften des Objekts werden wie oben beschrieben aus der dem Buchstaben entsprechenden Definition der Konfigurationsdatei gelesen. Attributwert eingeben, Attributname: <Name> Defaultwert: <Wert> Bei einer QTX ASK Definition in der .dat Datei werden sukzessive die Objekte der Parallelen hervorgehoben und nach dem Attributwert gefragt. Der Defaultwert kann mit der Return-Taste übernommen werden. Beispiel Die Datei pso.dat enthalte den folgenden Eintrag: --- PSO 322 ! Beleuchtung (B) 1800 79 0 0 QTX FORCE QUE NAY23x4 QTX ASK MAT “unbek. Mat.“ QTX EVAL LEN DBquery($len FROM OPEN OBJECT) Nach dem Aufruf von DistributedParallels wird die Frage nach dem Zuordnungsstring mit B BEA beantwortet, mit einem Leerzeichen zwischen dem ersten und dem zweiten B. Wegen dieses Leerzeichens wird die mittlere Parallele ausgelassen. Die Funktion GeneralParallels wird automatisch aufgerufen, fragt nach den beiden Grundlinienpunkten und den Abständen der Parallelen und legt sie an. Dann wird für jede der beiden Parallelen nach dem Wert für das Attribut MAT gefragt: Attributwert eingeben, Attributname: MAT Defaultwert: unbek. Mat. Bei der ersten Parallele wird der Defaultwert „unbek. Mat.“ einfach übernommen, bei der zweiten wird „Cu23“ eingegeben. Nach dem Abschluß der Funktion besitzt das Objekt der ersten Parallele die Attribute QUE NAY23x4 MAT unbek. Mat. LEN „829.706970“ und das zweite Objekt die Attribute QUE NAY23x4 MAT Cu23 LEN „858.610689“ Bemerkung Wenn ein Blatttyp nicht geladen ist, dann wird das geöffnete Blatt verwendet. Siehe auch GeneralParallels (PAS)
|