Graphik

Im folgenden finden sich ein paar einfache Anwendungen für den Einsatz der Graphikkommandos, die Beispielen aus der Prescribe-Dokumentation nachempfunden sind. Sie sollen die vielen Möglichkeiten von Prescribe beim Erstellen einfacher Zeichnungen demonstrieren.

Liniendiagramm

Bereits mit wenigen Kommandos lassen sich in Prescribe Diagramme erstellen. Mit dem Kommando DAP lassen sich Linien zu absoluten Positionen zeichnen. Die Dicke der Linien bestimmt das Kommando SPD. Die optische Gestaltung des Prescribe-Datenstroms mit Leerstellen und Zeilenvorschüben kann so gewählt werden, dass es für Menschen leicht nachvollzogen werden kann. Mit dem Kommando CMNT lassen sich sogar Kommentare einbauen.

Prescribe:

Liniendiagramm.prs
!R! RES; 
    UNIT C;
    SLM 6; STM 10;
    SPD 0.05; 
    FONT 9; CSET 0N; SCS 0.23;
 
    CMNT Temperaturskala ist in 10 Grad Schritten: 3.5 entsprechen 35°;
    CMNT Temperaturwerte sind negativ, weil in Prescribe die Y-Achse
         von oben nach unten verläuft, im Diagramm aber entgegengesetzt;
 
    MAP 0.7, -1.8;   RTTX 90, 'Temperatur in °C';
    MAP   1,  0.2;   RTXT '0° ';
    MAP   1, -6.8;   RTXT '70° ';
    MAP   1,    0;   BOX 6, -7;
    MAP   1,  0.5;   TEXT "So  Mo  Di  Mi  Do  Fr  Sa";
    MAP   1, -2.5;   DAP 2, -3.5;
                     DAP 3, -0.9;
                     DAP 4, -3.0;
                     DAP 5, -5.8;
                     DAP 6, -2.8;
                     DAP 7, -3.3;
PAGE;
EXIT;


Ausdruck:


Füllmuster

In Prescribe lassen sich Füllmuster in Form einer 8 x 8 Bitmatrix definieren, die als eine Folge von acht Byte, ausgedrückt als Dezimalzahl, übertragen werden. Diese Füllmuster können mit den Kommandos BLK und ARC verwendet werden. Im Beispiel werden die Füllmuster über ein Makro erzeugt, dass die acht Werte als Parameter übernimmt.

Prescribe:

Muster.prs
!R! RES; UNIT C;
    MCRO PATTERN %, Ausgabe eines mit Muster gefüllten Rechtecks;
         FPAT %1, %2, %3, %4, %5, %6, %7, %8;
         BOX 5, 1.25; BLK 5, 1.25; MRP 0, 1.55;
         TEXT 'FPAT %1, %2, %3, %4, %5, %6, %7, %8;', L;
    ENDM;
 
MAP 5, 5; FTMD 15; FONT 13; SLS .2;
 
CALL PATTERN, 3, 3, 0, 0, 0, 0, 0, 0;
CALL PATTERN, 255, 0, 0, 0, 0, 0, 0, 0;
CALL PATTERN, 1, 1, 1, 1, 1, 1, 1, 255;
CALL PATTERN, 0, 0, 24, 60, 60, 24, 0, 0;
 
MRP 5.5, -7;
 
CALL PATTERN, 1, 2, 4, 8, 16, 32, 64, 128;
CALL PATTERN, 8, 8, 8, 8, 8, 8, 8, 8;
CALL PATTERN, 20, 0, 20, 0, 62, 0, 62, 0;
CALL PATTERN, 8, 20, 34, 65, 130, 68, 40, 16;
 
PAGE; EXIT;


Ausdruck:


Kreisdiagramme

In Prescribe existiert ein Kommando PIE zum Zeichnen von Kreisdiagrammen mit vorgegebenem Radius. Dabei wird einfach eine Werteliste übergeben, aus der die Teilung des Diagramms automatisch errechnet wird. Allerdings zeichnet das Kommando PIE ausschliesslich den Umriss des Diagramms.

