CHAPTER 8 REGIONAL MILLING OF SCULPTURED SURFACES
Figure 8.1
212
REGIONAL MILLING OF SCULPTURED SURFACES
The chapter describes the facilities provided for the
regional milling of a sculptured surface.
The primary means of tool control is a space curve. Since a
sculptured surface contains an infinite number of space
curves, a surface is used to represent the large family of
consecutive paths required in a regional milling process.
In general, this tool path control surface is a different
surface from the surface being machined. In the special
case, where the tool path is to be developed using the natural
flow lines of a mesh structured sculptured surface, then the
surface being machined can also be used as the tool path
control surface.
This approach gives the programmer considerable control over
the choice of tool path when carrying out regional milling.
Multi-axis control is available during regional milling but
only a 'spherical' cutter is currently implemented.
The basic regional milling algorithm addresses the tool to
surface relationship in the following manner,
'Given a tool with its end at TE, its axis
at a vector TA and a direction of
projection TD, calculate the distance the
tool must move in the direction TD in order
to contact the surface S.'
This is illustrated in Figure 8.1.
213
Figure 8.2
Figure 8.3
214
The user must understand the difference between the tool axis
vector, TA and the tool projection vector, TD, in order to use
the regional milling facilities successfully.
In the conventional Arelem, the tool is constrained to be in
contact with three surfaces, part, drive and check surfaces,
but the tool axis orientation can be defined independent of
these surfaces, similarly in regional milling, the tool is
constrained to be in contact with the part surface, its
position being defined by a control point and tool projection
vector, but the tool axis orientation may be defined
independently.
There are two ways in which the tool to surface contact can be
controlled by a point and tool projection vector, 'ON' and
'AT'.
If 'ON' is specified the tool end is constrained to lie on the
line generated by the current control point and tool
projection vector, with the tool envelope touching the surface
and the tool axis at the prescribed orientation. Figure 8.2
illustrates this type of tool drive control.
If 'AT' is specified then the tool is positioned so that the
tool envelope contacts the surface at the point where the tool
projection vector from the control point pierces the surface,
with the tool axis at the prescribed orientation, as shown in
Figure 8.3.
215
Figure 8.4
216
The concept of tool control by a point and tool projection
vector described in the previous section can be extended to
give tool path control by using a synthetic curve to represent
a continuous path of space points and vectors. Figure 8.4
shows an 'ON' type tool path, where the drive control curve,
DC1 was defined in the following manner,
P1 = POINT/12,-40,30
P2 = POINT/20,-28,30
P3 = POINT/40,-20,30
P4 = POINT/68,-40,30
C1 = SCURV/CURSEG,P1,P2,P3
C2 = SCURV/CURSEG,P3,P4
DC1 = SCURV/COMBIN,C1,C2
and the tool projection vector was an explicitly defined
vector,
TPV = VECTOR/0,0,-1
and the tool axis orientation was defined by the vector,
TA = VECTOR/0,0,1
Note, that the drive curve can have slope discontinuity at an
arc junction, such as shown at node 1 of this example.
217
Figure 8.5
Figure 8.6
218
The continuous sheet of cross vectors which can be attached to
a synthetic curve, by applying CRSSPL constraints at each arc
junction, (see Chapter 2, Section 2.2.2 of this Volume) can be
used as tool projection vectors and/or for tool axis control.
For example, if we apply, CRSSPL constraints to C1 and C2 in
our previous example, in the following manner,
TPV0 = VECTOR/0.3,-0.3,-0.8
TPV1 = VECTOR/0,-0.2,-0.8
TPV2 = VECTOR/-0.1,-0.1,-0.8
C1 = SCURV/CURSEG,P1,CRSSPL,TPV0,P2,P3,CRSSPL,TPV1
C2 = SCURV/CURSEG,P3,CRSSPL,TPV1,P4,CRSSPL,TPV2
Then Figure 8.5 shows the tool path generated if the resultant
sheet of cross vectors is used to define the tool projection
vectors, whilst maintaining the fixed tool axis vector, TA.
Whereas, Figure 8.6 shows the resultant tool path and tool
orientations, if the cross vectors are used to give variable
tool axis control and the tool projection vector is kept
fixed.
The synthetic curve used for drive control can either be
explicitly defined as in these examples or can be implicitly
defined as a TANSPL or CRSSPL curve of a sculptured surface
with a mesh structure. In which case, the surface normal
vectors may be used for tool axis and tool projection vector
control.
Mesh structured sculptured surfaces include those defined by
SMESH, GENCUR, REVOLV, RULED and 'cross product' formats.
The use of a synthetic curve as the drive control, means that
no check surface is required, because the drive geometry is
naturally bounded. However, the user can limit the paths by
parametric values. Refer to Chapters 2 and 3 of this Volume
for details of the parametric structure of curves, and
Chapters 4, 5 and 6 for the parametric structure of sculptured
surfaces.
219
Figure 8.7
220
A major requirement when machining sculptured surfaces is the
ability to automatically generate the cutter path needed to
mill a bounded region on a surface. This is done by
extending the idea of tool path control by a synthetic curve
and using the infinite family of curves available in a
sculptured surface for drive control.
In general the surface used for drive control is not the same
as the surface being machined and must be a mesh structured
surface. The tool path produced can be controlled by either
the TANSPL or CRSSPL curves of the drive surface and can
either zigzag back and forth across the surface or be
unidirectional. The tool projection vectors can be either in
a fixed direction or controlled by the surface normal of the
drive surface, likewise the tool axis orientation. The step
over from one drive curve to the next can be either calculated
automatically based on cusp height requirements or be a fixed
parametric step across the drive surface. Control of
feedrates and tool positioning between passes is also
provided.
Figure 8.7 shows a zigzag tool path on a sculptured surface,
where the drive surface was a rectangular planar surface with
the stepover controlled by cusp height requirements.
When programming regional milling the user is able to control
a single tool position, a continuous tool path or the
automated clearance of a region. This flexibility means that
if the automated regional milling does not satisfy the users
requirements he can generate his own type of control by using
the explicit lower level commands that are available.
There are two types of command associated with regional
milling, the first identified by the major word SCON specify
the control surfaces and regional milling conditions and the
second identified by the major word SMIL provide tool position
and path control, generating cutter location data. These are
described in detail in Sections 8.6 and 8.7.
In addition, the general APT commands CUTTER, INTOL, OUTTOL,
MAXDP and NUMPTS are utilized during the regional milling of
sculptured surfaces. Their effect is described in Section
8.5.
221
The data and commands associated with regional milling fall
into five basic groups.
. Definition of surface(s) to be machined.
. Definition of drive control parameters,
i.e. drive control surface, tool axis vector,
tool projection vector, clearance plane etc.
. Specification of cutter, tolerances and limits.
. Specification of the surfaces and conditions
that pertain to the current regional milling
operation. (SCON commands)
. Selection of regional milling command(s) to
generate tool path. (SMIL command)
To illustrate this, the program used to produce the tool path
shown in Figure 8.7 will be developed. The complete program
is given in Section 8.4.2.
The intention of the program is to machine a rectangular area
on the sculptured surface using a zigzag path with the major
direction parallel to the x axis and the stepover in the y
direction to be controlled by restricting the cusp height to
0.5 mm.
In this example it is assumed that the part is being machined
on a three axis machine, therefore the tool axis will be fixed
and parallel to the positive z axis.
222
The first step therefore is to define the sculptured surface
that is to be machined, in this case the SMESH surface, PS0
defined below.
P1 = POINT/0,0,20
P2 = POINT/30,-5,26.5
P3 = POINT/60,-5,26
P4 = POINT/86,0,20
P5 = POINT/-6,-30,15
P6 = POINT/28,-25,22.75
P7 = POINT/66,-25,22.5
P8 = POINT/100,-30,15
P9 = POINT/-12,-60,0
P10 = POINT/22,-55,8.75
P11 = POINT/70,-55,9.5
P12 = POINT/114,-60,0
PS0 = SSURF/SMESH,XYZ,SPLINE,P1,P2,P3,P4, $
SPLINE,P5,P6,P7,P8, $
SPLINE,P9,P10,P11,P12
The next step is to define the drive control parameters.
Since the region to be machined is rectangular it cannot be
defined with respect to the parametric lines lying within the
surface itself, therefore a separate drive control surface is
required. In this case a plane rectangular surface above the
surface to be machined, parallel to the XY plane should give
the required boundary and tool path control. Such a surface
can be defined by taking a TRANSL type cross product of two
straight lines.
If the corners of the required rectangle are (30,-15,z),
(70,-15,z), (30,-45,z), and (70,-45,z), then the following
statements will define a suitable plane rectangular surface to
be used for drive control.
R1 = POINT/30,-15,50
R2 = POINT/70,-15,50
R3 = POINT/0,0,0
R4 = POINT/0,-30,0
C1 = SCURV/CURSEG,R1,R2
C2 = SCURV/CURSEG,R3,R4
DS1 = SSURF/TRANSL,C1,CROSS,C2
This surface provides an infinite number of drive curves
parallel to the x axis with normal vectors parallel to the
negative z axis which can be used for tool projection.
223
The tool axis vector, parallel to the positive z axis since
the part is to be machined on a three axis machine, is defined
explicitly, namely,
TA = VECTOR/0,0,1
Note, even though no tool axis vector components are to be
output on the cutter location file, a tool axis vector must be
specified, otherwise an error will occur.
The third step is to define the cutter, tolerances and limits
to be used by the regional milling algorithms. If undefined
then the standard defaults are used. Note that only a ball
ended or point cutter can be accepted and that the cutter is
treated as a complete sphere. For this example a 10 mm
diameter ball ended cutter is used and the default values for
INTOL, OUTTOL, NUMPTS and MAXDP are taken as acceptable,
therefore the only statement required here, is
CUTTER/10,5
If required, any conventional APT commands may be programmed
to move the cutter from its initial position to a suitable
position from which to approach the area to be machined,
including appropriate post processor commands. The next step
is to specify which surfaces and conditions apply to the
following regional milling command. This is done by the SCON
command which is described in Section 8.6. It is important
to note that for each type of regional milling command certain
groups of conditions and parameters must be defined. A table
of these is given in Section 8.7.5. If a required group is
omitted then error 3565 will occur and diagnostic information
indicating which groups are defined and which are not will be
output. See Section 8.8 for details.
In addition to the SCON commands used for defining parameters
etc., there is a special command for initializing the
parameters and setting them in an undefined state. In order
to be certain that for any regional milling command the
required data has been specified, the command to initialize
all the groups should be programmed first, namely.
SCON/INIT,ALL
Since it is intended to perform a zigzag type of regional
milling over the area, it is necessary to specify the drive
control parameters, the surface to be machined, the tool axis,
stepover parameters and feedrate.
224
First the drive control should be ON type control, over the
whole of the parametric extent of the plane rectangular
surface, DS1. The tool projection vectors being normal to the
drive control surface. This is defined by the following
statement
SCON/DS,DS1,PARAM,0,1,0,1,ON,NORMAL
where DS indicates that SCON is defining
the drive control parameters
DS1 is the previously defined drive
control surface
PARAM indicates DS parametric limits follow.
0 lower )
) extent of the u parameter
1 upper )
0 lower )
) extent of the v parameter
1 upper )
ON type of tool/surface contact required.
See Section 8.1.
NORMAL indicates that the surface normal at a
point should be used as the tool
projection vector.
Next the surface to be machined is selected together with an
indication of which side of the surface is to be cut and of
any material that is to be left on for subsequent finish
machining, in the following manner,
SCON/PS,TO,PS0,MINUS,0
where PS indicates that SCON is defining the
surface to be machined (part surface).
TO indicates tool/surface relationship
and has the same meaning as in
conventional APT.
PS0 is the previously defined sculptured
surface that is to be machined.
225
MINUS indicates that the tool should be on
the side of the surface opposite to
the surface NORMAL (cross product of
TANSPL and CRSSPL vectors).
O indicates that for this case no
material is to be left on, that is
this is a final cut.
The tool axis is defined as being fixed and in the direction
of the vector TA by the SCON statement,
SCON/AXIS,TA
The stepover parameters needed to calculate the parametric
step across the drive control surface and a lift off required
between passes are specified next. For this example the
requirement is for the maximum cusp height between adjacent
passes to be 0.5 mm, in addition the physical stepover should
not exceed 5 mm. and the tool may remain in contact with the
surface between adjacent passes so no lift off is required.
The SCON statement to set up these parameters is
SCON/STEPOV,0.5,5,0,0
where 0.5 maximum cusp height
5 maximum physical stepover
0 lift off between passes
0 not used
Finally, it is necessary to specify the feedrates which will
be automatically transferred to the CLFILE as FEDRAT records
during the automatic generation of the zigzag tool path, this
is done as follows,
SCON/FEED,100,200,50,3000
where 100 feedrate for passes in the major
direction.
200 feedrate for side stepping between
major passes.
50 feedrate for plunging into the
material when this is required.
3000 feedrate for rapid withdrawal to and
traverse across a clearance plane
when required.
226
Note that the regional milling algorithm does not insert a
feedrate record on the CLFILE before the first path as will be
seen on the CLFILE listing in Section 8.4.4. It is therefore
the responsibility of the programmer to ensure that the
initial feedrate is suitable, by explicitly programming a
FEDRAT command before the regional milling command. It may
be advantageous to include an additional regional milling
command to specify the initial move bringing the tool into
contact with the job at an even lower feedrate.
Having defined all the surfaces and conditions required for
the regional milling operation, all that remains is to invoke
the regional milling tool path generation by programming the
SMIL command, thus,
SMIL/ZIGZAG,DS,PARAM,0,0,TANSPL,PLUS,STEPOV,PLUS,0
where ZIGZAG indicates that a zigzag path across
the surface is required.
DS indicates that the surface specified
in the preceding SCON/DS command is
to be used for drive control.
PARAM,0,0 u and v parameters of the start point
on the drive surface, i.e., the
zigzag path will start at the point
(u=0,v=0).
TANSPL indicates that the major passes are to
be along TANSPL parametric curves.
PLUS indicates that the first pass will be
in the positive direction along the
curve (i.e. from v=0 to u=1).
STEPOV,PLUS indicates that the stepover direction
should be in the positive, CRSSPL
direction in this case, (i.e. from
v=0 to v=1).
O this scalar indicates that the first
cut vector is required.
227
The following is the regional milling program which generated
the tool path illustrated in Figure 8.7.
ISN
1. PARTNO/'FIG8.7 REGIONAL TOOL CONTROL'
2. REMARK/'FIXED TOOL PROJECTION VECTOR'
3. REMARK/'TOOL AXIS CONTROLLED BY SURFACE NORMAL'
4. PRINT/SSPRT,OFF
5. UNITS/MM
6. CLPRNT
7. NOPOST
8. $$
9. $$ DEFINE SCULPTURED SURFACE TO BE MACHINED (PART SURFACE)
10. $$
11. P1=POINT/0,0,20
12. P2=POINT/30,-5,26.5
13. P3=POINT/60,-5,26
14. P4=POINT/86,0,20
15. P5=POINT/-6,-30,15
16. P6=POINT/28,-25,22.75
17. P7=POINT/66,-25,22.5
18. P8=POINT/100,-30,15
1z), and (70,-45,z), then the following
statements will define a suitable plane rectangular surface to
be used for drive cINE,P1,P2,P3,P4 $
23. SPLINE,P5,P6,P7,P8, $
23. SPLINE,P9,P10,P11,P12
24. $
25. $$ DEFINE DRIVE CONTROL PARAMETERS
26. $$
27. R1=POINT/30,-15,50
28. R2=POINT/70,-15,50
29. R3=POINT/0,0,0
30. R4=POINT/0,-30,0
31. C1=SCURV/CURSEG,R1,R2
32. C2=SCURV/CURSEG,R3,R4
33. DS1=SSURF/TRANSL,C1,CROSS,C2 $$ DRIVE CONTROL SURFACE
34. $$
35. TA=VECTOR/0,0,1 $$ TOOL AXIS VECTOR
36. $$
37. $$ CUTTER, TOLERANCES AND LIMITS
38. $$
39. CUTTER/10,5 $$ 10 MM DIA. BALL ENDED
CUTTER
40. $$
41. FROM/(STPT=POINT/50,-60,50)
42. $$
43. $$ SET REGIONAL MILLING CONDITIONS
44. $$
228
45. SCON/INIT,ALL $$ INITIALIZE ALL
CONDITIONS
46. SCON/DS,DS1,PARAM,0,1,0,1,ON,NORMAL $$ DRIVE CONTROL
SPECIFICATION
47. SCON/PS,TO,PS0,MINUS,0 $$ PART SURFACE
SELECTION
48. SCON/AXIS,TA $$ TOOL AXIS
49. SCON/STEPOV,0.5,5,0,0 $$ STEPOVER
PARAMETERS
50. SCON/FEED,100,200,50,3000 $$ FEEDRATES
51. $$
52. $$ GENERATE ZIGZAG TOOL PATH
53. $$
54. SMIL/ZIGZAG,DS,PARAM,0,0,TANSPL,PLUS,STEPOV,PLUS,0
55. $$
56. FINI
During the execution phase, informative data is printed on the
verification listing for each SMIL command programmed. This
consists of a record of the statement number of the SMIL
command
PATH = statement number
followed by a summary of principal curvatures encountered
during the generation of each path which is listed in tabular
form under the following headings.
NO path number.
ERRNO A non-zero value indicates that an error has
occurred during the generation of the current
path. The value is the number which is added
to 3550 to indicate the execution phase error
number. See Section 8.8.4 for details.
CLCT number of cutter location points generated for
current path.
PATH LEN. length of current path.
RADIUS/SURF minimum principal radius of curvature where the
tool side of the surface is concave.
PATCH patch number ) of point on part surface
U - SRF u parameter ) at which the above
229
V - SRF v parameter ) minimum occurred.
U - DRV u parameter ) of associated drive control
V - DRV v parameter ) surface point.
RADIUS/SURF minimum principal radius of curvature where the
tool side of the surface is convex
PATCH patch number ) of point on part surface
U - SRF u parameter ) at which the above
V - SRF v parameter ) minimum occurred
The regional milling command, SMIL, operates like the POCKET
command, and generates a POCKET header command on the CLFILE
followed by one or more GOTO records defining the cutter
locations and tool orientations (if required). FEDRAT
records are automatically inserted between paths during
regional clearance control, as shown in the following extract
from the CLPRNT generated by the example program given in
Section 8.4.2.
1 PARTNO FIG 8.7 REGIONAL TOOL CONTROL
5 UNITS/MM
39 CUTTER/ 10.0000, 5.0000
41 FROM / STPT ( 0)
41 X Y Z
50.0000000 -60.0000000 50.0000000
54 POCKET
54 GOTO
54 29.9999408 -15.0001049 25.2813358
32.9617996 -15.0001077 25.5262947
35.3968353 -15.0001087 25.7287387
40.0002441 -15.0001087 25.8567237
43.7345619 -15.0001077 25.9056396
47.5529518 -15.0001058 25.8720970
51.3971214 -15.0001029 25.7544670
55.2055816 -15.0000982 25.5532073
58.0020980 -15.0000114 25.3487453
60.7147293 -14.9999732 25.1007022
64.1570053 -15.0000877 24.7075939
67.0785446 -15.0000743 24.3260345
230
70.0000915 -15.0000686 23.9134235
54 FEDRAT/ 200.0000
54 GOTO
54 70.0004119 -17.4781227 23.6054039
70.0003051 -19.6447601 23.2782897
70.0003662 -20.7345848 23.0930557
54 FEDRAT/ 100.0000
54 GOTO
54 65.7345275 -20.7347278 23.6098308
62.2279968 -20.7346401 23.9676532
58.4820823 -20.7347431 24.2668819
54.5071678 -20.7347488 24.5004215
50.3947906 -20.7347526 24.6577339
46.2183952 -20.7347545 24.7328739
42.0598335 -20.7347564 24.7225208
37.9910316 -20.7347545 24.6263351
35.0479660 -20.7346839 24.4997100
32.5242156 -20.7340621 24.3496341
29.9999179 -20.7339820 24.1572742
54 FEDRAT/ 200.0000
54 GOTO
54 29.9997920 -23.1114540 23.5984230
29.9999504 -25.8220119 22.8930854
29.9999637 -26.6968173 22.6479644
54 FEDRAT/ 100.0000
54 GOTO
54 33.4448585 -26.6967735 22.8658714
37.4729843 -26.6967773 23.0388813
41.8025741 -26.6967773 23.1399250
46.3555526 -26.6967773 23.1608638
51.0141754 -26.6967754 23.0963783
55.6367301 -26.6967716 22.9457893
58.9883232 -26.6969947 22.7792015
62.1941757 -26.6970825 22.5701599
65.2242813 -26.6971015 22.3222560
67.6121292 -26.6968212 22.0885715
69.9985733 -26.6976222 21.8253040
Note that no FEDRAT record has been inserted before the first
231
path by SMIL. It is the responsibility of the programmer to
ensure that a FEDRAT statement has been defined before the
SMIL command otherwise the post processor will use its default
value for feedrate if no value has been previously programmed.
The following APT commands are used during the regional
milling of sculptured surfaces. If omitted the system
default values for the parameters are used.
CUTTER/d,r The APT cutter parameters are used during
regional milling. However, at present, only
point and ball ended cutters are acceptable
and the cutter is treated as a complete sphere.
An unacceptable cutter definition will result
in error number 3566 - 'GENERAL APT ARELEM
CONDITIONS FOR REGIONAL MILLING ARE INVALID
(PROBABLY UNACCEPTABLE CUTTER TYPE)', when
processing a SMIL command.
INTOL/... The inner and outer tolerances are used for
the part surface. If the drive control is
OUTTOL/.. provided by a synthetic curve, then since
a space curve has no 'side', the outer drive
surface tolerance is used to construct a
tolerance 'tube' around the drive curve. If
the drive control is provided by a sculptured
surface then again the OUTTOL/ setting for
for drive surface is used for drive surface
control.
MAXDP/a,b Sets limits for cut vectors and tool paths.
For regional milling, variable a, which
specifies the maximum length of a cut vector
during continuous path motion, is used
primarily to override problems that may occur
as a result of stepout calculations based on -
curvature. If a satisfactory stepout has not
been achieved after 20 iterations then error
number 3552 - 'THE CUTTER COULD NOT MAKE A
PROPER STEPOUT FROM THE CURRENT LOCATION'
will be output.
232
Variable b, specifies the maximum length of a
tool path generated by SMIL. Note that
regional control generates more than one path
and this limit is applied to each path
separately. Error number 3554 - 'THE TOTAL
LENGTH OF THE CURRENT CUTTER PATH EXCEEDED
MAXDP SETTING' will occur if a path length
exceeds this maximum.
NUMPTS/n Maximum number of points in a single tool path.
For regional control this applies to each of
the multiple paths that may be generated.
Error number 3553 - 'MORE CL POINTS WERE
GENERATED IN A SINGLE PATH THAN PERMITTED BY
NUMPTS SETTING', will result if this value
is exceeded.
The normal default values for these parameters are:
OR IF UNITS/MM
PROGRAMMED
INTOL 0 0 mm
OUTTOL 0.0005 0.0127 mm
Max. cut vector length 10 25.4 mm
Max. tool path length 200 5080 mm
Max. number of points/path 400
The parameters which specify the surfaces and conditions that
are to apply to subsequent regional milling operations can be
divided into six groups:
. Part surface parameters
. Drive control parameters
. Tool axis orientation
. Feedrate selection
. Step over control
. Clearance plane specification.
Each group is specified by a single SCON command and are
discussed in detail in the following subsections. In
addition, there is provision for cancelling the effect of any
or all of these sets of parameters, see Section 8.6.7.
233
Figure 8.8
Figure 8.9
234
The groups specifying part surface, drive control and tool
axis orientation are mandatory for all types of regional
milling tool control. In addition, the feedrate and step
over groups are required for both types of regional clearance
tool path generation and the clearance plane must also be
specified for the pick feed type of control. See Section
8.7.5 for further details.
The following information is required about the part surface
(surface to be machined) during regional milling:
. surface canonical form data
. tool to surface relationship
. side of surface to be machined
. amount of material to be left on
or removed from the surface
The part surface can be any slope continuous sculptured
surface. If the surface has a mesh structure it may also be
used for drive control.
The SCON command which specifies the part surface parameters
takes the form
SCON/PS, TO, surface, PLUS ,thick
ON MINUS
where PS indicates part surface parameters
TO specifies that the tool is to be
offset from the part surface, in the
same sense as for conventional APT
(TLOFPS), see Figure 8.8.
ON specifies that the tool tip must be ON
the part surface, like TLONPS in
conventional APT. This may cause
gouging, see Figure 8.9.
surface is the symbolic name of the part
surface, which must be previously
defined.
PLUS indicates that the tool side of the
surface is determined by the cross
product,SN, of the TANSPL vector with
the CRSSPL vector, see Figure 8.9.
235
MINUS indicates that the tool is on the
opposite side of the surface, see
Figure 8.9.
thick is a scalar quantity representing the
thickness of material to be left on
or removed from the surface. A
positive quantity will be left on and
a negative quantity removed.
In the event of the surface referenced by the SCON/PS
statement being incorrectly defined, error number 3522 - 'A
MINOR WORD OR CANONICAL FORM IN THE INPUT STREAM IS IN THE
WRONG POSITION OR INVALID' will occur.
Drive control can be with respect to either a synthetic curve
or a sculptured surface. The parameters required for regional
milling are basically the same for both types of control,
namely,
. curve or surface canonical form data
. bounds of the drive geometry
. type of drive control, 'ON' or 'AT'
. tool projection vector(s)
The only limitation on the drive control geometry is that when
a sculptured surface is used for drive control, it must have a
mesh structure, e.g. SMESH, GENCUR, REVOLV, RULED and 'cross
product' type surfaces.
A drive control curve can have slope discontinuity, be closed,
repeat or cross itself.
An incorrectly defined surface will result in error number
3522 - 'AN INPUT CANONICAL FORM HAS NOT BEEN DEFINED PROPERLY'
There are two forms of the SCON command for specifying drive
control parameters, one for control by a synthetic curve and
the other by a sculptured surface.
236
For synthetic curve drive control:
SCON/DS,curve,PARAM,ulow,uhigh, AT, vector
ON CRSSPL
where DS indicates drive control parameters.
curve symbolic name of a previously defined
synthetic curve.
PARAM indicates that drive control
parametric limits follow, i.e. bounds
of the drive geometry.
ulow lower extent of drive curve.
uhigh upper extent of drive curve.
If ulow exceeds uhigh then error
number 3523 - 'AN INPUT CANONICAL
FORM IS NOT SUITABLE FOR THIS
APPLICATION' will occur.
AT 'AT' type drive control, tool contacts
the part surface at the point where
the tool projection vector from a
control point pierces the surface. See
Figure 8.3.
ON 'ON' type drive control, tool tip is
constrained to be ON the tool
projection vector from a control
point. See Figure 8.2.
vector fixed tool projection vector from the
curve to the part surface, may be the
symbolic name of a previously defined
vector or a nested definition.
CRSSPL indicates that the synthetic curve
posseses a complete fence of CRSSPL
vectors which are to be used as
variable tool projection vectors.
237
For drive control by a mesh structured sculptured surface:
SCON/DS,surface,PARAM,ulow,uhigh,vlow,vhigh, AT, vector
ON NORMAL
where DS indicates drive control parameters.
surface symbolic name of a previously defined
mesh structured sculptured surface.
PARAM indicates that drive control
parametric limits follow,i.e. bounds
of the drive surface.
ulow lower extent in the TANSPL direction.
uhigh upper extent in the TANSPL direction.
vlow lower extent in the CRSSPL direction.
vhigh upper extent in the CRSSPL direction.
AT 'AT' type drive control,
see Figure 8.3.
ON 'ON' type drive control,
see Figure 8.2.
vector fixed vectorial direction of tool
projection.
NORMAL the surface normal at a point on the
drive surface will be used as the tool
projection vector. If ulow exceeds
uhigh or vlow exceeds vhigh then error
number 3523 - 'AN INPUT CANONICAL FORM
IS NOT SUITABLE FOR THIS APPLICATION'
will occur.
Note, tool projection vectors or their inverse must intersect
the part surface otherwise error number 3551 - 'THE CUTTER
COULD NOT CONTACT THE PART SURFACE FROM THE PRESENT POSITION'
will ocur whilst processing subsequent SMIL commands.
238
For regional milling, the tool axis can be either fixed or
variable. If the tool axis vectors are required on the
CLFILE then MULTAX must be programmed as for conventional APT.
The tool axis orientation must be specified even if it fixed
parallel to the positive z axis. For a fixed tool axis, the
SCON command is:
SCON/AXIS,vector
in which case the tool axis will be orientated parallel to the
specified vector, and its component will be output to the
CLFILE if MULTAX has been programmed.
For a variable tool axis, the command takes the form:
SCON/AXIS,NORMDS, PLUS
MINUS
for drive control by a curve the attached fence of CRSSPL
vectors will be used for tool axis orientation and for control
by a sculptured surface, the surface normal will be used. In
either case, the modifier, PLUS will take the orientation of
the variable vector for the tool axis whereas MINUS will
reverse it.
239
The different feedrates that are required for automatic
selection during the generation of a tool path to mill a
region, are specified by the command:
SCON/FEED,f1,f2,f3,f4
where f1 feedrate for passes in the major
direction while regional milling.
f2 feedrate for side stepping between
major passes.
f3 feedrate for plunging into material,
when this is required.
f4 feedrate for rapid withdrawl to and
traverse across a clearance plane.
All four values must be input, but a zero value will be
ignored during regional clearance processing. If not error
number 3524 - 'TOO MANY OR FEW PARAMETERS HAVE BEEN INPUT'
will occur.
Note that the feedrate for the first pass of a regional
clearance sequence must be explicitly programmed (FEDRAT/f)
before the SMIL command.
Also, this command will not select feedrates for the
positioning and single path forms of the SMIL command, again
they should be explicitly programmed.
240
The stepover between passes during regional clearance tool
path generation can be controlled by either a fixed parametric
step across the drive surface or maximum cusp height
requirements further limited by either physical or parametric
step size. In addition, it may be desirable to lift the tool
off from the surface whilst moving from one pass to the next.
The stepover conditions are specified by the command:
SCON/STEPOV,s1,s2,s3,s4
where s1 = 0 fixed parametric step required.
> 0 maximum allowable cusp height between
consecutive passes.
s2 > 0 maximum physical stepover distance.
< 0 if s1 = 0 parametric stepover across
the drive surface.
s1 > 0 maximum parametric step.
s3 additional thickness to be added to
part surface while stepping over.
Equivalent to lift off and plunge
between passes.
s4 not used, but must be entered other-
wise error number 3524 - 'TOO MANY OR
FEW PARAMETERS HAVE BEEN INPUT' will
occur.
241
The clearance plane for rapid withdrawal and traverse during
the SMIL/PICKFD type of regional clearance is defined by the
SCON command,
SCON/FEED,plane
where plane is an APT plane.
Provision is made to globably or selectively cancel regional
milling conditions.
All regional milling conditions are cancelled by the command:
SCON/INIT,ALL
This is the state of all regional milling conditions at the
start of a program. If an SMIL command requires a set of
conditions that have not been specified, that is one in the
cancelled state, error no. 3565 will be output and no tool
path produced. Diagnostic information is supplied to
identify which set or sets of data have not been specified,
see Section 8.8.
Sets of data can be selectively cancelled by using the command
SCON/INIT,PS,DS,etc .......
242
There are four regional milling tool control commands
available, one for tool positioning, one for generating a
single tool path and two for area clearance.
They are:
SMIL/POSN,..... tool positioning
SMIL/PATH,..... single tool path
SMIL/ZIGZAG,... zigzag area clearance
SMIL/PICKFD,... pick feed area clearance.
Each command is described in detail in the following
subsections. As pointed out in the previous section, certain
conditions must be specified in order that a regional milling
command can be processed satisfactorily. These are indicated
in each subsection, in addition a summary of these
prerequisites is given in Section 8.7.5.
For all regional milling tool control commands MULTAX can be
ON or OFF as required.
As for SCON, all surfaces referenced must have been correctly
defined otherwise error number 3562 - 'AN INPUT CANONICAL FORM
HAS NOT BEEN DEFINED PROPERLY' will result. Likewise if
invalid vocabulary or parameter types are used error number
3561 - 'A MINOR WORD OR CANONICAL FORM IN THE INPUT STREAM IS
IN THE WRONG POSITION OR INVALID' will be output.
If a part of drive surface cannot be loaded into memory whilst
processing on SMIL command, either because it has been
incorrectly defined or there is insufficient space for the
surface canonical form, error number 3567 - 'PART OR DRIVE
GEOMETRY COULD NOT BE FETCHED BECAUSE OF DEFINITION ERROR OR
SPACE LIMITATION' will occur.
243
Figure 8.10
Figure 8.11
Figure 8.12
244
The positioning command is used to produce a single tool
position, providing the programmer with convenient and
flexible tool control when required. Unlike conventional APT
motion commands, the PATH and area clearance commands do not
depend on a successful positioning command to bring the tool
into contact with the surface.
The command format is,
scalar
SMIL/POSN,DS,PARAM,u,v,INCR,vector
plane
where u,v are the parameters of the drive
control point and tool projection
vector, within the range specified
for the drive control geometry in the
preceding SCON/DS, which are to
control the tool position. u or v
outside this range will result in
error number 3563 - 'AN INPUT
CANONICAL FORM IS NOT SUITABLE FOR
THIS APPLICATION'.
If the drive geometry is a curve, the
v parameter must be included but is
ignored.
scalar
INCR,vector indicates how the tool is to be backed
plane off from the part surface. This
couplet must be programmed even if no
back off is required, in which case
INCR,0 should be used.
scalar causes the final tool position to be
back along the tool projection
direction by this scalar amount. See
Figure 8.10.
vector causes the final tool position to be
the result of moving the tool from
the surface contact point in the
direction and by the magnitude of the
vector, as shown in Figure 8.11.
plane causes the tool end to be retraced
the plane by the shortest distance
from the surface contact point.
Figure 8.12.
245
Figure 8.13
246
Only the final cutter offset position is output to the cutter
location file.
Before SMIL/POSN can be successfully processed, the part
surface, drive control parameters and tool axis orientation
must have been satisfactorily defined.
A typical use of this command would be to bring the tool
safely into contact with the surface to be machined, as shown
in Figure 8.13, by first positioning the tool above the
initial position at rapid traverse rate, then plunging into
the part to the initial position at a suitable feedrate.
e.g. V1 = VECTOR/0,0,2
RAPID
SMIL/POSN,DS,PARAM,0,0,INCR,V1
FEDRAT/2
SMIL/POSN,DS,PARAM,0,0,INCR,0
which would result in the following records being written to
the cutter location file.
RAPID
POCKET
GOTO
2.2376111 0.0000000 3.9474828
FEDRAT 2.0000
POCKET
GOTO
2.2376111 0.0000000 1.9474828
The SMIL/PATH,... command is used to program a single tool
path. The drive control geometry for the path can be either
an explicitly defined synthetic curve or one of the infinite
number of implicit curves contained within a sculptured
surface.
247
The command format is,
SMIL/PATH,DS,PARAM,ust,vst, TANSPL , PLUS ›,1!
CRSSPL MINUS -
where ust,vst are the parameters of the initial
point on the drive control surface.
If the drive geometry is a synthetic
curve, the vst parameter must still
be included but is ignored. The
point must be within the bounds of
the drive geometry region as
defined in the preceding SCON/DS
statement, otherwise error number
3563 - 'AN INPUT CANONICAL FORM IS
NOT SUITABLE FOR THIS APPLICATION'
will occur.
TANSPL indicates that the TANSPL curve
through the point selected by ust and
vst is to be used for tool path
control.
CRSSPL indicates that the CRSSPL curve
through point ust,vst is to be used
for path control.
Note: Only TANSPL has any meaning if
the drive control geometry is a
synthetic curve.
PLUS indicates that the drive control curve
is to be traversed in the direction
of increasing parametric values.
MINUS indicates that the direction of
traverse is to be that of decreasing
parametric value.
1 the final optional parameter, if set
to 1 will cause the first cut vector
of the tool path to be omitted from
the cutter location file. If this
parameter is omitted or set to zero,
then the first cut vector will be
produced.
The tool path generated will start at the initial position
selected by ust,vst and extent to the boundary of the drive
geometry specified in the preceding SCON/DS statement, in the
indicated direction.
248
No feedrate commands are generated by the SMIL/PATH command,
only cutter location data. It is the responsibility of the
programmer to insert FEDRAT commands where required.
The optional feature to omit the first cut vector may be
required to prevent dwell marks caused by repetition of cutter
location, or to permit flexible feedrate selection. For
example, if the tool is brought into contact with the surface
at a reduced feed by a SMIL/POSN command, then the feed can be
increased for the SMIL/PATH command and the omission of the
first cut vector will prevent a dwell mark occurring, in the
following manner,
FEDRAT/2
SMIL/POSN,DS,PARAM,0,0,INCR,0
FEDRAT/4
SMIL/PATH,DS,PARAM,0,0,TANSPL,PLUS,1
which would result in the following records being written to
the cutter location file.
FEDRAT/ 2.0000
POCKET
GOTO
2.2376111 0.0000000 1.9474828
FEDRAT/ 4.0000
POCKET
GOTO
2.2376112 1.0000000 1.9474827
2.2376112 2.0000000 1.9474827
Before SMIL/PATH can be successfully processed the part
surface, drive control parameters and tool axis orientation
must have been satisfactorily defined by preceding SCON
statements.
249
250
The ZIGZAG type of area clearance will produce a sequence of
tool paths zigzaging back and forth across the sculptured
surface. The user can select the major and minor directions,
the initial major motion direction and the direction of
stepover between passes. The boundaries of the region to be
machined are defined by the preceding SCON/DS statement. The
drive control geometry must be a mesh structured sculptured
surface.
The command format is,
SMIL/ZIGZAG,DS,PARAM,ust,vst,TANSPL ,PLUS ,STEPOV,PLUS ›,1!
CRSSPL MINUS MINUS
where ust,vst are the parameters of the drive
conrol point at which the zigzag
path is to begin.
TANSPL indicates that the major tool path is
to be in the tangent spline direction
of the drive control surface.
CRSSPL indicates that the major tool path is
to be in the cross spline direction
of the drive control surface.
PLUS indicates that the initial motion
direction is to be in the direction
of increasing parametric value.
MINUS indicates that the initial motion
direction is to be in the direction
of decreasing parametric value.
STEPOV,PLUS indicates that the stepover is to be
MINUS in the direction of increasing
parameter (PLUS) or decreasing
parameter (MINUS), along the alternate
spline direction to that selected for
the major tool path.
1 the final optional parameter, if set
to the scalar value 1 will cause the
first cut vector to be omitted, as for
for SMIL/PATH.
251
Figure 8.14
252
Although feedrates are automatically selected between paths
according to the values specified in the preceding SCON/FEED
statement, no feedrate is generated for the first path. It
is the users responsibility to insert a FEDRAT command before
the SMIL/ZIGZAG command for the first path.
Stepover is controlled by the parameters set in the preceding
SCON/STEPOV statement.
The basic zigzag area clearance path, shown in Figure 8.14 is
a path along the first curve in the initial major direction,
followed by a lift off, as specified in SCON/STEPOV, then a
side step to the next major path at the feedrate selected for
side stepping, on a parallel offset surface, followed by a
plunge at the appropriate feed back to the surface before
moving off back along the next curve in the major direction at
the specified feed.
The following is an extract from the cutter location file,
showing the insertion of feedrates, lift off, stepover and
plunge between passes.
57 POCKET
57 GOTO
57 33.9618015 -15.0001075 25.5262944
36.3968337 -15.0001086 25.7287396
40.0002435 -15.0001087 25.8567235
43.7345622 -15.0001078 25.9056393
47.5529528 -15.0001059 25.8720966
51.3971227 -15.0001028 25.7544671
55.2055816 -15.0000984 25.5532068
58.0020993 -15.0000113 25.3487458
60.7147297 -14.9999734 25.1007017
64.1570027 -15.0000877 24.7075939
67.0785479 -15.0000747 24.3260350
70.0000920 -15.0000688 23.9134241
57 FEDRAT/ 200.0000
57 GOTO
57 70.0000253 -15.0002272 28.9957739
70.0000868 -17.2750440 28.7257518
70.0000815 -20.1944494 28.2976792
70.0002576 -20.7347035 28.2082598
57 FEDRAT/
57 GOTO
57 70.0000790 -20.7347249 23.0930685
253
Figure 8.15
254
57 FEDRAT/ 100.0000
57 GOTO
57 65.7345272 -20.7347280 23.6098304
62.2279969 -20.7346400 23.9676527
58.4820805 -20.7347431 24.2668810
54.5071686 -20.7347467 24.5004211
50.3947909 -20.7347528 24.6577347
46.2183950 -20.7347552 24.7328730
42.0598344 -20.7347560 24.7225200
37.9910331 -20.7347551 24.6263355
35.0479674 -20.7346842 24.4997095
32.5242139 -20.7340728 24.3496347
29.9999189 -20.7339826 24.1572735
The final tool position of a ZIGZAG area clearance sequence is
at the end of the last path in the major direction, in contact
with the surface.
If a zero lift off is requested the lift off and plunge
records will be omitted and a path similar to that shown in
Figure 8.15 will result. The cutter location file for which
is listed in Section 8.4.4.
In order that SMIL/ZIGZAG can be successfully processed, the
part surface, drive control parameters, tool axis orientation,
feedrates and stepover parameters must have been
satisfactorily defined by preceding SCON statements.
The second type of area clearance, PICKFD, produces a tool
path which gives unidirectional machining passes, so that all
material removal is done by either climb or conventional
milling. As for ZIGZAG area clearance the user can select
the major and minor directions, the direction of cut, and the
direction of stepover. The boundaries of the region to be
machined are defined by the preceding SCON/DS statement and
the clearance plane to which the tool is retracted and across
which the tool is traversed between machining passes, is
defined by the preceding SCON/FEED,plane statement.
255
256
The command format is
SMIL/PICKFD,DS,PARAM,ust,vst, TANSPL, PLUS ,STEPOV, PLUS ›,1!
CRSSPL MINUS MINUS
where ust,vst are the parameters of the drive
control point at which the PICKFD path
is to begin.
TANSPL indicates that the major tool path is
to be in the tangent spline direction
of the drive control surface.
CRSSPL indicates that the major tool path is
to be in the cross spline direction of
the drive control surface.
PLUS indicates that the machining direction
is to be in the direction of
increasing parametric value.
MINUS indicates that the machining direction
is to be in the direction of
decreasing parametric value.
STEPOV,PLUS indicates that the direction of
MINUS stepover is to be along the alternate
spline direction to that selected for
the machining passes.
PLUS for increasing parameter.
MINUS for decreasing parameter.
1 the final optional parameter if set to
the scalar value 1 will cause the
first cut vector to be omitted, as for
SMIL/PATH.
Feedrates are automatically selected between paths according
to the values specified in the preceding SCON/FEED statement.
Note that no feedrate is generated for the first path, it is
the users responsibility to select this explicitly.
Stepover is controlled by the parameters set in the preceding
SCON/STEPOV statement.
257
Figure 8.16
258
The basic pick and feed area clearance tool path, shown in
Figure 8.16, is a machining pass along the first curve in the
selected major direction, from the start point to the defined
extent (2), followed by a retraction to (3) and traverse back
across the clearance plane, at the traverse feedrate, f4 to a
position above the start of the path (4). The cutter then
plunges to its initial position (5) at the plunge feed, f3,
before lifting off (6) and stepping over to a point above the
start of the next path (7), and the stepover feed, f2.
Finally the tool plunges to the start of the next path (8) at
the plunge feed ready to repeat the sequence. The final tool
position of a PICKFD area clearance sequence is at the end of
the last machining pass in contact with the surface.
The following extract from the cutter location file,
illustrates the tool path generated showing the insertion of
feedrates and additional movements between each machining
pass.
53 POCKET
53 GOTO
53 29.9999405 -15.0001048 25.2813363
32.9618015 -15.0001075 25.5262944
36.3968337 -15.0001086 25.7287396
40.0002435 -15.0001087 25.8567235
43.7345622 -15.0001078 25.9056393
47.5529528 -15.0001059 25.8720966
51.3971227 -15.0001028 25.7544671
55.2055816 -15.0000984 25.5532068
58.0020993 -15.0000113 25.3487458
60.7147297 -14.9999734 25.1007017
64.1570027 -15.0000877 24.7075939
67.0785479 -15.0000747 24.3260350
70.0000920 -15.0000688 23.9134241
53 FEDRAT/ 3000.0000
53 GOTO
53 70.0000920 -15.0000688 40.0000000
29.9999405 -15.0001048 40.0000000
53 FEDRAT/ 50.0000
53 GOTO
53 29.9999405 -15.0001048 25.2813363
259
53 FEDRAT/ 200.0000
53 GOTO
53 29.9999035 -15.0000595 30.3711513
29.9991972 -15.8256773 29.8765466
29.9999480 -20.7347432 29.2927104
53 FEDRAT/ 50.0000
53 GOTO
53 29.9999463 -20.7347486 24.1571047
53 FEDRAT/ 100.0000
53 GOTO
53 29.9999463 -20.7347486 24.1571047
33.2091889 -20.7347521 24.3942471
36.8984623 -20.7347546 24.5851539
40.7859712 -20.7347559 24.7018316
44.8325220 -20.7347557 24.7389869
48.9817079 -20.7347538 24.6926526
53.1592948 -20.7347502 24.5612066
57.2868282 -20.7347450 24.3458405
60.3006424 -20.7346830 24.1317031
63.2109600 -20.7346677 23.8753032
66.6054542 -20.7347317 23.5104487
70.0000809 -20.7347202 23.0930691
If zero lift off is requested the additional moves between the
machining passes are fewer, as shown in Figure 8.17 namely,
retraction to (3) and traverse across the clearance plane to a
position above the start point of the current pass (4), plunge
to the start point (5), and finally stepover in contact with
the surface to the start of the next pass (6). Comparison of
the following CLFILE extract with the previous one illustrates
the differences in detail.
64.1570027 -15.0000877 24.7075939
67.0785479 -15.0000747 24.3260350
70.0000920 -15.0000688 23.9134241
54 FEDRAT/ 3000.0000
54 GOTO
54 70.0000920 -15.0000688 40.0000000
29.9999405 -15.0001048 40.0000000
54 FEDRAT/ 50.0000
260
Figure 8.17
261
54 GOTO
54 29.9999405 -15.0001048 25.2813363
54 FEDRAT/ 200.0000
54 GOTO
54 29.9986448 -18.0325112 24.7253928
29.9999474 -20.7347487 24.1571048
54 FEDRAT/ 100.0000
54 GOTO
54 29.9999463 -20.7347486 24.1571047
33.2091889 -20.7347521 24.3942471
36.8984623 -20.7347546 24.5851539
40.7859712 -20.7347559 24.7018316
Before SMIL/PICKFD can be successfully processed, the part
surface, drive control parameters, tool axis orientation,
feedrates, stepover parameters and clearance plane must have
been satisfactorily defined by preceding SCON statements.
The following table summarises the SCON statements which must
be satisfactorily defined before a particular type of SMIL
statement can be successfully processed.
----------------------------------------------------
: : SMIL/ :
----------------------------------------------------
: SCON/ : POSN PATH ZIGZAG PICKFD :
----------------------------------------------------
: PS : * * * * :
: : :
: DS : * * * * :
: : :
: AXIS : * * * * :
: : :
: FEED : * * :
: : :
: STEPOV : * * :
: : :
: FEED,plane : * :
----------------------------------------------------
262
If any of the required items have not been satisfactorily
defined then ERROR 3565 will be indicated and a summary of the
status of all the SCON data areas, together with the statement
sequence number, error number and other internal variables
(see Section 8.8) are printed on the verification listing. A
positive value (121) indicates a SCON block has been
satisfactorily defined and a negative value (-121) that a
block is undefined. For example,
DS = 121 PS = 121 FEED = -121 STOV = -121 AXIS = 121
CPLN = -121
would indicate that DS,PS and AXIS have been satisfactorily
defined and FEED,STEPOV and clearance plane (CPLN) are
undefined.
When an error occurs during regional milling, the error number
is passed to the CLEDITOR for subsequent ouput on the
verification listing and processing is restarted in the same
manner as for an ARELEM error. The error numbers for
regional milling are in the range 3520 to 3599, and are
detailed in subsections 8.8.2 to 8.8.4.
In addition for each occurrence of an error resulting from a
SCON or SMIL statement during the Execution phase, a short
block of information consisting of the input statement
sequence number, error number and the values of some useful
internal variables is printed.
For both SCON and SMIL the values of the following internal
variables are then printed out.
ISEQ input statement sequence.
NLST address in BLANK COMMON of the last internal
parameter for the current input statement.
NLEN number of internal parameters for the current
input statement.
IRR error number.
ICUR address in BLANK COMMON of the internal
parameter being processed when the error
occurred.
IRBS base number for the error messages.
= 3520 for SCON errors
= 3550 for SMIL errors
263
Finally in the case of SMIL a summary of the status of the
SCON data areas is printed. This is particularly useful in
identifying which block of SCON data is undefined when error
3565 occurs. A positive value (121) indicates that a data area
has been satisfactorily defined and a negative value (-121)
that it is undefined. The data areas are identified as follows,
DS drive control parameters
PS part surface data
FEED feed rate values
STOV stepover parameters
AXIS tool axis orientation
CPLN clearance plane.
To illustrate how the diagnostic output can be used to
identify the cause of an error, consider the following
erroneous coding.
9. P1 = POINT/0,0,20
.
.
.
45. SCON/DS,DS1,PARAM,0,1,0,1,ON,NORMAL
46. SCON/PS,TO,PS0,MINUS,0
47. SCON/AXIS,P1
48. SMIL/PICKFD,DS,PARAM,0,0,TANSPL,PLUS,
STEPOV,PLUS
which would give the following diagnostic output,
***** DEFINITION ERROR 3521 ISN 47 FROM SUBROUTINE SCON *****
A MINOR WORD OR CANONICAL FORM IN THE INPUT STREAM
IS IN THE WRONG POSITION OR INVALID.
ISEQ = 47 NLST = 49 NLEN = 9 IRR = 3521 ICUR = 45 IRBS = 3520
END = SMIL
ISEQ = 48 NLST = 61 NLEN = 21 IRR = 3565 ICUR = 61 IRBS = 3550
DS = 121 PS = 121 FEED = -121 STOV = =121 AXIS = -121
CPLN = -121
***** RESTART DIAGNOSTIC 3565 ISN 51 FROM SUBROUTINE SMIL *****
AN 'SCON' DATA AREA (DS,PS,FEED,ECT.) HAS NOT BEEN
DEFINED OR HAS BEEN INCORRECTLY DEFINED.
264
The first error 3521 results because P1 is a point not a
vector. In this case it is easily recognized, if not,
inserting PPOPTN/INTLNG,ON before the offending statement will
give a print of the internal parameters set up for the
statement, as follows.
47. SCON/AXIS,P1
MOVE 3 $$TAB $ 146.
MOVE 4 $$TAB $$ AXIS
MOVE 5 $$TAB $ 19.
REPL 3 6 $$TAB 0 P1
MOVE 2 $$TAB $ 9.
CALL APT110 $$ SCON -
Then by considering the values of NLST,NLEN and ICUR the
offending item in the input statement can be identified. In
this case, NLST = 49, NLEN = 9 and ICUR = 45, therefore the
input statement parameters will start at (NLST-NLEN)=40 so the
offending item is in location 5 from the start, (ICUR-start).
Examining the internal language print above, it can be seen
that the fifth entry in $$TAB is 19, which is the internal
code for a point, and that the values defining the point are
the coordinates of P1 which are transferred to the next three
locations by the REPL instruction. It is not necessary for
the user to know and understand all the internal codes used by
the system, since in general the parameters stored in $$TAB
are in pairs, the first item is the internal code and the
second the character form of the input parameter,
e.g. MOVE 3 $$TAB $ 146.
MOVE 4 $$TAB $$ AXIS.
mean that the 3rd entry in $$TAB is 146
and the 4th entry in $$TAB is AXIS.
The second error 3563 indicates that an 'SCON' data area has
either not been defined or was incorrectly defined.
Examining the first line of internal variables, it can be seen
that all the parameters in the SMIL statement have been
accepted, since NLST and ICUR are both 61. Examining the
second line, which gives the status of the SCON data areas, it
can be seen that only DS and PS have been satisfactorily
defined. FEED, STOV, AXIS and CPLN are all undefined or
incorrectly defined. AXIS has obviously been incorrectly
defined because of the previous error, the others however have
not been defined and by referring to Section 8.7.5 it will be
noted that for SMIL/PICKFD all the data areas must be defined
for successful processing to occur.
265
The following error messages may occur whilst processing an
SCON statement. See preceding Sections 8.8 and 8.8.1 for a
detailed explanation of additional diagnostic information.
3521 A MINOR WORD OR CANONICAL FORM IN THE INPUT
STREAM IS IN THE WRONG POSITION OR INVALID
Ref: 8.6.1, 8.8.1
3522 AN INPUT CANNICAL FORM HAS NOT BEEN DEFINED
PROPERLY
Ref: 8.6.1, 8.6.2
3523 AN INPUT CANONICAL FORM IS NOT SUITABLE FOR
THIS APPLICATION
Ref: 8.6.2
3524 TOO MANY OR FEW PARAMETERS HAVE BEEN INPUT
Ref: 8.6.4, 8.6.5
The error messages that can occur whilst processing an SMIL
command fall into two categories, those which are of a
semantic origin or relate to the status of required parameters
and those which occur when attempting to calculate cutter
positions. This last group are detected by the subroutine
PATH and are detailed in the next section.
The first group are detailed below. An explanation of the
additional diagnostic data produced during the Execution Phase
is given in the preceding Sections 8.8 and 8.8.1.
3561 A MINOR WORD OR CANONICAL FORM IN THE INPUT STREAM
IS IN THE WRONG POSITION OR INVALID
Ref: 8.7
3562 AN INPUT CANONICAL FORM HAS NOT BEEN DEFINED
PROPERLY
Ref: 8.7
3563 AN INPUT CANONICAL FORM IS NOT SUITABLE FOR THIS
APPLICATION
Ref: 8.7.1, 8.7.2
266
3464 TOO MANY OR FEW PARAMETERS HAVE BEEN INPUT
3565 AN SCON DATA AREA (DS,PS,FEED,ETC.) HAS NOT BEEN
DEFINED OR HAS BEEN INCORRECTLY DEFINED
Ref: 8.6.7, 8.7.5, 8.8.1
3566 GENERAL APT ARELEM CONDITIONS FOR REGIONAL
MILLING ARE INVALID (PROBABLY UNACCEPTABLE
CUTTER TYPE)
Ref: 8.5
3567 PART OR DRIVE GEOMETRY COULD NOT BE FETCHED
BECAUSE OF DEFINITION ERROR ON SPACE
LIMITATION
Ref: 8.7
The following error messages can occur whilst attempting to
calculate cutter positions when processing an SMIL command.
See Sections 8.8 and 8.8.1 for a detailed explanation of
additional diagnostic data provided.
3551 THE CUTTER COULD NOT CONTACT THE PART SURFACE
FROM THE PRESENT POSITION
Ref: 8.6.2
3552 THE CUTTER COULD NOT MAKE A PROPER STEPOUT FROM
THE CURRENT LOCATION
Ref: 8.5
3553 MORE CL POINTS WERE GENERATED IN A SINGLE PATH
THAN PERMITTED BY NUMPTS SETTING
Ref: 8.5
3554 THE TOTAL LENGTH OF THE CURRENT CUTTER PATH
EXCEEDED THE MAXDP SETTING
Ref: 8.5
267
268