CHAPTER 10
THE INTERACTIVE CASPA SYSTEM
CASPA is an interactive system for the definition and display of
sculptured surface geometry. It is independent from the APT4
Sculptured Surfaces system but is fully compatible with it. The
CASPA system is intended to be used for the interactive
definition of the basic part geometry before using the APT system
to define the machining operations. CASPA is also capable of
displaying geometry previously defined with the APT system and
displaying cutter paths from an APT CL file. The standard
graphics output from the system conforms to the international GKS
standard and can be displayed on any device which supports this
standard. The CASPA system has its own on-line help facility.
CASPA supports all sculptured surface geometry but not the
unbounded APT4 geometry. This means that all geometric
definitions described in the earlier chapters of this volume,
with the exception of SCURV/SEG (section 2.2.3), can be used with
the CASPA system. In addition CASPA supports some of the PLANE
definitions described in Volume 1.
In every case the language used in CASPA for these geometric
definitions is identical to the APT4 Sculptured Surfaces
language. The CASPA system uses many of the APT subroutines and
the canonical forms generated by CASPA are identical to the APT
canonical forms for SCURV and SSURF. Where errors are generated
by geometric definitions the error messages are as given in
Appendix B.
Valid point definitions in CASPA are:
POINT/x, y ›,z!
POINT/INTOF, Scurve, FLOW, u, arcno
PARAM
POINT/INTOF, Ssurf, PARAM, u, v, patchno
POINT/INTOF, Plane, Scurve, Nearpt
POINT/INTOF, Ssurf, Nearpt
POINT/INTOF, Ssurf, Point1, Point2
POINT/INTOF, Ssurf, Point1, Vector ›,Nearpt!
The first of these definitions defines the point directly by its
3 coordinates x, y, z. If the z coordinate is omitted the value
0.0 is assumed unless a ZSURF value has been previously defined.
The remaining definitions use the INTOF facility which is
described in detail in section 9.1 of this manual. In these
definitions Scurve is the name of a previously defined curve,
Ssurf the name of a sculptured surface and Nearpoint is the name
of a previously defined point which is somewhere near the
required point and makes the definition unambiguous. The last
two definitions define the point as the intersection between a
line and a sculptured surface. In one case the line is defined
as the line from Point1 to Point2, in the other as the line
through Point1 in the direction Vector.
Examples:
P1 = POINT/1.0, 2.0, 1.0
P2 = POINT/3.0, 1.0, 5.0
P3 = POINT/INTOF, Surf1, PARAM, 0.4, 0.6, 2
P4 = POINT/INTOF, Surf1, P1, P2
In these examples it is assumed that Surf1 is a previously
defined SSURF. P1 and P2 are then directly defined as the points
(1,2,1) and (3,1,5) P3 is the point on patch2 of Surf1 with -
parameters u = 0.4, v = 0.6.
P4 is defined as the intersection of the line from P1 to P2 with
Surf1.
One geometric structure available in the CASPA system which is
not defined in APT4 is the polygon. This is a graphics entity
only and is not associated with any stored canonical form. The
user is able to display a polygon on the screen, that is a series
of points joined by straight lines, with the graphics command:
DRAW/POLYGN, P1, P2, P3, P4
The CASPA system supports some of the direct vector definition
formats described in Volume 1 of this manual as well as all the
indirect (INTOF) definitions described in Chapter 9.
Permissible definitions are:
VECTOR/vx, vy, vz
VECTOR/UNIT, Vector1
TANSPL
CRSSPL
VECTOR/INTOF, Scurve, PARAM, u, arcno, NORMAL ›,UNIT!
FLOW BINORM -
TANSPL
VECTOR/INTOF, Surf1, PARAM, u, v, Patchno, CRSSPL ›,UNIT!
NORMAL
In the first of these definitions the vector is defined directly
in terms of its 3 components vx, vy and vz.
The second definition defines a unit vector in the same direction
as an existing Vector1.
In the two indirect definitions the vector is defined as a
geometric vector quantity (Tangent, Cross-Tangent Normal or
Binormal) associated with a particular parametric point on a
curve or surface. The option UNIT is used to create a vector of
unit length in the specified direction. Because the position in
space of a vector is ambiguous it cannot be displayed.
A plane may either be defined directly, in terms of the
coefficients in its mathematical equation, or indirectly, in
terms of its geometric properties.
Permissible definitions are:
PLANE/a, b, c, d
PLANE/Point1, Point2, Point3
PLANE/Point1, PERPTO, Vector1
PLANE/Point1, PARLEL, Plane1
PLANE/PARLEL, Plane1, Side, Dist1
In these definitions it is assumed that Point1, Point2 and Point3
are the names of existing points, Vector1 is a previously
defined vector and Plane1 is an existing plane. In the first
direct definition a, b, c, d are numerical values to define the
plane with equation ax + by + cz = d.
In the last definition the plane is defined as parallel to Plane1
and at a perpendicular distance, Dist1 away from it. The
qualifier side takes one of the values XLARGE, XSMALL, YLARGE,
YSMALL, ZLARGE, ZSMALL and is used to make this definition
unique. The previous definition also defines a plane parallel to
Plane1 but in this case passing through Point1.
ZSURF/Plane
This command is used for the simple definition of points which
lie in a fixed plane other than the XY plane.
Any point definition, P1 = POINT/x,y which contains no Z
coordinate and follows the ZSURF statement will define a point in -
this plane, the actual Z coordinate will be determined by
projection onto this plane.
For example:
PL2 = PLANE/1,1,1,1
ZSURF/PL2
P1 = POINT/1,2
In these statements PL2 is defined as the plane x+y+z = 1.
P1 is then subsequently defined as a point on this plane with
x = 1, y = 2. Hence P1 is (1,2,-2).
The plane referenced in the ZSURF statement must not be
perpendicular to XY plane, since in these cases the Z coordinate
cannot be automatically determined.
The ZSURF statement can only be cancelled by re-defining ZSURF to
refer to the XY plane. This could be achieved by
XYPL = PLANE/0,0,1,0
ZSURF/XYPL
Examples:
V1 = VECTOR/1.0, 3.0, 1.0
V2 = VECTOR/INTOF, Curve1, FLOW, 0.5, 3, TANSPL
P1 = POINT/2.0, 4.0, 5.0
PL1 = PLANE/2.0, 1.0, 0.0, 3.0
PL2 = PLANE/P1, PARLEL, PL1
PL3 = PLANE/P1, PERPTO, V2
PL4 = PLANE/PARLEL, PL3, ZSMALL, 1.5
In these examples PL1 is the plane 2x + y = 3.
PL2 is the plane parallel to PL1 and passing through the point
(2,4,5). (PL2 has equation 2x + y = 8)
PL3 is the plane which passes through (2,4,5) and which is
perpendicular to (i.e. has normal) the tangent vector to Curve1
at the point with flow parameter u = 0.5 on arc 3.
PL4 is parallel to PL3 and at a perpendicular distance 1.5 below
it, assuming the z axis to be vertical.
Note: Because of their infinite dimensions planes cannot be
shown on a graphics device but they can be used in other
geometric constructions.
The CASPA system includes all the SCURV and SSURF definitions
described in Chapters 2-6 of this manual. The sole exception is
SCURV/SEG which uses APT lines and circles in its definition.
A list of available SCURV and SSURF types is:
SCURV/CURSEG
SCURV/SPLINE (Including Smoothing)
SCURV/COMBIN
SSURF/GENCUR
SSURF/SMESH
SSURF/RULED
SSURF/REVOLV
SSURF/PATCH
SSURF/TRANSL
SSURF/SCALE
SSURF/XYROT
SSURF/YZROT
SSURF/ZXROT
A full specification of each of these definitions can be found in
the appropriate section of this manual or by using the on-line
HELP facility of CASPA. Once a curve or surface has been defined
using one of these definitions it generates a stored canonical
array which is identical to that generated by the same command of
the APT4 Sculptured Surfaces system. All curves and surfaces
described in this section can be displayed on the graphics
device. By using the graphics commands described in section 10.2
the user can control the amount of detail shown as well as the
line type and colour and the viewpoint.
The essential function of the CASPA system is to display the
geometric entities which have been defined. This offers the
possibility of visual verification of the part geometry before
using the APT system to define the machining operations. In
essence every curve or surface is displayed on the graphics
device as a sequence of straight line segments which approximate
to the true geometry. The graphics command language is however
sufficiently flexible for the user to control the degree of this
approximation as well as more obvious factors such as the colour
and the viewpoint. The graphics commands can be classified as
either global commands which affect all subsequent drawings or
specific commands which are concerned with the creation of a
single drawing or display. In most cases reasonable default
options have been provided so that the less experienced user can
generate a drawing with a minimum set of these commands.
The commands in this section apply to all subsequent graphics
operations or until they are countermanded by an equivalent
command.
DEVICE/name, model, ›UNIT, unitno!›,CLOSE!
This is an essential command which defines the display device for
the drawings or pictures. The device must be defined before any
drawings are generated. The permitted device names and models
for a particular implementation can be reviewed by the command
DEVICE/REVIEW
Clearly the list of available device names and models will depend
upon the particular implementation, as will the associated unit
number. In some implementations there may be an available default
option for the unitno definition, and more than one device may be
open at a time. The option CLOSE closes the specified device.
Possible examples are:
DEVICE/TEK, 4107 (Tektronics 4107)
DEVICE/CALCMP, 1012, UNIT, 12 (Calcomp 1012 Plotter)
COLOUR/colourname ›,SYMBOL, colourname!
This command defines the colour of all lines and symbols
displayed. By including the option SYMBOL it is possible to
select a different colour for the symbols.
Available colournames are: BLACK, RED, GREEN, BLUE, YELLOW, CYAN,
WHITE, MAGENT (i.e.Magenta)
With this command a default option is provided which assumes the
colour black whenever COLOUR is undefined.
LINTYP/Type
This defines the type of line used to represent POLYGN, FRAME,
curves and surfaces. Permissible types are:
SOLID, DOTTED, DASHED, CHAIN
CHAIN refers to a line made up of alternate dots and dashes.
On a black and white device LINTYP can be useful to aid the
visual distinction between different curves. The default option
assumes the value SOLID whenever LINTYP is undefined.
SYMTYP/Type
This command defines the type of symbol used to denote points on
the display. Permissible values of type are:
Type 1 2 3 4 5
Symbol . + * o x
With this definition the default option is type=4.
LETTER/›HEIGHT, h!›,WIDTH, w!›,colour!
This defines any or all of the height, width and colour of
lettering on the drawing. This includes geometric names as labels
and any user defined text. It is important to note that both
height and width are defined in relative terms. The height h is a
fraction of the screen height and the width w defines the maximum
letter width as a fraction (or multiple) of the height of the
letters. If undefined default values are 0.02 and 1.0 for h and w
respectively.
Colour takes one of the values: BLACK (Default), RED, GREEN,
BLUE, YELLOW, CYAN, WHITE, MAGENT (Magenta).
WINDOW/xmin, xmax, ymin, ymax, zmin, zmax
This command specifies in 3 dimensional space the volume which
can be viewed. All geometry within this space can be displayed
but any geometry outside the window volume is effectively
invisible. The scale of the drawing is determined by the
combination of the WINDOW and SCREEN commands. To produce an
enlarged drawing of part of the geometry a new smaller window
should be defined enclosing the chosen part.
xmin < x < xmax, ymin < y < ymax, zmin < z < zmax
All these quantities are defined in global coordinates using the
same axes and units as the geometric definitions.
To avoid geometric distortion the window should be defined as a
cube with
xmax - xmin = ymax - ymin = zmax - zmin.
If there is no explicit window definition default values of xmin
and the other parameters are defined from the minimum and maximum
coordinates of all points defined before the DEVICE command or
the first graphics command. In other cases default values are
-100 and 100 respectively.
SCREEN/xmin,xmax,ymin,ymax
This command defines the display area of the screen,
corresponding to a GKS viewport. For this definition a system of
screen coordinates is used with the origin at the lower left
corner of the screen and the x axis horizontal. The length 1.0
corresponds to the maximum dimension of the screen. xmin, xmax,
ymin and ymax should thus all lie in the range from 0.0 to 1.0.
To avoid geometric distortion the screen should be defined as
square with xmax - xmin = ymax - ymin.
Example:
SCREEN/0.1, 0.9, 0.2, 1.0
This defines a screen display area with a 20% border below and
10% borders to left and right.
VIEW/›XYPLAN!›,YZPLAN!›,ZXPLAN!›,PERSP›,VIEWPT,x,y,z!!
›PLAN!›,FRONT!›,END! ›,PARLEL!
This command enables the user to specify the view or views which
he wishes to plot. Either a single view or a set of 4 projections
on a quartered screen is permissible.
XYPLAN, YZPLAN and ZXPLAN show the object projected onto the XY,
YZ or ZX planes respectively. Alternatively orthodox plan
(equivalent to XYPLAN), front and end elevations can be chosen.
A 3 dimensional view can be either a perspective view (PERSP) or
a parallel projection (PARLEL) from a viewpoint with coordinates
x, y, z. Different views are obtained by varying the viewpoint
rather than by moving or rotating the object being viewed. Note
that this view may not be to the same scale as the PLAN views.
The default option defines a single XYPLAN view.
Note that the VIEW command also clears the graphics screen or
initiates a new drawing on a plotter.
The basic command to create a plot or a drawing is DRAW.
Available options are:
DRAW/AXES›,LENGTH, len!
This draws a set OX, OY, OZ of axes centred either at the origin,
if within the WINDOW, or, at the centre of the WINDOW. The user
has the option of either defining the length len of each axis in
world coordinates, or accepting the default value len = 10% of
WINDOW dimension.
DRAW/FRAME
This command draws a frame, slightly larger than the SCREEN
defined round the current view or set of views.
DRAW/POLYGN, Point1, Point2, Point3, ...
This command draws a polygon, or set of line segments, through
the points Point1, Point2, Point3,... in order.
DRAW/Pointname›,SYMBOL, type!›,LABEL, position!
This is the command to draw a single point. The options permit
the marking of the point with a specific symbol and/or the
labelling of the point with its name. The colour of the symbol
and the size of the lettering are defined globally by the
commands COLOUR and LETTER respectively. The symbol types are:
Type Symbol
1 .
2 +
3 *
4 o
5 x
Alternative values for position are:
LEFT, RIGHT, ABOVE, BELOW, CENTER
these refer to the position of the name.
DRAW/Scurvname›,UMIN,U0!›,UMAX,U1!›NSTEP,n!›,FLOW! $
›,PARAM!
›,LABEL,position!
This is the basic command to display a section of a previously
defined SCURV from parameter U = U0 to U = U1. The parameter
used in this definition may be the FLOW parameter (the assumed
default value) or the natural parameter (PARAM) of the original
definition. NSTEP is used to define the approximation of the
curve by a polygon, n being the number of linear steps along each
arc (i.e. 0-1 parameter range) of the curve.
Optionally the curve may be labelled with its name near its
mid-point ((U0 + U1)/2). The relative position of this label is
defined by position which takes one of the values LEFT, RIGHT,
ABOVE, BELOW or CENTRE. Default values are U0 = 0, U1 = value at
end of curve, n = 10.
DRAW/Surfname›,UMIN,U0!›,UMAX,U1!›,UINCR,du!$
›,VMIN,V0!›,VMAX,V1!›,VINCR,dv!›,NSTEP,n!$
›,LABEL›,u2,v2!,position!›,NORMAL!›,LENGTH,len!
This command is used to display a section of a sculptured
surface. The surface is shown by the curves of constant
parametric value and the user has control of how many of these
curves are drawn and how each individual curve is approximated.
The area of the surface displayed is in the range U0 < U < U1,
V0 < V < V1. Default values for these parameters correspond to
the edges of the entire surface. The curves U = const are shown
at intervals dv. Default values are du = dv = 0.25 which displays -
each patch by 5 curves in each direction. The NSTEP value n
controls the way in which each of these curves is approximated by
a polygon, there are n sides per unit parametric length for each -
displayed curve.
Other options permit the surface to be labelled with its name,
this can either be at the chosen location U = u2, V = v2 or at
the default location which is the mid point of the section of
surface displayed, position defines its relative position as for -
curves. The final option allows the display of surface normals -
at every intersection point of the displayed curves, the LENGTH
of these can be the user defined value len or the default value
len = 1.0.
DRAW/CLFILE,'Filename'›,AXIS!›,NSTEP,n!›LENGTH,len!
This command is used to plot data from an APT CLFILE previously
stored in the names file 'Filename'. The file name must be
enclosed in quotation marks and has a maximum length of 16
characters. Using all the default options a polygon
corresponding to the individual tool movements is plotted. The
optional AXIS facility provides for the display of the tool axis -
at every nth (defined by NSTEP) point of the cutter path. This
axis is displayed as a line of length len. Default values for
these parameters are n = 10, len = 5.0.
Note: Each DRAW command draws a single entity but more complex -
drawings can be constructed from a sequence of DRAW commands not -
separated by VIEW or CLEAR.
The user has the option of adding his own text, such as a title,
to any drawing. This is achieved by the command:
TEXT/'Text-string',x,y›,HEIGHT,h!›,WIDTH,w!›,colour!
This command has the effect of printing the user's text-string
starting from position (x,y) on the screen. It should be noted
that x and y are defined in screen coordinates with (0,0) at the
lower left hand corner of the defined SCREEN area and (1.0,1.0)
at the diagonally opposite corner of this area. The height h of
the letters should also be defined in screen coordinates but w
defines the maximum letter width as a fraction of the letter
height. Default values for these parameters are h=0.02, w=1.0.
With some devices, such as the Tektronix 4010 the variation of h
and w has no effect on the actual display. Colour takes one of
the values - BLACK (Default), RED, GREEN, BLUE, YELLOW, CYAN,
WHITE, MAGENT.
Finally the screen is cleared by the command
CLEAR
This command also indicates a new drawing if the selected device
is plotter. The main function of this command is to act as a
separator between drawings, each of which can be constructed from
a sequence of DRAW commands.
The example below of a typical CASPA session illustrates the use
of some of the geometric definitions and graphics commands. The
commands are entered interactively after the invitation to type
? from the computer.
P1 = POINT/0, 0, 0
P2 = POINT/20, 10, 0
P3 = POINT/40, 20, 5
P4 = POINT/60, 5, 0
Q1 = POINT/0, 0, 50
Q2 = POINT/15, 15, 45
Q3 = POINT/35, 20, 50
Q4 = POINT/60, 5, 50
V1 = VECTOR/1.0, 2.6, 1.0
C1 = SCURV/SPLINE, P1, P2, CRSSPL, V1, P3, P4, FLOW, ARC,$
0, 3, SEG, LENGTH, 0, 1, LENGTH, 1, 2, LENGTH, 2, 3
C2 = SCURV/SPLINE, Q1, Q2, Q3, Q4, FLOW, ARC, 0, 3, SEG, $
LENGTH, 0, 1, LENGTH, 1, 2, LENGTH, 2, 3
SURF = SSURF/GENCUR, C1, C2
DEVICE/TEK, 4010
WINDOW/-10, 70, -10, 70, -10, 70
SCREEN/0.2, 1.0, 0.2, 1.0
VIEW/XYPLAN, YZPLAN, ZXPLAN, PARLEL, VIEWPT, 80, 80, 80
DRAW/P1, LABEL, ABOVE
DRAW/P2, LABEL, BELOW
DRAW/P3, LABEL, LEFT
DRAW/P4, LABEL, RIGHT
DRAW/C1
DRAW/C2, NSTEP, 20
DRAW/FRAME
TEXT/'3 PLANS PLUS PARALLEL', 0.1, 0.02
CLEAR
DRAW/SURF
DRAW/AXES
DRAW/FRAME
CLEAR
VIEW/PARLEL, VIEWPT, 20, 50, -10
DRAW/SURF
DRAW/AXES
VIEW/PARLEL, VIEWPT, 20, 50, -10
WINDOW/0, 50, 0, 50, 0, 50
DRAW/FRAME
DRAW/SURF, UMIN, 0, UMAX, 1, UINCR, 0.1, NSTEP, 20, $
NORMAL, LENGTH, 5
TEXT/'PART OF SURFACE WITH NORMALS', 0.1, 0.02
EXIT
In this example the geometry statements define two sets of 4
points and a vector. These are used to define the curves C1 and
C2. C1 contains a CRSSPL vector constraint. A GENCUR surface
SURF is then defined from C1 and C2. The subsequent graphics
commands define the device, window and screen and a set of 4
views. The first drawing shows the points and curves. The result
is shown in Figure 10.1. The screen is cleared before producing
the same views of the surface SURF, using all default parameters.
These are shown in Figure 10.2. A parallel view with viewpoint
(20,50,-10) is then defined and figure 10.3 shows this view of
the surface. A smaller window is then defined before viewing the
section 0 < u < 1, 0 < v < 1 of the surface. For this drawing
normals are requested and a finer mesh of parametric lines is
defined by setting UINCR to 0.1; NSTEP = 20 gives a closer
approximation to each curve. The result is shown in Figure 10.4
In addition to the commands previously described for defining
geometry and controlling the graphics output produced by the
system CASPA further system commands. These are mainly associated
with the specification and control of input and output from the
system or to provide assistance to the user. Section 10.3.3
describes the special editor commands which are intended only for
the use of the system programmer when installing or modifying the
system.
A number of options are available for the global control of
output from the CASPA system to the users terminal during an
interactive session. These options correspond to the PRINT
options described in Chapter 9 of this manual. Options are
CFPRT/ON
OFF
This outputs to the system output device, which is the users
terminal for an interactive session, each internal canonical form
as it is defined. The default value for this option, and all
other options described in this section is OFF.
DEBUG/ON
OFF
This command permits the user to have debug messages produced
during sculptured surface processing sent to the system output
device (i.e. his terminal). The effect of DEBUG/ON is equivalent
to MAXDP/-4, 1 in APT4 System.
ILPRT/ON
OFF
This command allows the output to the terminal of internal
language records during the CASPA processing. The final two
global print control options provide for different types of
verification listing of SCURV and SSURF, to be sent to the
terminal. These are
SSPRT/ON and SSTEST/ON
OFF OFF
In each ON case a verification listing of all curves and surfaces
is produced at the terminal as they are created. SSTEST provides
more detail including some canonical form data. Full details of
these commands is given in Chapter 9 with examples of the type of
output produced being given in earlier chapters.
In addition to the global control of output described above there
are two commands available for printing selected items at the
terminal. These are the TYPE and LIST commands.
TYPE is used to obtain canonical form data. The two permissible
formats are:-
TYPE/ALL
or TYPE/Symbol List
In the case of TYPE/ALL, canonical forms corresponding to all the
currently defined geometry are printed at the terminal. In the
second case the user provides a Symbol List which contains the
assigned names of all the geometric items for which he requires
canonical form output. Items on this list should be separated by
commas.
If, for example he has previously defined an SCURV called CRV1
and an SSURF called RSF he could inspect the corresponding
canonical forms with the command
TYPE/CRV1, RSF
The command LIST enables the user to inspect entries in either
the Permanent Symbol Table, or the Temporary Symbol Table. The
Permanent Symbol Table contains all CASPA language command words
and will generally only be of interest to system programmers. The
Temporary Symbol Table, which is re-created at each interactive
CASPA session contains all the user defined symbols and Synonyms.
The Symbols are the names he has assigned to the various items of
geometry which he has created. The formats for the LIST command
are
LIST/PST›,n1!›,THRU, n2!
This provides a listing at the terminal of all Permanent Symbol
Table entries between positions n1 and n2. Using the default
option for both of these parameters produces a listing of the
entire table.
LIST/PST›,symbol1!›,THRU, symbol2!
This is equivalent to the above command but in this case entries
to the PST are referenced by symbol name (symbol1, symbol2)
rather than by position.
As a third option the user can select items from the PST by type.
This is achieved with the command
LIST/PST, CLASS, 'Caspa class'
Currently available values for the Caspa Class parameter are
'HELP', 'GLOBAL', 'GEOMETRY', 'GRAPHICS', 'FILEHANDLER' or
'EDITOR'.
The command LIST/TST permits the user to make similar selections
from his own Temporary Symbol Table. This facility could be
particularly useful in cases where he may have forgotten, or even
mis-spelt, the names he has previously assigned to some geometric
entities. Permissible formats are
LIST/TST›,n1!›,THRU, n2!
LIST/TST›,name1!›,THRU, name2!
LIST/TST›,CFType!
If none of these parameters is selected the default option
provides a listing of the entire Temporary Symbol Table at the
users terminal. The parameter CFType permits the user to select
all entries of a particular geometric type. Permissible values of
CFType are POINT, MATRIX, PLANE, VECTOR, SCURV or SSURF.
The CASPA system includes extensive file handling facilities
which enable the user to input data to the system from files and
to permanently save CASPA data, in various forms, in formatted
or unformatted data files.
The basic command to input data from a data file is
READ/›CANON!›,'Filename'!›,unitno!
This command will input to the CASPA system data from the file
named 'Filename' on unit number unitno. The option CANON is used
to specify the precise format of the data. If CANON is included
the data is assumed to be of card image format with card sequence
numbers in columns 73-80, consequently all data beyond column 72
is ignored. If CANON is omitted free format data up to a maximum
of 80 columns is assumed. If unitno is omitted the default value
of 5 is assumed. It should be noted that at least one of the
three optional parameters for this command must be included.
The data file accessed by the READ command can contain either
CASPA commands or canonical forms. In the case of canonical form
data this could have been produced either by the CASPA system
itself or by the APT4 System. CASPA commands can include further
READ statements which can be nested up to a maximum depth of 10.
Canonical form data can also be input from unformatted files
referred to as LDA files. These files have 80 byte, unformatted
records. (i.e. Typically 10 double precision items per record).
They may only be used for the storage of synthetic curve and
sculptured surface canonical forms. CASPA, APT4/SS and non_native
Formatter programs are the likely source of this type of file.
The command to read data from LDA files is
READ/LDA,›,'Filename'!›,unitno!›,ALL!
›,name1!›,name2!,....
The default unit number for this type of read is 10.
The parameter ALL will cause all curve and surface canonical form
data stored in the named file to be read into CASPA,
alternatively selected forms may be read in. The default is ALL.
Output from the system to a data file is obtained by using one of
the commands SAVE, PUNCH or WRITE.
The SAVE command is provided exclusively to enable the user to
preserve his JOURNAL file enable the user to preserve his JOURNAL
file which is created during each interactive session and
contains the sequence of CASPA commands which has been used.
A journal file which has been saved in this way can be re-entered
by using the READ facility, further commands can then be added
interactively. The format for the SAVE command, which must have
at least one of the optional parameters included is
SAVE/›JOURNAL!›,'Filename'!›unitno!
The default value of unitno is 5.
As an example
SAVE/JOURNAL, 'GEOMI.DAT'
Would have the effect of creating a file called GEOMI.DAT on unit
5 which contains the sequence of all CASPA commands used so far
in the current interactive session.
In its basic form the PUNCH command permits the user to punch out
canonical forms in ASCII format to a data file.
The format is -
PUNCH/›CANON!›,'Filename'!›,unitno!, ALL
, Symbol list
For this command the default unitno is 7. The option CANON
defines a card image format with card sequence numbers in columns
73-80. The user can either select ALL, which produces output for
all currently defined canonical forms, or may specify his own
symbol list containing the names of all geometric entities for
which he requires canonical forms. Canonical forms punched out in
this way can be subsequently entered into the CASPA system by
using a READ statement or can be used as input data to the APT4
system.
Four other types of PUNCH command are available for use by the
system programmer when installing or amending the system, these
are:-
PUNCH/SYMBOL›,'Filename'!›,unitno!
This punches out Block Data Source program for the Permanent
Symbol Table. This command will normally only be used after
installation or after editing the PST.
PUNCH/HLPTXT›,'Filename'!›,unitno!
This command punches out a Block Data Source program for the HELP
messages and associated index.
PUNCH/ERROR›,'Filename'!›,unitno!
This command, also generally useful only at installation time,
punches out Block Data Source program for the error messages.
PUNCH/LOAD›,'Filename'!›,unitno!
This command punches a new Permanent Symbol Table installation
data file and will normally only be used after editing the PST if
it is intended to reinstall CASPA on a different system.
The third output command, WRITE provides the user with a facility
to store synthetic curve and sculptured surface canonical form
data in the more compact LDA form instead of ASCII code. The form
of this command is
WRITE/LDA,'filename'›,unitno!›,ALL!
›,name1!›,name2!,...
'Filename' and unitno define the name of the file and the Fortran
logical unit number to which the canonical form data is to be
written. The default unit number is 10.
ALL will cause all the currently defined synthetic curve and
sculptured surface canonical forms to be written out to the file.
Alternatively, only the listed curves and surfaces will be
output. The default is ALL.
The final file handling command is intended to close files.
It is
CLOSE/'Filename'›,KEEP!
unitno ›,DELETE!
For this command the user must specify either the filename or the
unit number and may optionally specify the status as KEEP or
DELETE. The default value of the status is KEEP which saves the
relevant file.
The editor commands, which include the LIST command described in
10.3.1, are provided to enable the system programmer to amend the
Permanent Symbol Table. The commands which result in changes to
the Permanent Symbol Table are:-
INSERT/PST, 'Symbol', APTcode, 'Caspa Class', Caspa Action
This command adds the new symbol 'Symbol' to the PST, together
with its corresponding parameters. 'Caspa Class' must be one of
'HELP', 'GLOBAL', 'GEOMETRY', 'GRAPHICS', 'FILEHANDLER' or
'EDITOR'.
DELETE/PST, Symbol
This command deletes an existing symbol from the Permanent Symbol
Table. Symbol must in this case be a word of the current CASPA
language.
The parameters associated with an existing symbol can be modified
with the command
MODIFY/PST, Symbol, APTcode, 'Caspa Class', Caspa Action.
The CASPA system permits the user to define his own synonyms for
entries in the Permanent Symbol Table. This is achieved by using
the command SYN, a full description of which can be found in
section 1.4 of Volume 1 of this manual.
The form of this command is
SYN/List of synonyms
The list of synonyms contains pairs of words separated by commas.
The first word of each pair is the users chosen synonym and the
second word is entry from the Permanent Symbol Table which it
replaces. This facility can be particularly useful to reduce the
amount of typing when entering data interactively.
As a simple example:
The statements
SYN/P, POINT, C, SCURV
P1 = P/0, 1, 2
P2 = P/2, 4, 3
P3 = P/3, 2, 4
CRV1 = C/SPLINE, P1, P2, P3
Are exactly equivalent to
P1 = POINT/0, 1, 2
P2 = POINT/2, 4, 3
P3 = POINT/3, 2, 4
CRV1 = SCURV/SPLINE, P1, P2, P3
The CASPA system provides an extensive interactive HELP facility.
This facility is driven by Keywords which return helpful messages
to the users terminal. The system is largely self-documenting and
is invoked by the command
HELP
or by
HELP/'Keyword'
Use of the Keywords GEOMETRY, GRAPHICS or COMMANDS will produce
list of appropriate Keywords for information in each of these
areas.
An interactive CASPA session is closed by using one of the
commands
EXIT
or
FINI
After this command the user has the option of saving or deleting
3 files created by the system during the session. These are:-
The Journal file containing the complete command sequences.
A file of all CASPA error messages produced during the session.
A file of all GKS (Graphics Kernel System) errors during the
session.