Will man die einzelnen Diagrammsegmente mit verschiedenen Mustern füllen, muss man für das Kommando ARC die Winkel der entsprechenden Kreissegmente selbst berechnen.

Prescribe:

Kreisdiagramm.prs
!R! RES; UNIT C;
 
MAP 5, 7; PIE 2, 0, 10, 20, 30;
ARC 0, 2, 0, 60;
FPAT 1, 0, 4, 0, 16, 0, 64, 0;
ARC 0, 2, 60, 180;
FPAT 1, 0, 0, 0, 16, 0, 0, 0;
ARC 0, 2, 180, 360;
 
PAGE; EXIT;


Ausdruck:


Linien zeichnen

Mit diversen Zeichenkommandos für Linien (DAP, DZP, DRP, DRPA) lassen sich praktisch beliebige Formen erstellen. Die Dicke einer Linie wird mit dem Kommando SPD eingestellt.

Im Beispiel wird der Umriss eines Sterns in einem Makro (MCRO bis ENDM) gezeichnet. Liniendicke und Linienlänge werden als Parameter übergeben. Da die Endposition nach dem Zeichnen des Sterns rechts neben dem Stern liegt, kann mit einem wiederholten Makroaufruf (hier zehn mal) sehr effektiv ein Ziermuster gezeichnet werden.

Prescribe:

LinienZeichnen.prs
!R! RES; DAM; UNIT C;
 
MCRO STAR %, Stiftdurchmesser, Linienlänge;
     SPD %1;
     DRPA %2,  18; DRPA %2, 306; DRPA %2,  90;
     DRPA %2,  18; DRPA %2, 162; DRPA %2,  90;
     DRPA %2, 234; DRPA %2, 162; DRPA %2, 306;
     DRPA %2, 234;
 
     MRP %2, 0; MRP %2, 0; MRP %2, 0;
ENDM;
 
MAP 5, 3;  CALL 10 STAR, 0.03, 0.3366;
 
RES; EXIT;


Ausdruck:


Abgerundete Ecken

Mit Hilfe von Prescribe-Kommando aus dem Bereich der Vektorgraphik lassen sich leicht Rechtecke mit abgerundeten Ecken erzeugen. Die Kombination der Kommandos PRBX und STRK ergibt einen Rahmen, wohingegen PRBX mit FILL eine rahmenlose gefüllte Fläche erzeugt.

Prescribe:

RundeEcken.prs
!R! RES; UNIT C;
    SPD 0.125; 
 
    NEWP; PMZP 1, 1; PRBX 9.5, 1.7, 0.5; STRK;
    MZP 1.5, 2.15; SFNT "Univers-Bd", 26;
                   TEXT "VORSICHT: HEISS!";
 
    PAT 9; 
    NEWP; PMZP 1, 4; PRBX 4.5, 2.4, 0.3; FILL;
 
    SFNT "Helvetica-Nr", 12;
    MZP 1.4, 4.6; TEXT "SPE Systemhaus GmbH", L;
                  TEXT "Waldstrasse 7", L;
                  TEXT "D-63150 Heusenstamm", L;
    MRP 0, 0.2;   TEXT "www.spe-systemhaus.de";
 
PAGE;
EXIT;


Ausdruck:


Auch für dickere Linien lassen sich in Prescribe mit dem Kommando SCAP abgerundete Ecken erzeugen. Standard sind Linienenden, bei denen die Linie an jedem Ende um die Hälfte der Linienbreite verlängert werden, um beim Zeichnen von rechtwinkligen Anschlüssen Fehlstellen zu vermeiden.

Prescribe:

Pfeil.prs
!R! CMNT Pfeil nach rechts mit abgerundeten Ecken;
 
UNIT C; SPD .5; SCAP 3;
 
NEWP;
PMZP 8, 6;
SCP; SCP;
PDRP -1, -1; RPP;
PDRP -1,  1; RPP;
PDRP -5, 0;
STRK;
 
PAGE; EXIT;


Ausdruck: