home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fish 'n' More 2
/
fishmore-publicdomainlibraryvol.ii1991xetec.iso
/
disks
/
disk373.lzh
/
Multiplot
/
Plt
/
PLT_docs
/
hpgl_commands
< prev
next >
Wrap
Text File
|
1990-10-08
|
15KB
|
374 lines
HP-GL COMMANDS
--------------
The following is a list of the HP-GL commands that are currently
supported by PLT:. For the most part they were implemented from the
descriptions provided in the "HP ColorPro Graphics Plotter Programming
Manual". It appears as though every HP plotter has a slightly different
set of HP-GL commands. Some have extra commands, some of the commands that
have parameters for one plotter may not have parameters for a different
plotter (PA and PR come to mind). We followed the manual pretty accurately,
but we borrowed a couple of commands from a different plotter to control
when a page is ejected from the plotter. For example, the AF command
causes a page to be printed, this allows people to send several pages of
plots to PLT: without having to break the input up into several files
or several executions. Some commands in the manual were not emulated
since they did not make sense for a raster emulation of a plotter.
o The <term> symbol signifies a command terminator, it may be a space, a
semi-colon or the first character of the next command.
o Command names are NOT case sensitive.
o Parameters that are incased in parenthesis in the command description
are optional parameters. Do not use the paranthesis when specifying the
command.
----------------------------------------------------------------------------
----------------------------------------------------------------------------
Arc Absolute
AA center_x, center_y, arc_angle (,chord_angle) <term>
Draws an arc starting at the current pen position for the specified
arc angle. The center point of the circle of which the arc is a
portion of is specified by center_x and center_y. A positive arc
angle draws an arc counter-clockwise from the start point, and a
negative arc angle draws an arc clockwise. The arc is drawn with
line segments, and the chord angle specifies the number of a
degrees seperating the endpoints of a line segment. (For example,
chord angle of 20 would cause a 180 degree arc to be composed of
9 line segments. The default chord angle is 5 degrees, and a an
chord angle >180 is computed as 360-chord_angle. The pen is left
at the end of the arc, and is lowered.
Advance Full Page
AF <term>
Causes a page to be plotted/printed
Arc Relative
AA center_x, center_y, arc_angle (,chord_angle) <term>
Draws an arc starting at the current pen position for the specified
arc angle. The center point of the circle of which the arc is a
portion of is specified relative to the pen position by the offsets
center_x and center_y. A positive arc angle draws an arc counter-
clockwise from the start point, and a negative arc angle draws an arc
clockwise. The arc is drawn with line segments, and the chord angle
specifies the number of a degrees seperating the endpoints of a line
segment. (For example, chord angle of 20 would cause a 180 degree
arc to be composed of 9 line segments. The default chord angle is 5
degrees, and a chord angle >180 is computed as 360 - chord_angle.
The pen is left at the end of the arc, and is lowered.
Designate Alternate Character Set
CA font_number <term>
CA <term>
Selects font_number to be the alternate character set.
The alternate character set is used as the current font
through the use of the SA command.
0 <= font_number <= 50
Circle
CI radius (,chord_angle) <term>
Draws a circle of the specified radius with the center point at
the pen position. The circle is drawn with line segments, and the
chord angle specifies the number of degrees seperating the endpoints
of the line segments. For example, a chord angle of 10 degrees
would cause a circle to be drawn with 36 lines segments. The default
chord angle is 5 degrees, and a chord angle >180 is computed as
360 - chord_angle. The pen position and pen state (raised,lowered)
is restored after the command is executed.
Character Plot
CP spaces, lines <term>
CP <term>
Moves the pen the specified number of character plot cells.
All movements are relative to the current label direction.
spaces lines
----------------------------------------------
positive move right move left
negative move up move down
A CP command with no parameters performs a carriage return and a
line feed.
Designate Standard Character Set
CS font_number <term>
Selects font_number to be the standard character set.
The standard character set is used by default or
through the use of the SS command.
0 <= font_number <= 50
Default
DF <term>
Set certain plotter functions to predefined defaults.
This command maintains the locations of P1 and P2.
Default Conditions
Function Equivalent Instructions Conditions
-----------------------------------------------------------
Plotting mode PA; Absolute
Line type LT; Solid line
Line pattern LT; 4% of (P1, P2)
length
Relative Character DR1,0; Horizontal
Direction
Relative Character SR; width=.75% of (P2x-P1x)
Size height=1.5% of(P2y-P1y)
Standard Character CS0; set 0
Set
Alternate Character CA0; set 0
Set
Character Set SS; standard
Selected
Character Slant SL0; 0 degrees
Label Terminator DTetx; etx(ascii code 3)
Symbol Mode SM; Off
Tick Length TL; tp=tn=.5% of |P2x-P1x|
for y tick
tp=tn=.5% of |P2y-P1y|
for x tick
Scale SC; User-unit scaling off
Absolute Direction
DI run, rise <term>
DI <term>
Specifies the direction in which labels are drawn, independent of
P2 and P1 settings. If no parameters are given, then the direction
is set for horizontal.
run = cos(angle)
rise = sin(angle)
angle = arctan(rise/run)
Relative Direction
DR run, rise <term>
DR <term>
Specifies the direction that labels are drawn relative to the
scaling points P1 and P2. When the scaling points move, the
label direction is adjusted to maintain the same relationship.
A DR command with no parameters sets the direction for horizontal.
run -- the percentage of P2x - P1x
rise -- the percentage of P2y - P1y
Define Label Terminator
DT label_terminator <term>
The character immediately following the DT command is used as
the new label terminator. The label terminator is the
character that signifies when the data for the label is complete
so the plotter can start interpreting the input stream as commands
again. Be careful not to place a space between the DT and the
character that you want for the terminator. Otherwise the space
will become the new terminator.
Initialize
IN <term>
Returns the plotter to its power on state. Performs a DF AND:
o raises the pen
o sets P1 and P2 to the default states
o cancels 90 degree rotation
Input P1 and P2
IP P1x, P1y (, P2x, P2y) <term>
IP <term>
P1 and P2 are used as scaling points for fonts as well as for
establishing the location for a user-defined coordinate system.
Can either specify the positions of both scaling points, just the
first, or reset them to their defaults by specifying no parameters.
If only P1 in specified, then P2 will move to keep the distance
between P1 and P2 constant (P2 tracks P1).
Defaults:
---------
P1x = 250
P1y = 279
P2x = 10250
P2y = 7479
Label
LB c...c <label_terminator>
Puts text on the page starting at the current pen position.
Every character between LB and <label_terminator> is plotted.
<label_terminator> is usually ascii code 3, but can be set by
the DT command. The LB command uses the current selected font
and current label direction.
Line Type
LT pattern_number (, pattern_length) <term>
LT <term>
Selects the type of line that is plotted when the pen is down
and moving. An LT command without a parameter specifies a solid line.
Pattern 0 puts a dot at the endpoints of a line.
Patterns 1-6 are dotted, dashed, dashed-dotted combinations.
The length of the pattern can be specified through the use of
pattern_length. It is expressed as the percentage of the
diagonal distance between P1 and P2.
Any portion of a pattern not used for the current line is
carried over to the next line (provide a PU is not issued).
Plot Absolute
PA X, Y (, ...) <term>
PA <term>
Place the plotter in absolute mode. Causes all coordinates to then
be interpretted as actual coordinates and not offsets from the
current pen position. Coordinates can be specified with the
command as well. It this case the pen is moved to the
appropriate locations. If the pen is down a line will be drawn
in the current pattern. If the pen is up then it is merely moved
through the coordinates without drawing lines.
Pen Down
PD X, Y (, ...) <term>
PD <term>
Places the pen down onto the paper. If coordinates are specified
then the pen is moved to those locations (absolutely or relatively
depending on the current status). A line is drawn using the
current pattern.
Page Forward
PG <term>
Performs the same function as AF. Added to PLT: to allow greater
compatibility with slightly different plotter command sets.
Pen Up
PU X, Y (, ...) <term>
PU <term>
Raises the pen. If coordinates are given then the pen is moved
(relatively or absolutely depending on the current status) to the
specified locations.
Rotate
RO n <term>
RO <term>
Rotate the page to 0 or 90 degrees. Used for making plots in
portrait mode. n can either be 0 or 90. If no parameters are
given then n is taken to be 0. P1 an P2 rotate with the coordinate
system, but they maintain the same (x,y) positions. This means that
P2 can be located outside the drawing area. Following a RO 90; by
an IP; will set P1 and P2 to the soft-clip limits.
Select Alternate Character Set
SA <term>
Future labels will be drawn using the alternate character set as
the font. This font can be set using the CA command.
Scale
SC Xmin, Xmax, Ymin, Ymax <term>
SC <term>
Establishes a user-coordinate system by mapping values onto the
scaling points P1, P2. All subsequent moves will be interpretted
as coordinates in this coordinated system. If no parameters are
given the scaling is turned off.
Absolute Character Size
SI width, height <term>
Si <term>
Specifies the size of character in centimeters. This establishes
character sizes regardless of the locations of the scaling points.
With no parameters, the default sizes are used.
Character Slant
SL tan_angle <term>
SL <term>
Specifies the slant given to characters as they are drawn.
Makes tht font look more like an italic font. tan_angle specifies
how far off the vertical the font is slanted. Positive values
slant the font clockwise off the vertical, negative values
slant the font counter-clockwise. With no parameter, the font
is not slanted at all.
Symbol Mode
SM character <term>
SM <term>
Places the plotter in symbol mode. On subsequent moves the
character specified will be plotted at the various endpoints.
Used for scatter plots and emphasizing line endpoints. With
no parameters, symbol mode is turned off.
Select Pen
SP pen_number <term>
SP <term>
Use pen_number as the current pen. With no parameters, the pen
is returned to the carousel. Pens can be different colors
or different thicknesses.
0 <= pen_number <= 8
Relative Character Size
SR width, height <term>
SR <term>
Specifies the relative character size as a percentage of the
distance between P1 and P2. When the positions of P1 and P2
change, the size of the characters will also change to maintain the
scale. Without parameters, the default sizes are used.
Select Standard Character Set
SS <term>
Use the standard character set as the current font. The font
used as the standard character set can be set using the CS command.
Tick Length
TL tp (, tn) <term>
TL <term>
Specifies the length of the tick marks for both the X and Y-axes.
tp is the length of the positive portion of the tick (up or right),
tn is the length of the negative portion of the tick (down or left).
tp an tn are specified as a percentage of |P2x - P1x| and
|P2y - P1y|. Y-ticks use |P2x - P1x|, X-ticks use |P2y - P1y|.
To supress the negative portion of the tick, don not specify
a tn. To supress the positive portion of the tick, specify 0 for the
tp.
X-axis Tick
XT <term>
Place a verticl tick mark at the current pen position. The length
of the tick can be specified through the use of the TL command.
Y-axis Tick
YT <term>
Place a horizontal tick mark at the current pen position. The
length of the tick can be specified through the use of the TL
command.